@umriss-ui/schedule 0.41.1 → 0.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -3
- package/README.md +15 -6
- package/dist/schedule.js +1 -1
- package/docs/llms-full.md +16 -16
- package/package.json +8 -7
package/CHANGELOG.md
CHANGED
|
@@ -4,9 +4,11 @@ This document describes what changes for **callers** of the package: exports,
|
|
|
4
4
|
props, behaviour.
|
|
5
5
|
|
|
6
6
|
**The numbers.** The middle digit rises when something is added; the last one
|
|
7
|
-
when something is repaired.
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
when something is repaired. The six packages are released in step, and a rename
|
|
8
|
+
keeps its old name for one further minor, with a warning, before the minor after
|
|
9
|
+
it removes the name ([the upgrade promise, ADR-0066](../../docs/adr/0066-one-number-peers-over-the-minor-a-rename-lives-one-minor.md)).
|
|
10
|
+
Whatever changes existing behaviour stands under a heading "Changed" of its own,
|
|
11
|
+
no matter which digit rose, with a `Migration:` line.
|
|
10
12
|
|
|
11
13
|
From 0.34.0 the packages share one number - five, and six from 0.40.0, when the dashboard joined: they are released together, and a package without a change of its own still gets a heading for it.
|
|
12
14
|
|
|
@@ -16,12 +18,30 @@ moves from here under the rule above.
|
|
|
16
18
|
|
|
17
19
|
---
|
|
18
20
|
|
|
21
|
+
## 0.42.0 – A schedule under test, and quiet on a server (Oct. 2026)
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
|
|
25
|
+
- **Loadable in Vitest and Jest** with core's and charts' lines one after the other: the `.` entry carries a `default` condition, the README's "Testing" section says how the two setup files combine, and the release check runs a test of a lane with a bar under both runners.
|
|
26
|
+
- **TypeScript 5.4 or newer**, stated in the Install section (the declarations use `NoInfer`); the release check compiles a strict consumer under 5.4 as well as the current TypeScript.
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
|
|
30
|
+
- **The peer range on core and charts covers the minor: `^0.42.0`.** It named the exact patch before (`^0.41.1`), so npm refused an install beside an earlier patch of core with `ERESOLVE`; the six packages move under one number and a minor moves the range (ADR-0066).
|
|
31
|
+
- Migration: nothing to change; any 0.42 patch of `@umriss-ui/core` and `@umriss-ui/charts` satisfies the peers.
|
|
32
|
+
- **On a server the schedule's description holds no summary.** A server knows no lanes, so it described "0 lanes, 0 subtasks" for a plan that had both; the summary arrives with the lanes after mount, and the key help stays.
|
|
33
|
+
- Migration: nothing to change; a server-rendered test that read the summary's counts finds the key help only.
|
|
34
|
+
- **A date or time rendered on a server is empty until the page has hydrated** (core 0.42.0, ADR-0067). Only the browser knows the reader's zone, so a server in another zone wrote a different text and React raised hydration error #418; the schedule now shows its dates and times right after hydration.
|
|
35
|
+
- Migration: nothing to change in an application that renders in the browser; a test that renders to a string and expects a date finds an empty text - render it in the DOM instead.
|
|
36
|
+
|
|
19
37
|
## 0.41.1 – The documentation runs where the code is (Oct. 2026)
|
|
20
38
|
|
|
21
39
|
### Changed
|
|
22
40
|
|
|
23
41
|
- **The documentation is no longer hosted.** The site on GitHub Pages is gone, and the package's `homepage` now names its README on GitHub. The running documentation of this version opens from a checkout of the tag `schedule-v0.41.1` with `pnpm install` and `pnpm start`, at `http://localhost:4170/umriss-ui/` - the repository README says how, under "See it running".
|
|
42
|
+
- Migration: nothing to change; a bookmark or link to the old hosted site no longer resolves - open the documentation from a checkout of the tag, as described above.
|
|
24
43
|
- **`docs/llms-full.md` in the package stands on its own:** a link to another page points at that page's heading in the same file, a link to a place on the site that the file does not hold keeps only its text, and ADR-0032 is linked at this version's tag.
|
|
44
|
+
- Migration: nothing to change; look at any tool that read `docs/llms-full.md` and followed its links to the site, which now find the heading in the same file.
|
|
25
45
|
|
|
26
46
|
## 0.41.0 – Strict consumers compile (Oct. 2026)
|
|
27
47
|
|
package/README.md
CHANGED
|
@@ -19,17 +19,18 @@ Both `@umriss-ui/core` and `@umriss-ui/charts` are **peer dependencies**
|
|
|
19
19
|
(ADR-0022): the schedule takes its styling regime, provider, formats and
|
|
20
20
|
wording from core, and its time arithmetic — the affine scale, the time steps,
|
|
21
21
|
the working calendar, the canvas colour resolution — from charts. React 19 or
|
|
22
|
-
newer as a peer as well.
|
|
22
|
+
newer as a peer as well. TypeScript 5.4 or newer (the declarations use `NoInfer`).
|
|
23
23
|
|
|
24
24
|
The package ships ES2022 syntax; an application that serves older browsers
|
|
25
25
|
transpiles it itself.
|
|
26
26
|
|
|
27
27
|
Every entry begins with `"use client"`, the directive a framework
|
|
28
|
-
with Server Components reads to treat a module as client code.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
with Server Components reads to treat a module as client code. A schedule is declared by its hook,
|
|
29
|
+
`useSchedule`, so the declaration lives in a Client Component file: a Server Component renders that
|
|
30
|
+
file and hands it the rows and subtasks. On a server a schedule gives its labelled frame and empty
|
|
31
|
+
canvases; the lanes, the subtasks and the summary arrive on the client after mount, and a date or
|
|
32
|
+
time is empty until the page has hydrated, because only the browser knows the reader's zone. No test
|
|
33
|
+
runs inside such a framework: the schedule is rendered to a string in a test.
|
|
33
34
|
|
|
34
35
|
## The smallest schedule that runs
|
|
35
36
|
|
|
@@ -199,6 +200,14 @@ Done from this list: **blocked time** per lane and **milestones**.
|
|
|
199
200
|
* [`../../docs/design-language.md`](../../docs/design-language.md) — the design
|
|
200
201
|
language all five packages share.
|
|
201
202
|
|
|
203
|
+
## Testing
|
|
204
|
+
|
|
205
|
+
Tested under Vitest 5 and Jest 30 on jsdom. A schedule draws with core and charts, so it needs the
|
|
206
|
+
runner lines and the setup file of [`@umriss-ui/core`'s Testing section](../core/README.md#testing)
|
|
207
|
+
and the setup file of [`@umriss-ui/charts`'](../charts/README.md#testing), one file after the other
|
|
208
|
+
in your `umriss.setup.js`. `check:dist` runs a test of the installed schedule (a lane with a bar)
|
|
209
|
+
with exactly those files.
|
|
210
|
+
|
|
202
211
|
## Licence
|
|
203
212
|
|
|
204
213
|
MIT — see [`LICENSE`](LICENSE).
|
package/dist/schedule.js
CHANGED
|
@@ -999,7 +999,7 @@ function Ln(s) {
|
|
|
999
999
|
},
|
|
1000
1000
|
Z.count
|
|
1001
1001
|
) }),
|
|
1002
|
-
/* @__PURE__ */ m(fe, { id: it, children: `${P.scheduleSummary({ ...Mt, from: le(Mt.from), to: le(Mt.to) })} ${P.scheduleKeyHelp}` })
|
|
1002
|
+
/* @__PURE__ */ m(fe, { id: it, children: v === e.getServerSnapshot() ? P.scheduleKeyHelp : `${P.scheduleSummary({ ...Mt, from: le(Mt.from), to: le(Mt.to) })} ${P.scheduleKeyHelp}` })
|
|
1003
1003
|
]
|
|
1004
1004
|
}
|
|
1005
1005
|
),
|
package/docs/llms-full.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# @umriss-ui/schedule 0.
|
|
1
|
+
# @umriss-ui/schedule 0.42.0
|
|
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
|
|
|
@@ -1523,11 +1523,11 @@ no subtask yet; the caller creates one, with its own identity, from
|
|
|
1523
1523
|
|
|
1524
1524
|
#### Known limits
|
|
1525
1525
|
|
|
1526
|
-
- No dependency types, critical path or auto-scheduling: the application decides where work goes, the schedule shows the result and its findings ([ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
1526
|
+
- No dependency types, critical path or auto-scheduling: the application decides where work goes, the schedule shows the result and its findings ([ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.42.0/docs/adr/0032-what-umriss-is-not.md)).
|
|
1527
1527
|
- No milestones yet: a point in time on a lane has no mark of its own.
|
|
1528
1528
|
- A dependency joins two subtasks of one task; dependencies across tasks are not yet possible.
|
|
1529
1529
|
|
|
1530
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
1530
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.42.0/docs/adr/0032-what-umriss-is-not.md).
|
|
1531
1531
|
|
|
1532
1532
|
## Plan
|
|
1533
1533
|
|
|
@@ -1969,7 +1969,7 @@ The keys of [First schedule](#first-schedule) apply here.
|
|
|
1969
1969
|
|
|
1970
1970
|
- A folded group shows no summary - no utilisation band, no bar spanning its work: a computed claim would look like a drawn fact ([ADR-0025](https://github.com/romanhaendler/umriss-ui/blob/main/docs/adr/0025-a-lane-group-is-structure-over-lanes-never-a-lane.md)).
|
|
1971
1971
|
|
|
1972
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
1972
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.42.0/docs/adr/0032-what-umriss-is-not.md).
|
|
1973
1973
|
|
|
1974
1974
|
### Subtasks
|
|
1975
1975
|
|
|
@@ -2833,7 +2833,7 @@ From `ScheduleView` — the full table stands on [View](#view).
|
|
|
2833
2833
|
|
|
2834
2834
|
- No stacked layout on request yet: an overlap is always drawn offset, as the finding it is.
|
|
2835
2835
|
|
|
2836
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
2836
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.42.0/docs/adr/0032-what-umriss-is-not.md).
|
|
2837
2837
|
|
|
2838
2838
|
### Dependencies
|
|
2839
2839
|
|
|
@@ -3203,9 +3203,9 @@ type DependencyEnds = "dot" | "none";
|
|
|
3203
3203
|
|
|
3204
3204
|
#### Known limits
|
|
3205
3205
|
|
|
3206
|
-
- Only finish-to-start within one task; no dependency types and no critical path ([ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
3206
|
+
- Only finish-to-start within one task; no dependency types and no critical path ([ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.42.0/docs/adr/0032-what-umriss-is-not.md)).
|
|
3207
3207
|
|
|
3208
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
3208
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.42.0/docs/adr/0032-what-umriss-is-not.md).
|
|
3209
3209
|
|
|
3210
3210
|
### Routes
|
|
3211
3211
|
|
|
@@ -4908,7 +4908,7 @@ From `ScheduleView` — the full table stands on [View](#view).
|
|
|
4908
4908
|
|
|
4909
4909
|
- One task at a time: there is no multiple selection.
|
|
4910
4910
|
|
|
4911
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
4911
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.42.0/docs/adr/0032-what-umriss-is-not.md).
|
|
4912
4912
|
|
|
4913
4913
|
### Interactions
|
|
4914
4914
|
|
|
@@ -5990,7 +5990,7 @@ From `ScheduleView` — the full table stands on [View](#view).
|
|
|
5990
5990
|
|
|
5991
5991
|
- Only the view is shared - the span and the folded groups, not the selection, the hover or the vertical scroll.
|
|
5992
5992
|
|
|
5993
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
5993
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.42.0/docs/adr/0032-what-umriss-is-not.md).
|
|
5994
5994
|
|
|
5995
5995
|
### The handle
|
|
5996
5996
|
|
|
@@ -6386,7 +6386,7 @@ The keys of [First schedule](#first-schedule) apply here.
|
|
|
6386
6386
|
|
|
6387
6387
|
- Overlapping work is marked, not packed into sub-lanes; stacked overlap is not built yet.
|
|
6388
6388
|
|
|
6389
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
6389
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.42.0/docs/adr/0032-what-umriss-is-not.md).
|
|
6390
6390
|
|
|
6391
6391
|
## Editing
|
|
6392
6392
|
|
|
@@ -6761,10 +6761,10 @@ From `Overlap` — the full table stands on [Findings as data](#findings-as-data
|
|
|
6761
6761
|
|
|
6762
6762
|
#### Known limits
|
|
6763
6763
|
|
|
6764
|
-
- No undo: your application owns the data, and with it the history ([ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
6764
|
+
- No undo: your application owns the data, and with it the history ([ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.42.0/docs/adr/0032-what-umriss-is-not.md)).
|
|
6765
6765
|
- The keys move work in time only; a lane change needs the pointer.
|
|
6766
6766
|
|
|
6767
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
6767
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.42.0/docs/adr/0032-what-umriss-is-not.md).
|
|
6768
6768
|
|
|
6769
6769
|
### Stretch, lead-in, lead-out
|
|
6770
6770
|
|
|
@@ -6936,7 +6936,7 @@ From `ScheduleView` — the full table stands on [View](#view).
|
|
|
6936
6936
|
|
|
6937
6937
|
- A main time never becomes shorter than one raster step, or a minute without a raster.
|
|
6938
6938
|
|
|
6939
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
6939
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.42.0/docs/adr/0032-what-umriss-is-not.md).
|
|
6940
6940
|
|
|
6941
6941
|
### Snapping
|
|
6942
6942
|
|
|
@@ -7795,7 +7795,7 @@ From `ScheduleView` — the full table stands on [View](#view).
|
|
|
7795
7795
|
|
|
7796
7796
|
- A rule that changes while a drag runs is noticed at the drop, not before.
|
|
7797
7797
|
|
|
7798
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
7798
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.42.0/docs/adr/0032-what-umriss-is-not.md).
|
|
7799
7799
|
|
|
7800
7800
|
### Ripple
|
|
7801
7801
|
|
|
@@ -8080,10 +8080,10 @@ From `ScheduleView` — the full table stands on [View](#view).
|
|
|
8080
8080
|
|
|
8081
8081
|
#### Known limits
|
|
8082
8082
|
|
|
8083
|
-
- No dependency types, slack or critical path: the schedule is no project-planning engine ([ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
8083
|
+
- No dependency types, slack or critical path: the schedule is no project-planning engine ([ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.42.0/docs/adr/0032-what-umriss-is-not.md)).
|
|
8084
8084
|
- A dependency joins subtasks of one task, so work of other tasks is never pushed.
|
|
8085
8085
|
|
|
8086
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
8086
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.42.0/docs/adr/0032-what-umriss-is-not.md).
|
|
8087
8087
|
|
|
8088
8088
|
## Measuring
|
|
8089
8089
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@umriss-ui/schedule",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.42.0",
|
|
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",
|
|
@@ -50,7 +50,8 @@
|
|
|
50
50
|
"exports": {
|
|
51
51
|
".": {
|
|
52
52
|
"types": "./dist/index.d.ts",
|
|
53
|
-
"import": "./dist/schedule.js"
|
|
53
|
+
"import": "./dist/schedule.js",
|
|
54
|
+
"default": "./dist/schedule.js"
|
|
54
55
|
},
|
|
55
56
|
"./styles.css": {
|
|
56
57
|
"types": "./dist/styles.d.ts",
|
|
@@ -58,10 +59,10 @@
|
|
|
58
59
|
}
|
|
59
60
|
},
|
|
60
61
|
"peerDependencies": {
|
|
62
|
+
"@umriss-ui/charts": "^0.42.0",
|
|
63
|
+
"@umriss-ui/core": "^0.42.0",
|
|
61
64
|
"react": ">=19",
|
|
62
|
-
"react-dom": ">=19"
|
|
63
|
-
"@umriss-ui/charts": "^0.41.1",
|
|
64
|
-
"@umriss-ui/core": "^0.41.1"
|
|
65
|
+
"react-dom": ">=19"
|
|
65
66
|
},
|
|
66
67
|
"devDependencies": {
|
|
67
68
|
"@fontsource/geist-mono": "^5.3.0",
|
|
@@ -75,8 +76,8 @@
|
|
|
75
76
|
"typescript": "^5.6.3",
|
|
76
77
|
"vite": "^6.0.0",
|
|
77
78
|
"vite-plugin-dts": "^4.3.0",
|
|
78
|
-
"@umriss-ui/
|
|
79
|
-
"@umriss-ui/
|
|
79
|
+
"@umriss-ui/core": "0.42.0",
|
|
80
|
+
"@umriss-ui/charts": "0.42.0",
|
|
80
81
|
"@umriss-ui/demo": "0.0.0"
|
|
81
82
|
},
|
|
82
83
|
"scripts": {
|