@umriss-ui/schedule 0.43.0 → 0.44.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 +15 -0
- package/README.md +2 -0
- package/dist/index.d.ts +4 -33
- package/dist/schedule.js +1051 -1032
- package/docs/llms-full.md +131 -41
- package/package.json +5 -5
package/docs/llms-full.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# @umriss-ui/schedule 0.
|
|
1
|
+
# @umriss-ui/schedule 0.44.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
|
|
|
@@ -967,6 +967,12 @@ From `ScheduleProps` — the full table stands on [First schedule](#first-schedu
|
|
|
967
967
|
| [`height`](#first-schedule) | `number` | fills the frame, at least 400 px | Height in CSS pixels, both bands included, fixed. Left out, the schedule fills its frame - a stretched grid cell, a card the grid stretches, a container of definite height - and never goes below 400 px, which is also its height in a frame without one. A different floor goes through `style`'s `minHeight` ([ADR-0050](https://github.com/romanhaendler/umriss-ui/blob/main/docs/adr/0050-a-chart-fills-its-frame-never-below-its-floor.md)). The width is the host's. |
|
|
968
968
|
| [`children`](#first-schedule) | `ReactNode` | — | `Lane`, `Dependencies` and `Subtasks`, in the order they are to stand and be drawn. |
|
|
969
969
|
|
|
970
|
+
###### Accessibility
|
|
971
|
+
|
|
972
|
+
| Prop | Type | Default | Description |
|
|
973
|
+
|---|---|---|---|
|
|
974
|
+
| [`aria-label`](#first-schedule) *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38". |
|
|
975
|
+
|
|
970
976
|
From `LaneProps` — the full table stands on [Lanes](#lanes).
|
|
971
977
|
|
|
972
978
|
| Prop | Type | Default | Description |
|
|
@@ -1426,7 +1432,7 @@ Under forced colours the plot paints itself in the system colours: the work in t
|
|
|
1426
1432
|
|
|
1427
1433
|
| Prop | Type | Default | Description |
|
|
1428
1434
|
|---|---|---|---|
|
|
1429
|
-
| `ref` | `Ref<HTMLDivElement> \|
|
|
1435
|
+
| `ref` | `Ref<HTMLDivElement> \| undefined` | — | Receives the root element. |
|
|
1430
1436
|
| `height` | `number` | fills the frame, at least 400 px | Height in CSS pixels, both bands included, fixed. Left out, the schedule fills its frame - a stretched grid cell, a card the grid stretches, a container of definite height - and never goes below 400 px, which is also its height in a frame without one. A different floor goes through `style`'s `minHeight` ([ADR-0050](https://github.com/romanhaendler/umriss-ui/blob/main/docs/adr/0050-a-chart-fills-its-frame-never-below-its-floor.md)). The width is the host's.<br>Shown in: [A day of tours](#first-schedule), [Start from an empty plan](#first-schedule), [Plan a day in the machine shop](#first-schedule) and 80 more |
|
|
1431
1437
|
| `laneHeight` | `number` | `44` | Height of one lane in pixels at the default font size of 16 px; the schedule multiplies it by the root font size over 16 px when that ratio is above 1, so lane names keep their room in a reader's larger font.<br>Shown in: [Scroll more lanes than fit (Lanes)](#lanes), [Measure a plan (Benchmark)](#benchmark) |
|
|
1432
1438
|
| `headerWidth` | `number` | `160` | Width of the lane headers in pixels - at most 40 % of the schedule, so that on a phone the plot keeps the larger part.<br>Shown in: [What a lane header says (Lanes)](#lanes), [Scroll more lanes than fit (Lanes)](#lanes), [Group lanes under a head (Lane groups)](#lane-groups) and 1 more |
|
|
@@ -1454,20 +1460,15 @@ Under forced colours the plot paints itself in the system colours: the work in t
|
|
|
1454
1460
|
| `onIntent` | `(intent: ``Intent``) => void` | — | Called once per intent when a drag ends. The data changes only if the caller changes it.<br>Shown in: [Read a folded group (Lane groups)](#lane-groups), [Cut the nights out of the axis (Time axis and calendar)](#time-axis-and-calendar), [Plan work around someone's leave (Blocked time)](#blocked-time) and 18 more |
|
|
1455
1461
|
| `onInteraction` | `(interaction: `[`ScheduleInteraction`](#interactions)`) => void` | — | Click, context menu and hover, with what the pointer is on and where. While it is set, a right-click opens no browser menu.<br>Shown in: [Report what the pointer is on (Interactions)](#interactions), [Open a context menu (Interactions)](#interactions), [Show a detail panel instead (Tooltip)](#tooltip) and 3 more |
|
|
1456
1462
|
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
##### Types on this page
|
|
1460
|
-
|
|
1461
|
-
###### `ScheduleHandle`
|
|
1462
|
-
|
|
1463
|
-
What a schedule offers a caller imperatively: the arithmetic between a
|
|
1464
|
-
point on the screen and a time on a lane. Everything else is props.
|
|
1463
|
+
###### Accessibility
|
|
1465
1464
|
|
|
1466
1465
|
| Prop | Type | Default | Description |
|
|
1467
1466
|
|---|---|---|---|
|
|
1468
|
-
| `
|
|
1469
|
-
|
|
1470
|
-
|
|
1467
|
+
| `aria-label` *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38".<br>Shown in: [A day of tours](#first-schedule), [Start from an empty plan](#first-schedule), [Plan a day in the machine shop](#first-schedule) and 82 more |
|
|
1468
|
+
|
|
1469
|
+
Also takes every attribute of `<div>` – without `aria-label`, `children`.
|
|
1470
|
+
|
|
1471
|
+
##### Types on this page
|
|
1471
1472
|
|
|
1472
1473
|
###### `CalendarInput`
|
|
1473
1474
|
|
|
@@ -1665,11 +1666,11 @@ no subtask yet; the caller creates one, with its own identity, from
|
|
|
1665
1666
|
|
|
1666
1667
|
#### Known limits
|
|
1667
1668
|
|
|
1668
|
-
- 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.
|
|
1669
|
+
- 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.44.0/docs/adr/0032-what-umriss-is-not.md)).
|
|
1669
1670
|
- No milestones yet: a point in time on a lane has no mark of its own.
|
|
1670
1671
|
- A dependency joins two subtasks of one task; dependencies across tasks are not yet possible.
|
|
1671
1672
|
|
|
1672
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
1673
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.44.0/docs/adr/0032-what-umriss-is-not.md).
|
|
1673
1674
|
|
|
1674
1675
|
## Plan
|
|
1675
1676
|
|
|
@@ -2111,7 +2112,7 @@ The keys of [First schedule](#first-schedule) apply here.
|
|
|
2111
2112
|
|
|
2112
2113
|
- 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)).
|
|
2113
2114
|
|
|
2114
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
2115
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.44.0/docs/adr/0032-what-umriss-is-not.md).
|
|
2115
2116
|
|
|
2116
2117
|
### Subtasks
|
|
2117
2118
|
|
|
@@ -2425,6 +2426,12 @@ From `ScheduleProps` — the full table stands on [First schedule](#first-schedu
|
|
|
2425
2426
|
| [`label`](#first-schedule) | `(subtask: `[`Subtask`](#subtasks)`) => string` | — | What stands written in a bar: a function from a subtask to a line of text, or nothing for bars without text. The text is cut off with an ellipsis where the bar is too narrow for it and left out where even that would say nothing; a bar that began before the view keeps its text at the view's edge. |
|
|
2426
2427
|
| [`children`](#first-schedule) | `ReactNode` | — | `Lane`, `Dependencies` and `Subtasks`, in the order they are to stand and be drawn. |
|
|
2427
2428
|
|
|
2429
|
+
###### Accessibility
|
|
2430
|
+
|
|
2431
|
+
| Prop | Type | Default | Description |
|
|
2432
|
+
|---|---|---|---|
|
|
2433
|
+
| [`aria-label`](#first-schedule) *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38". |
|
|
2434
|
+
|
|
2428
2435
|
From `LaneProps` — the full table stands on [Lanes](#lanes).
|
|
2429
2436
|
|
|
2430
2437
|
| Prop | Type | Default | Description |
|
|
@@ -2730,6 +2737,12 @@ From `ScheduleProps` — the full table stands on [First schedule](#first-schedu
|
|
|
2730
2737
|
| [`label`](#first-schedule) | `(subtask: `[`Subtask`](#subtasks)`) => string` | — | What stands written in a bar: a function from a subtask to a line of text, or nothing for bars without text. The text is cut off with an ellipsis where the bar is too narrow for it and left out where even that would say nothing; a bar that began before the view keeps its text at the view's edge. |
|
|
2731
2738
|
| [`children`](#first-schedule) | `ReactNode` | — | `Lane`, `Dependencies` and `Subtasks`, in the order they are to stand and be drawn. |
|
|
2732
2739
|
|
|
2740
|
+
###### Accessibility
|
|
2741
|
+
|
|
2742
|
+
| Prop | Type | Default | Description |
|
|
2743
|
+
|---|---|---|---|
|
|
2744
|
+
| [`aria-label`](#first-schedule) *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38". |
|
|
2745
|
+
|
|
2733
2746
|
From `LaneProps` — the full table stands on [Lanes](#lanes).
|
|
2734
2747
|
|
|
2735
2748
|
| Prop | Type | Default | Description |
|
|
@@ -2907,6 +2920,12 @@ From `ScheduleProps` — the full table stands on [First schedule](#first-schedu
|
|
|
2907
2920
|
| [`height`](#first-schedule) | `number` | fills the frame, at least 400 px | Height in CSS pixels, both bands included, fixed. Left out, the schedule fills its frame - a stretched grid cell, a card the grid stretches, a container of definite height - and never goes below 400 px, which is also its height in a frame without one. A different floor goes through `style`'s `minHeight` ([ADR-0050](https://github.com/romanhaendler/umriss-ui/blob/main/docs/adr/0050-a-chart-fills-its-frame-never-below-its-floor.md)). The width is the host's. |
|
|
2908
2921
|
| [`children`](#first-schedule) | `ReactNode` | — | `Lane`, `Dependencies` and `Subtasks`, in the order they are to stand and be drawn. |
|
|
2909
2922
|
|
|
2923
|
+
###### Accessibility
|
|
2924
|
+
|
|
2925
|
+
| Prop | Type | Default | Description |
|
|
2926
|
+
|---|---|---|---|
|
|
2927
|
+
| [`aria-label`](#first-schedule) *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38". |
|
|
2928
|
+
|
|
2910
2929
|
From `LaneProps` — the full table stands on [Lanes](#lanes).
|
|
2911
2930
|
|
|
2912
2931
|
| Prop | Type | Default | Description |
|
|
@@ -2957,7 +2976,7 @@ From `ScheduleView` — the full table stands on [View](#view).
|
|
|
2957
2976
|
|
|
2958
2977
|
- No stacked layout on request yet: an overlap is always drawn offset, as the finding it is.
|
|
2959
2978
|
|
|
2960
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
2979
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.44.0/docs/adr/0032-what-umriss-is-not.md).
|
|
2961
2980
|
|
|
2962
2981
|
### Dependencies
|
|
2963
2982
|
|
|
@@ -3327,9 +3346,9 @@ type DependencyEnds = "dot" | "none";
|
|
|
3327
3346
|
|
|
3328
3347
|
#### Known limits
|
|
3329
3348
|
|
|
3330
|
-
- 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.
|
|
3349
|
+
- 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.44.0/docs/adr/0032-what-umriss-is-not.md)).
|
|
3331
3350
|
|
|
3332
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
3351
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.44.0/docs/adr/0032-what-umriss-is-not.md).
|
|
3333
3352
|
|
|
3334
3353
|
### Routes
|
|
3335
3354
|
|
|
@@ -3517,6 +3536,12 @@ From `ScheduleProps` — the full table stands on [First schedule](#first-schedu
|
|
|
3517
3536
|
| [`attach`](#first-schedule) | [`DependencyAttachment`](#first-schedule)<br>`"centre" \| "nearest"` | `"centre"` | Where a dependency's ends sit on their bars: the `"centre"` of both, or the `"nearest"` edge - which is the shortest line between two stops. Within one lane both mean the middle. A dependency may say otherwise for itself. It changes the picture and never a finding: whether a dependency is violated follows from its `leaves` and `arrives` alone. |
|
|
3518
3537
|
| [`children`](#first-schedule) | `ReactNode` | — | `Lane`, `Dependencies` and `Subtasks`, in the order they are to stand and be drawn. |
|
|
3519
3538
|
|
|
3539
|
+
###### Accessibility
|
|
3540
|
+
|
|
3541
|
+
| Prop | Type | Default | Description |
|
|
3542
|
+
|---|---|---|---|
|
|
3543
|
+
| [`aria-label`](#first-schedule) *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38". |
|
|
3544
|
+
|
|
3520
3545
|
From `LaneProps` — the full table stands on [Lanes](#lanes).
|
|
3521
3546
|
|
|
3522
3547
|
| Prop | Type | Default | Description |
|
|
@@ -3851,6 +3876,12 @@ From `ScheduleProps` — the full table stands on [First schedule](#first-schedu
|
|
|
3851
3876
|
|---|---|---|---|
|
|
3852
3877
|
| [`onIntent`](#first-schedule) | `(intent: `[`Intent`](#first-schedule)`) => void` | — | Called once per intent when a drag ends. The data changes only if the caller changes it. |
|
|
3853
3878
|
|
|
3879
|
+
###### Accessibility
|
|
3880
|
+
|
|
3881
|
+
| Prop | Type | Default | Description |
|
|
3882
|
+
|---|---|---|---|
|
|
3883
|
+
| [`aria-label`](#first-schedule) *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38". |
|
|
3884
|
+
|
|
3854
3885
|
From `LaneProps` — the full table stands on [Lanes](#lanes).
|
|
3855
3886
|
|
|
3856
3887
|
| Prop | Type | Default | Description |
|
|
@@ -4598,6 +4629,12 @@ From `ScheduleProps` — the full table stands on [First schedule](#first-schedu
|
|
|
4598
4629
|
| [`now`](#first-schedule) | `boolean \| number` | `false` | A line marking the present across the lanes: `true` follows the clock by the minute, an instant fixes it there. |
|
|
4599
4630
|
| [`children`](#first-schedule) | `ReactNode` | — | `Lane`, `Dependencies` and `Subtasks`, in the order they are to stand and be drawn. |
|
|
4600
4631
|
|
|
4632
|
+
###### Accessibility
|
|
4633
|
+
|
|
4634
|
+
| Prop | Type | Default | Description |
|
|
4635
|
+
|---|---|---|---|
|
|
4636
|
+
| [`aria-label`](#first-schedule) *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38". |
|
|
4637
|
+
|
|
4601
4638
|
From `LaneProps` — the full table stands on [Lanes](#lanes).
|
|
4602
4639
|
|
|
4603
4640
|
| Prop | Type | Default | Description |
|
|
@@ -4725,6 +4762,12 @@ From `ScheduleProps` — the full table stands on [First schedule](#first-schedu
|
|
|
4725
4762
|
| [`zoomLimits`](#first-schedule) | [`ZoomLimits`](#first-schedule) | one hour to 28 days | The narrowest and widest time span zoom may reach, in milliseconds. |
|
|
4726
4763
|
| [`children`](#first-schedule) | `ReactNode` | — | `Lane`, `Dependencies` and `Subtasks`, in the order they are to stand and be drawn. |
|
|
4727
4764
|
|
|
4765
|
+
###### Accessibility
|
|
4766
|
+
|
|
4767
|
+
| Prop | Type | Default | Description |
|
|
4768
|
+
|---|---|---|---|
|
|
4769
|
+
| [`aria-label`](#first-schedule) *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38". |
|
|
4770
|
+
|
|
4728
4771
|
From `LaneProps` — the full table stands on [Lanes](#lanes).
|
|
4729
4772
|
|
|
4730
4773
|
| Prop | Type | Default | Description |
|
|
@@ -4937,6 +4980,12 @@ From `ScheduleProps` — the full table stands on [First schedule](#first-schedu
|
|
|
4937
4980
|
| [`onSelectedTaskChange`](#first-schedule) | `(task: string \| null, subtask: string \| null) => void` | — | Called when a click selects a task or clears the selection, with the subtask that was clicked - null where the click was on a dependency or on nothing. It is called again when another subtask of the same task is clicked. |
|
|
4938
4981
|
| [`children`](#first-schedule) | `ReactNode` | — | `Lane`, `Dependencies` and `Subtasks`, in the order they are to stand and be drawn. |
|
|
4939
4982
|
|
|
4983
|
+
###### Accessibility
|
|
4984
|
+
|
|
4985
|
+
| Prop | Type | Default | Description |
|
|
4986
|
+
|---|---|---|---|
|
|
4987
|
+
| [`aria-label`](#first-schedule) *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38". |
|
|
4988
|
+
|
|
4940
4989
|
From `LaneProps` — the full table stands on [Lanes](#lanes).
|
|
4941
4990
|
|
|
4942
4991
|
| Prop | Type | Default | Description |
|
|
@@ -5002,7 +5051,7 @@ From `ScheduleView` — the full table stands on [View](#view).
|
|
|
5002
5051
|
|
|
5003
5052
|
- One task at a time: there is no multiple selection.
|
|
5004
5053
|
|
|
5005
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
5054
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.44.0/docs/adr/0032-what-umriss-is-not.md).
|
|
5006
5055
|
|
|
5007
5056
|
### Interactions
|
|
5008
5057
|
|
|
@@ -6021,6 +6070,12 @@ From `ScheduleProps` — the full table stands on [First schedule](#first-schedu
|
|
|
6021
6070
|
| [`height`](#first-schedule) | `number` | fills the frame, at least 400 px | Height in CSS pixels, both bands included, fixed. Left out, the schedule fills its frame - a stretched grid cell, a card the grid stretches, a container of definite height - and never goes below 400 px, which is also its height in a frame without one. A different floor goes through `style`'s `minHeight` ([ADR-0050](https://github.com/romanhaendler/umriss-ui/blob/main/docs/adr/0050-a-chart-fills-its-frame-never-below-its-floor.md)). The width is the host's. |
|
|
6022
6071
|
| [`children`](#first-schedule) | `ReactNode` | — | `Lane`, `Dependencies` and `Subtasks`, in the order they are to stand and be drawn. |
|
|
6023
6072
|
|
|
6073
|
+
###### Accessibility
|
|
6074
|
+
|
|
6075
|
+
| Prop | Type | Default | Description |
|
|
6076
|
+
|---|---|---|---|
|
|
6077
|
+
| [`aria-label`](#first-schedule) *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38". |
|
|
6078
|
+
|
|
6024
6079
|
From `LaneProps` — the full table stands on [Lanes](#lanes).
|
|
6025
6080
|
|
|
6026
6081
|
| Prop | Type | Default | Description |
|
|
@@ -6078,7 +6133,7 @@ From `ScheduleView` — the full table stands on [View](#view).
|
|
|
6078
6133
|
|
|
6079
6134
|
- Only the view is shared - the span and the folded groups, not the selection, the hover or the vertical scroll.
|
|
6080
6135
|
|
|
6081
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
6136
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.44.0/docs/adr/0032-what-umriss-is-not.md).
|
|
6082
6137
|
|
|
6083
6138
|
### Functions on the hook
|
|
6084
6139
|
|
|
@@ -6263,6 +6318,12 @@ From `ScheduleProps` — the full table stands on [First schedule](#first-schedu
|
|
|
6263
6318
|
|---|---|---|---|
|
|
6264
6319
|
| [`onInteraction`](#first-schedule) | `(interaction: `[`ScheduleInteraction`](#interactions)`) => void` | — | Click, context menu and hover, with what the pointer is on and where. While it is set, a right-click opens no browser menu. |
|
|
6265
6320
|
|
|
6321
|
+
###### Accessibility
|
|
6322
|
+
|
|
6323
|
+
| Prop | Type | Default | Description |
|
|
6324
|
+
|---|---|---|---|
|
|
6325
|
+
| [`aria-label`](#first-schedule) *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38". |
|
|
6326
|
+
|
|
6266
6327
|
From `LaneProps` — the full table stands on [Lanes](#lanes).
|
|
6267
6328
|
|
|
6268
6329
|
| Prop | Type | Default | Description |
|
|
@@ -6530,7 +6591,7 @@ The keys of [First schedule](#first-schedule) apply here.
|
|
|
6530
6591
|
|
|
6531
6592
|
- Overlapping work is marked, not packed into sub-lanes; stacked overlap is not built yet.
|
|
6532
6593
|
|
|
6533
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
6594
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.44.0/docs/adr/0032-what-umriss-is-not.md).
|
|
6534
6595
|
|
|
6535
6596
|
## Editing
|
|
6536
6597
|
|
|
@@ -6827,6 +6888,12 @@ From `ScheduleProps` — the full table stands on [First schedule](#first-schedu
|
|
|
6827
6888
|
|---|---|---|---|
|
|
6828
6889
|
| [`onIntent`](#first-schedule) | `(intent: `[`Intent`](#first-schedule)`) => void` | — | Called once per intent when a drag ends. The data changes only if the caller changes it. |
|
|
6829
6890
|
|
|
6891
|
+
###### Accessibility
|
|
6892
|
+
|
|
6893
|
+
| Prop | Type | Default | Description |
|
|
6894
|
+
|---|---|---|---|
|
|
6895
|
+
| [`aria-label`](#first-schedule) *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38". |
|
|
6896
|
+
|
|
6830
6897
|
From `LaneProps` — the full table stands on [Lanes](#lanes).
|
|
6831
6898
|
|
|
6832
6899
|
| Prop | Type | Default | Description |
|
|
@@ -6899,10 +6966,10 @@ From `Overlap` — the full table stands on [Findings as data](#findings-as-data
|
|
|
6899
6966
|
|
|
6900
6967
|
#### Known limits
|
|
6901
6968
|
|
|
6902
|
-
- No undo: your application owns the data, and with it the history ([ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
6969
|
+
- No undo: your application owns the data, and with it the history ([ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.44.0/docs/adr/0032-what-umriss-is-not.md)).
|
|
6903
6970
|
- The keys move work in time only; a lane change needs the pointer.
|
|
6904
6971
|
|
|
6905
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
6972
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.44.0/docs/adr/0032-what-umriss-is-not.md).
|
|
6906
6973
|
|
|
6907
6974
|
### Stretch, lead-in, lead-out
|
|
6908
6975
|
|
|
@@ -7017,6 +7084,12 @@ From `ScheduleProps` — the full table stands on [First schedule](#first-schedu
|
|
|
7017
7084
|
|---|---|---|---|
|
|
7018
7085
|
| [`onIntent`](#first-schedule) | `(intent: `[`Intent`](#first-schedule)`) => void` | — | Called once per intent when a drag ends. The data changes only if the caller changes it. |
|
|
7019
7086
|
|
|
7087
|
+
###### Accessibility
|
|
7088
|
+
|
|
7089
|
+
| Prop | Type | Default | Description |
|
|
7090
|
+
|---|---|---|---|
|
|
7091
|
+
| [`aria-label`](#first-schedule) *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38". |
|
|
7092
|
+
|
|
7020
7093
|
From `LaneProps` — the full table stands on [Lanes](#lanes).
|
|
7021
7094
|
|
|
7022
7095
|
| Prop | Type | Default | Description |
|
|
@@ -7068,7 +7141,7 @@ From `ScheduleView` — the full table stands on [View](#view).
|
|
|
7068
7141
|
|
|
7069
7142
|
- A main time never becomes shorter than one raster step, or a minute without a raster.
|
|
7070
7143
|
|
|
7071
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
7144
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.44.0/docs/adr/0032-what-umriss-is-not.md).
|
|
7072
7145
|
|
|
7073
7146
|
### Snapping
|
|
7074
7147
|
|
|
@@ -7245,6 +7318,12 @@ From `ScheduleProps` — the full table stands on [First schedule](#first-schedu
|
|
|
7245
7318
|
|---|---|---|---|
|
|
7246
7319
|
| [`onIntent`](#first-schedule) | `(intent: `[`Intent`](#first-schedule)`) => void` | — | Called once per intent when a drag ends. The data changes only if the caller changes it. |
|
|
7247
7320
|
|
|
7321
|
+
###### Accessibility
|
|
7322
|
+
|
|
7323
|
+
| Prop | Type | Default | Description |
|
|
7324
|
+
|---|---|---|---|
|
|
7325
|
+
| [`aria-label`](#first-schedule) *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38". |
|
|
7326
|
+
|
|
7248
7327
|
From `LaneProps` — the full table stands on [Lanes](#lanes).
|
|
7249
7328
|
|
|
7250
7329
|
| Prop | Type | Default | Description |
|
|
@@ -7432,6 +7511,12 @@ From `ScheduleProps` — the full table stands on [First schedule](#first-schedu
|
|
|
7432
7511
|
|---|---|---|---|
|
|
7433
7512
|
| [`onIntent`](#first-schedule) | `(intent: `[`Intent`](#first-schedule)`) => void` | — | Called once per intent when a drag ends. The data changes only if the caller changes it. |
|
|
7434
7513
|
|
|
7514
|
+
###### Accessibility
|
|
7515
|
+
|
|
7516
|
+
| Prop | Type | Default | Description |
|
|
7517
|
+
|---|---|---|---|
|
|
7518
|
+
| [`aria-label`](#first-schedule) *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38". |
|
|
7519
|
+
|
|
7435
7520
|
From `LaneProps` — the full table stands on [Lanes](#lanes).
|
|
7436
7521
|
|
|
7437
7522
|
| Prop | Type | Default | Description |
|
|
@@ -7845,6 +7930,12 @@ From `ScheduleProps` — the full table stands on [First schedule](#first-schedu
|
|
|
7845
7930
|
|---|---|---|---|
|
|
7846
7931
|
| [`onIntent`](#first-schedule) | `(intent: `[`Intent`](#first-schedule)`) => void` | — | Called once per intent when a drag ends. The data changes only if the caller changes it. |
|
|
7847
7932
|
|
|
7933
|
+
###### Accessibility
|
|
7934
|
+
|
|
7935
|
+
| Prop | Type | Default | Description |
|
|
7936
|
+
|---|---|---|---|
|
|
7937
|
+
| [`aria-label`](#first-schedule) *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38". |
|
|
7938
|
+
|
|
7848
7939
|
From `LaneProps` — the full table stands on [Lanes](#lanes).
|
|
7849
7940
|
|
|
7850
7941
|
| Prop | Type | Default | Description |
|
|
@@ -7909,7 +8000,7 @@ From `ScheduleView` — the full table stands on [View](#view).
|
|
|
7909
8000
|
|
|
7910
8001
|
- A rule that changes while a drag runs is noticed at the drop, not before.
|
|
7911
8002
|
|
|
7912
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
8003
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.44.0/docs/adr/0032-what-umriss-is-not.md).
|
|
7913
8004
|
|
|
7914
8005
|
### Ripple
|
|
7915
8006
|
|
|
@@ -8126,6 +8217,12 @@ From `ScheduleProps` — the full table stands on [First schedule](#first-schedu
|
|
|
8126
8217
|
|---|---|---|---|
|
|
8127
8218
|
| [`onIntent`](#first-schedule) | `(intent: `[`Intent`](#first-schedule)`) => void` | — | Called once per intent when a drag ends. The data changes only if the caller changes it. |
|
|
8128
8219
|
|
|
8220
|
+
###### Accessibility
|
|
8221
|
+
|
|
8222
|
+
| Prop | Type | Default | Description |
|
|
8223
|
+
|---|---|---|---|
|
|
8224
|
+
| [`aria-label`](#first-schedule) *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38". |
|
|
8225
|
+
|
|
8129
8226
|
From `LaneProps` — the full table stands on [Lanes](#lanes).
|
|
8130
8227
|
|
|
8131
8228
|
| Prop | Type | Default | Description |
|
|
@@ -8188,10 +8285,10 @@ From `ScheduleView` — the full table stands on [View](#view).
|
|
|
8188
8285
|
|
|
8189
8286
|
#### Known limits
|
|
8190
8287
|
|
|
8191
|
-
- 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.
|
|
8288
|
+
- 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.44.0/docs/adr/0032-what-umriss-is-not.md)).
|
|
8192
8289
|
- A dependency joins subtasks of one task, so work of other tasks is never pushed.
|
|
8193
8290
|
|
|
8194
|
-
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.
|
|
8291
|
+
What umriss deliberately does not build, and why: [ADR-0032](https://github.com/romanhaendler/umriss-ui/blob/schedule-v0.44.0/docs/adr/0032-what-umriss-is-not.md).
|
|
8195
8292
|
|
|
8196
8293
|
## Measuring
|
|
8197
8294
|
|
|
@@ -8533,6 +8630,12 @@ From `ScheduleProps` — the full table stands on [First schedule](#first-schedu
|
|
|
8533
8630
|
|---|---|---|---|
|
|
8534
8631
|
| [`onInteraction`](#first-schedule) | `(interaction: `[`ScheduleInteraction`](#interactions)`) => void` | — | Click, context menu and hover, with what the pointer is on and where. While it is set, a right-click opens no browser menu. |
|
|
8535
8632
|
|
|
8633
|
+
###### Accessibility
|
|
8634
|
+
|
|
8635
|
+
| Prop | Type | Default | Description |
|
|
8636
|
+
|---|---|---|---|
|
|
8637
|
+
| [`aria-label`](#first-schedule) *required* | `string` | — | What the schedule shows, for a screen reader: "Plan of week 38". |
|
|
8638
|
+
|
|
8536
8639
|
From `LaneProps` — the full table stands on [Lanes](#lanes).
|
|
8537
8640
|
|
|
8538
8641
|
| Prop | Type | Default | Description |
|
|
@@ -8986,19 +9089,6 @@ the channel each one owns stands beside it.
|
|
|
8986
9089
|
| `muted` *required* | `boolean` | — | `muted`: the SATURATION - the task colour mixed half into the surface, opaque and at full height. Another team's, another crew's. |
|
|
8987
9090
|
| `open` *required* | `boolean` | — | `open`: the FADE, where the bar passes the edge of the view. It goes on past what is drawn. |
|
|
8988
9091
|
|
|
8989
|
-
##### `ScheduleHandle`
|
|
8990
|
-
|
|
8991
|
-
What a schedule offers a caller imperatively: the arithmetic between a
|
|
8992
|
-
point on the screen and a time on a lane. Everything else is props.
|
|
8993
|
-
|
|
8994
|
-
| Prop | Type | Default | Description |
|
|
8995
|
-
|---|---|---|---|
|
|
8996
|
-
| `positionAt` *required* | `(clientX: number, clientY: number) => { time: number; lane: string \| null } \| null` | — | The time and the lane at a client point, or null outside the plot. |
|
|
8997
|
-
| `clientPointOf` *required* | `(time: number, lane?: string) => { x: number; y: number } \| null` | — | The client point of a time - on the middle of a lane where one is named - or null while the schedule is not on screen. |
|
|
8998
|
-
| `visibleDomain` *required* | `() => readonly [number, number]` | — | The visible span, as two wall-clock instants. |
|
|
8999
|
-
|
|
9000
|
-
*Deprecated* since 0.43 - use the functions on [`useSchedule`](#api-index-1)'s return.
|
|
9001
|
-
|
|
9002
9092
|
##### `ScheduleHit`
|
|
9003
9093
|
|
|
9004
9094
|
What a pointer is on.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@umriss-ui/schedule",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.44.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",
|
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
}
|
|
60
60
|
},
|
|
61
61
|
"peerDependencies": {
|
|
62
|
-
"@umriss-ui/charts": "^0.
|
|
63
|
-
"@umriss-ui/core": "^0.
|
|
62
|
+
"@umriss-ui/charts": "^0.44.0",
|
|
63
|
+
"@umriss-ui/core": "^0.44.0",
|
|
64
64
|
"react": ">=19",
|
|
65
65
|
"react-dom": ">=19"
|
|
66
66
|
},
|
|
@@ -76,8 +76,8 @@
|
|
|
76
76
|
"typescript": "^5.6.3",
|
|
77
77
|
"vite": "^6.0.0",
|
|
78
78
|
"vite-plugin-dts": "^4.3.0",
|
|
79
|
-
"@umriss-ui/charts": "0.
|
|
80
|
-
"@umriss-ui/core": "0.
|
|
79
|
+
"@umriss-ui/charts": "0.44.0",
|
|
80
|
+
"@umriss-ui/core": "0.44.0",
|
|
81
81
|
"@umriss-ui/demo": "0.0.0"
|
|
82
82
|
},
|
|
83
83
|
"scripts": {
|