@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/CHANGELOG.md
CHANGED
|
@@ -18,6 +18,21 @@ moves from here under the rule above.
|
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
+
## 0.44.0 – Malformed data says so, and the handle goes (Oct. 2026)
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
|
|
25
|
+
- **Malformed data warns once per cause in development:** a span that does not end after it starts, an item on an undeclared lane, an unknown task or dependency end, an id that stands twice. The checks run only in development.
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
|
|
29
|
+
- **`ScheduleHandle` and the handle ref are removed;** 0.43.0 deprecated them. A `Schedule` ref is typed `HTMLDivElement`, and `positionAt`, `clientPointOf` and `visibleDomain` are on `useSchedule`'s return.
|
|
30
|
+
- Migration: replace `ref.current.positionAt(x, y)` with `positionAt(x, y)` from `const { positionAt } = useSchedule()`, and the same for `clientPointOf` and `visibleDomain`; type a ref as `HTMLDivElement`.
|
|
31
|
+
- **`ariaLabel` on `Schedule` is removed;** 0.43.0 renamed it `aria-label`.
|
|
32
|
+
- Migration: write `aria-label` (TypeScript flags every use of `ariaLabel`).
|
|
33
|
+
- **The peer ranges on core and charts move to `^0.44.0`.**
|
|
34
|
+
- Migration: install the 0.44 versions of `@umriss-ui/core` and `@umriss-ui/charts` beside it.
|
|
35
|
+
|
|
21
36
|
## 0.43.0 – A schedule that fills its frame, and takes a finger (Oct. 2026)
|
|
22
37
|
|
|
23
38
|
### Added
|
package/README.md
CHANGED
|
@@ -60,6 +60,8 @@ export function Plan() {
|
|
|
60
60
|
}
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
+
Malformed data - a subtask that does not end after it starts, an item on a lane no `Lane` declares, a dependency naming no subtask, an id that stands twice - warns in development, once per cause, and is left out in production. An application with imported data checks it where it imports it.
|
|
64
|
+
|
|
63
65
|
## Editing is controlled
|
|
64
66
|
|
|
65
67
|
The schedule draws the data it is given and changes none of it (ADR-0023). A
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import { CalendarInput } from '@umriss-ui/charts';
|
|
|
2
2
|
import { HTMLAttributes } from 'react';
|
|
3
3
|
import { ReactNode } from 'react';
|
|
4
4
|
import { Ref } from 'react';
|
|
5
|
-
import { RefObject } from 'react';
|
|
6
5
|
|
|
7
6
|
/** The subtask as the intent asks for it. An intent for another subtask leaves
|
|
8
7
|
it as it is. */
|
|
@@ -346,25 +345,6 @@ export declare interface ResolvedAppearance {
|
|
|
346
345
|
bounded number of pushes instead of running on. */
|
|
347
346
|
export declare function ripple(subtasks: readonly Subtask[], dependencies: readonly Dependency[], intent: Intent): MoveIntent[];
|
|
348
347
|
|
|
349
|
-
/** What a schedule offers a caller imperatively: the arithmetic between a
|
|
350
|
-
point on the screen and a time on a lane. Everything else is props.
|
|
351
|
-
@deprecated since 0.43 - use the functions on `useSchedule`'s return. */
|
|
352
|
-
export declare interface ScheduleHandle {
|
|
353
|
-
/** The time and the lane at a client point, or null outside the plot. */
|
|
354
|
-
positionAt: (clientX: number, clientY: number) => {
|
|
355
|
-
time: number;
|
|
356
|
-
lane: string | null;
|
|
357
|
-
} | null;
|
|
358
|
-
/** The client point of a time - on the middle of a lane where one is named -
|
|
359
|
-
or null while the schedule is not on screen. */
|
|
360
|
-
clientPointOf: (time: number, lane?: string) => {
|
|
361
|
-
x: number;
|
|
362
|
-
y: number;
|
|
363
|
-
} | null;
|
|
364
|
-
/** The visible span, as two wall-clock instants. */
|
|
365
|
-
visibleDomain: () => readonly [number, number];
|
|
366
|
-
}
|
|
367
|
-
|
|
368
348
|
/** What a pointer is on. */
|
|
369
349
|
export declare type ScheduleHit = {
|
|
370
350
|
readonly kind: "subtask";
|
|
@@ -416,10 +396,8 @@ export declare interface ScheduleOptions {
|
|
|
416
396
|
}
|
|
417
397
|
|
|
418
398
|
declare interface ScheduleOwnProps extends Omit<HTMLAttributes<HTMLDivElement>, "children" | "aria-label"> {
|
|
419
|
-
/** Receives the root element.
|
|
420
|
-
|
|
421
|
-
functions. */
|
|
422
|
-
ref?: Ref<HTMLDivElement> | RefObject<ScheduleHandle | null> | undefined;
|
|
399
|
+
/** Receives the root element. */
|
|
400
|
+
ref?: Ref<HTMLDivElement> | undefined;
|
|
423
401
|
/** Height in CSS pixels, both bands included, fixed. Left out, the schedule
|
|
424
402
|
fills its frame - a stretched grid cell, a card the grid stretches, a
|
|
425
403
|
container of definite height - and never goes below 400 px, which is also
|
|
@@ -593,17 +571,10 @@ export declare interface ScheduleParts {
|
|
|
593
571
|
reads itself. `ref`, `className`, `style` and the rest reach the root; the
|
|
594
572
|
name (`aria-label`, `aria-labelledby`) reaches the figure root and the plot,
|
|
595
573
|
and a `aria-describedby` of yours is joined to the plot's summary. */
|
|
596
|
-
export declare type ScheduleProps = ScheduleOwnProps &
|
|
574
|
+
export declare type ScheduleProps = ScheduleOwnProps & {
|
|
597
575
|
/** What the schedule shows, for a screen reader: "Plan of week 38". */
|
|
598
576
|
"aria-label": string;
|
|
599
|
-
|
|
600
|
-
ariaLabel?: string;
|
|
601
|
-
} | {
|
|
602
|
-
"aria-label"?: undefined;
|
|
603
|
-
/** What the schedule shows, for a screen reader.
|
|
604
|
-
@deprecated since 0.43 - use `aria-label`. */
|
|
605
|
-
ariaLabel: string;
|
|
606
|
-
});
|
|
577
|
+
};
|
|
607
578
|
|
|
608
579
|
/** What a tooltip is about: the hovered subtask or dependency, with what the
|
|
609
580
|
schedule knows about it. */
|