@elaraai/east-ui 1.0.30 → 1.0.32
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/README.md +1 -1
- package/dist/src/charts/chart/index.d.ts +116 -12
- package/dist/src/charts/chart/index.d.ts.map +1 -1
- package/dist/src/charts/chart/index.js +100 -37
- package/dist/src/charts/chart/index.js.map +1 -1
- package/dist/src/charts/index.d.ts +2 -1
- package/dist/src/charts/index.d.ts.map +1 -1
- package/dist/src/charts/index.js +2 -1
- package/dist/src/charts/index.js.map +1 -1
- package/dist/src/charts/spec/index.d.ts +5 -3
- package/dist/src/charts/spec/index.d.ts.map +1 -1
- package/dist/src/charts/spec/index.js +2 -2
- package/dist/src/charts/spec/index.js.map +1 -1
- package/dist/src/charts/spec/types.d.ts +7 -2
- package/dist/src/charts/spec/types.d.ts.map +1 -1
- package/dist/src/charts/spec/types.js +7 -2
- package/dist/src/charts/spec/types.js.map +1 -1
- package/dist/src/collections/blend/index.d.ts +59 -0
- package/dist/src/collections/blend/index.d.ts.map +1 -1
- package/dist/src/collections/blend/index.js +1 -0
- package/dist/src/collections/blend/index.js.map +1 -1
- package/dist/src/collections/blend/types.d.ts +66 -0
- package/dist/src/collections/blend/types.d.ts.map +1 -1
- package/dist/src/collections/blend/types.js +15 -1
- package/dist/src/collections/blend/types.js.map +1 -1
- package/dist/src/collections/board/index.d.ts +381 -28
- package/dist/src/collections/board/index.d.ts.map +1 -1
- package/dist/src/collections/board/index.js +133 -5
- package/dist/src/collections/board/index.js.map +1 -1
- package/dist/src/collections/board/types.d.ts +1 -198
- package/dist/src/collections/board/types.d.ts.map +1 -1
- package/dist/src/collections/board/types.js +6 -73
- package/dist/src/collections/board/types.js.map +1 -1
- package/dist/src/collections/gantt/index.d.ts +63 -24
- package/dist/src/collections/gantt/index.d.ts.map +1 -1
- package/dist/src/collections/gantt/index.js +98 -64
- package/dist/src/collections/gantt/index.js.map +1 -1
- package/dist/src/collections/gantt/types.d.ts +31 -76
- package/dist/src/collections/gantt/types.d.ts.map +1 -1
- package/dist/src/collections/gantt/types.js +18 -60
- package/dist/src/collections/gantt/types.js.map +1 -1
- package/dist/src/collections/library/index.d.ts +700 -17
- package/dist/src/collections/library/index.d.ts.map +1 -1
- package/dist/src/collections/library/index.js +66 -12
- package/dist/src/collections/library/index.js.map +1 -1
- package/dist/src/collections/library/types.d.ts +710 -38
- package/dist/src/collections/library/types.d.ts.map +1 -1
- package/dist/src/collections/library/types.js +48 -20
- package/dist/src/collections/library/types.js.map +1 -1
- package/dist/src/collections/planner/index.d.ts +45 -26
- package/dist/src/collections/planner/index.d.ts.map +1 -1
- package/dist/src/collections/planner/index.js +37 -27
- package/dist/src/collections/planner/index.js.map +1 -1
- package/dist/src/collections/planner/types.d.ts +11 -0
- package/dist/src/collections/planner/types.d.ts.map +1 -1
- package/dist/src/collections/planner/types.js +11 -0
- package/dist/src/collections/planner/types.js.map +1 -1
- package/dist/src/collections/roster/index.d.ts +397 -21
- package/dist/src/collections/roster/index.d.ts.map +1 -1
- package/dist/src/collections/roster/index.js +94 -4
- package/dist/src/collections/roster/index.js.map +1 -1
- package/dist/src/collections/roster/types.d.ts +15 -161
- package/dist/src/collections/roster/types.d.ts.map +1 -1
- package/dist/src/collections/roster/types.js +13 -58
- package/dist/src/collections/roster/types.js.map +1 -1
- package/dist/src/collections/table/index.d.ts +8 -0
- package/dist/src/collections/table/index.d.ts.map +1 -1
- package/dist/src/collections/table/index.js +22 -0
- package/dist/src/collections/table/index.js.map +1 -1
- package/dist/src/collections/table/types.d.ts +17 -0
- package/dist/src/collections/table/types.d.ts.map +1 -1
- package/dist/src/collections/table/types.js.map +1 -1
- package/dist/src/component.d.ts +1411 -299
- package/dist/src/component.d.ts.map +1 -1
- package/dist/src/component.js +131 -11
- package/dist/src/component.js.map +1 -1
- package/dist/src/contracts/drag.d.ts +122 -1
- package/dist/src/contracts/drag.d.ts.map +1 -1
- package/dist/src/contracts/drag.js +46 -1
- package/dist/src/contracts/drag.js.map +1 -1
- package/dist/src/contracts/index.d.ts +2 -1
- package/dist/src/contracts/index.d.ts.map +1 -1
- package/dist/src/contracts/index.js +2 -1
- package/dist/src/contracts/index.js.map +1 -1
- package/dist/src/contracts/review.d.ts +198 -0
- package/dist/src/contracts/review.d.ts.map +1 -0
- package/dist/src/contracts/review.js +163 -0
- package/dist/src/contracts/review.js.map +1 -0
- package/dist/src/index.d.ts +3 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +4 -2
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +5 -2
- package/dist/src/internal.js.map +1 -1
- package/dist/src/layout/expandable/index.d.ts +116 -0
- package/dist/src/layout/expandable/index.d.ts.map +1 -0
- package/dist/src/layout/expandable/index.js +129 -0
- package/dist/src/layout/expandable/index.js.map +1 -0
- package/dist/src/layout/expandable/types.d.ts +43 -0
- package/dist/src/layout/expandable/types.d.ts.map +1 -0
- package/dist/src/layout/expandable/types.js +18 -0
- package/dist/src/layout/expandable/types.js.map +1 -0
- package/dist/src/layout/index.d.ts +1 -0
- package/dist/src/layout/index.d.ts.map +1 -1
- package/dist/src/layout/index.js +1 -0
- package/dist/src/layout/index.js.map +1 -1
- package/dist/src/runtime/charts/chart.d.ts +16 -13
- package/dist/src/runtime/charts/chart.d.ts.map +1 -1
- package/dist/src/runtime/charts/chart.js +16 -13
- package/dist/src/runtime/charts/chart.js.map +1 -1
- package/dist/src/runtime/collections/library.d.ts +4 -2
- package/dist/src/runtime/collections/library.d.ts.map +1 -1
- package/dist/src/runtime/collections/library.js +4 -2
- package/dist/src/runtime/collections/library.js.map +1 -1
- package/dist/src/runtime/layout/expandable.d.ts +43 -0
- package/dist/src/runtime/layout/expandable.d.ts.map +1 -0
- package/dist/src/runtime/layout/expandable.js +41 -0
- package/dist/src/runtime/layout/expandable.js.map +1 -0
- package/dist/src/runtime/layout/index.d.ts +1 -0
- package/dist/src/runtime/layout/index.d.ts.map +1 -1
- package/dist/src/runtime/layout/index.js +1 -0
- package/dist/src/runtime/layout/index.js.map +1 -1
- package/dist/test/charts/chart.examples.d.ts +8 -4
- package/dist/test/charts/chart.examples.d.ts.map +1 -1
- package/dist/test/charts/chart.examples.js +89 -34
- package/dist/test/charts/chart.examples.js.map +1 -1
- package/dist/test/collections/blend.examples.d.ts +10 -1
- package/dist/test/collections/blend.examples.d.ts.map +1 -1
- package/dist/test/collections/blend.examples.js +52 -6
- package/dist/test/collections/blend.examples.js.map +1 -1
- package/dist/test/collections/board.examples.d.ts +8 -1
- package/dist/test/collections/board.examples.d.ts.map +1 -1
- package/dist/test/collections/board.examples.js +32 -5
- package/dist/test/collections/board.examples.js.map +1 -1
- package/dist/test/collections/gantt.examples.d.ts +26 -1
- package/dist/test/collections/gantt.examples.d.ts.map +1 -1
- package/dist/test/collections/gantt.examples.js +153 -27
- package/dist/test/collections/gantt.examples.js.map +1 -1
- package/dist/test/collections/library.examples.d.ts +3 -0
- package/dist/test/collections/library.examples.d.ts.map +1 -1
- package/dist/test/collections/library.examples.js +107 -2
- package/dist/test/collections/library.examples.js.map +1 -1
- package/dist/test/collections/planner.examples.d.ts +14 -0
- package/dist/test/collections/planner.examples.d.ts.map +1 -1
- package/dist/test/collections/planner.examples.js +127 -3
- package/dist/test/collections/planner.examples.js.map +1 -1
- package/dist/test/collections/roster.examples.d.ts +17 -1
- package/dist/test/collections/roster.examples.d.ts.map +1 -1
- package/dist/test/collections/roster.examples.js +89 -9
- package/dist/test/collections/roster.examples.js.map +1 -1
- package/dist/test/collections/table.examples.d.ts +16 -0
- package/dist/test/collections/table.examples.d.ts.map +1 -1
- package/dist/test/collections/table.examples.js +62 -2
- package/dist/test/collections/table.examples.js.map +1 -1
- package/dist/test/disclosure/story.examples.js +3 -3
- package/dist/test/disclosure/story.examples.js.map +1 -1
- package/dist/test/layout/expandable.examples.d.ts +3 -0
- package/dist/test/layout/expandable.examples.d.ts.map +1 -0
- package/dist/test/layout/expandable.examples.js +31 -0
- package/dist/test/layout/expandable.examples.js.map +1 -0
- package/dist/test/layout/index.d.ts +1 -0
- package/dist/test/layout/index.d.ts.map +1 -1
- package/dist/test/layout/index.js +1 -0
- package/dist/test/layout/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -16,13 +16,250 @@
|
|
|
16
16
|
*
|
|
17
17
|
* @packageDocumentation
|
|
18
18
|
*/
|
|
19
|
-
import { type ExprType, type SubtypeExprOrValue, type TypeOf, ArrayType, type FunctionType, IntegerType,
|
|
19
|
+
import { type ExprType, type SubtypeExprOrValue, type TypeOf, ArrayType, type BooleanType, FunctionType, IntegerType, NullType, OptionType, StringType, StructType } from "@elaraai/east";
|
|
20
20
|
import { UIComponentType } from "../../component.js";
|
|
21
21
|
import { DensityType, type DensityLiteral } from "../../style/interaction.js";
|
|
22
|
-
import {
|
|
22
|
+
import { CellRefType, DragEventType } from "../../contracts/drag.js";
|
|
23
23
|
import { PlannerStateType } from "../planner/types.js";
|
|
24
24
|
import { RosterModeType, type RosterModeLiteral } from "./types.js";
|
|
25
|
-
|
|
25
|
+
import { ApprovalStateType, RowRefType, type ReviewConfig } from "../../contracts/review.js";
|
|
26
|
+
import { StatusValueType } from "../../feedback/status/types.js";
|
|
27
|
+
export { RosterModeType, type RosterModeLiteral, RosterPersonType, RosterShiftType, } from "./types.js";
|
|
28
|
+
/**
|
|
29
|
+
* East StructType for the Roster component.
|
|
30
|
+
*
|
|
31
|
+
* @remarks
|
|
32
|
+
* Flat resolved tables — the renderer groups shifts into cells by
|
|
33
|
+
* `person × day`. Shift states reuse the Planner event-state grammar
|
|
34
|
+
* ({@link PlannerStateType}); the `model` flavour renders as the dashed
|
|
35
|
+
* ghost with the acceptance affordance. Defined here (not `types.ts`)
|
|
36
|
+
* since #265: the root carries the shared review config, whose `summary`
|
|
37
|
+
* is a `UIComponentType` — `component.ts` mirrors this arm inline with the
|
|
38
|
+
* recursion `node`.
|
|
39
|
+
*
|
|
40
|
+
* @property id - DnD target identity
|
|
41
|
+
* @property sources - Library ids accepted for `add` drags
|
|
42
|
+
* @property mode - `published` (committed-only, immutable) or `edit`
|
|
43
|
+
* @property days - The day columns, in order
|
|
44
|
+
* @property personHeader - The frozen person column's header
|
|
45
|
+
* @property personWidth - Optional CSS width for the frozen person column
|
|
46
|
+
* @property people - The grid rows
|
|
47
|
+
* @property shifts - The shift chips (joined to people by person key)
|
|
48
|
+
* @property density - Optional density
|
|
49
|
+
* @property summary - Optional status-strip text (dirty / ghost counts)
|
|
50
|
+
* @property onDrag - Drag funnel — add / move / remove events
|
|
51
|
+
* @property canDrop - Optional IR-level drop veto over synthesized candidate events
|
|
52
|
+
* @property onSelect - Shift / cell click callback
|
|
53
|
+
* @property onAccept - Ghost-shift acceptance callback (ONE proposed shift)
|
|
54
|
+
* @property onAddAt - Empty-cell click callback (edit mode)
|
|
55
|
+
* @property review - Optional row-level review chrome (shared contract, #265)
|
|
56
|
+
*/
|
|
57
|
+
export declare const RosterRootType: StructType<{
|
|
58
|
+
/** DnD target identity */
|
|
59
|
+
readonly id: StringType;
|
|
60
|
+
/** Library ids accepted for `add` drags */
|
|
61
|
+
readonly sources: ArrayType<StringType>;
|
|
62
|
+
/** `published` (committed-only, immutable) or `edit` */
|
|
63
|
+
readonly mode: import("@elaraai/east").VariantType<{
|
|
64
|
+
readonly published: NullType;
|
|
65
|
+
readonly edit: NullType;
|
|
66
|
+
}>;
|
|
67
|
+
/** The day columns, in order */
|
|
68
|
+
readonly days: ArrayType<StringType>;
|
|
69
|
+
/** The frozen person column's header */
|
|
70
|
+
readonly personHeader: StringType;
|
|
71
|
+
/** Optional CSS width for the frozen person column (none = the Planner-consistent 150px) */
|
|
72
|
+
readonly personWidth: OptionType<StringType>;
|
|
73
|
+
/** The grid rows */
|
|
74
|
+
readonly people: ArrayType<StructType<{
|
|
75
|
+
readonly key: StringType;
|
|
76
|
+
readonly label: StringType;
|
|
77
|
+
readonly sublabel: OptionType<StringType>;
|
|
78
|
+
readonly status: OptionType<import("@elaraai/east").VariantType<{
|
|
79
|
+
readonly success: NullType;
|
|
80
|
+
readonly warning: NullType;
|
|
81
|
+
readonly danger: NullType;
|
|
82
|
+
readonly info: NullType;
|
|
83
|
+
readonly neutral: NullType;
|
|
84
|
+
}>>;
|
|
85
|
+
readonly approval: OptionType<import("@elaraai/east").VariantType<{
|
|
86
|
+
readonly approved: NullType;
|
|
87
|
+
readonly pending: NullType;
|
|
88
|
+
readonly rejected: NullType;
|
|
89
|
+
}>>;
|
|
90
|
+
}>>;
|
|
91
|
+
/** The shift chips (joined to people by person key) */
|
|
92
|
+
readonly shifts: ArrayType<StructType<{
|
|
93
|
+
readonly key: StringType;
|
|
94
|
+
readonly person: StringType;
|
|
95
|
+
readonly day: StringType;
|
|
96
|
+
readonly label: StringType;
|
|
97
|
+
readonly state: import("@elaraai/east").VariantType<{
|
|
98
|
+
readonly committed: NullType;
|
|
99
|
+
readonly proposed: import("@elaraai/east").VariantType<{
|
|
100
|
+
readonly added: NullType;
|
|
101
|
+
readonly model: NullType;
|
|
102
|
+
readonly removed: NullType;
|
|
103
|
+
}>;
|
|
104
|
+
readonly rejected: NullType;
|
|
105
|
+
}>;
|
|
106
|
+
}>>;
|
|
107
|
+
/** Optional density */
|
|
108
|
+
readonly density: OptionType<import("@elaraai/east").VariantType<{
|
|
109
|
+
readonly comfortable: NullType;
|
|
110
|
+
readonly compact: NullType;
|
|
111
|
+
readonly condensed: NullType;
|
|
112
|
+
}>>;
|
|
113
|
+
/** Optional status-strip text (dirty / ghost counts) */
|
|
114
|
+
readonly summary: OptionType<StringType>;
|
|
115
|
+
/** Drag funnel — add / move / remove events */
|
|
116
|
+
readonly onDrag: OptionType<FunctionType<[import("@elaraai/east").VariantType<{
|
|
117
|
+
readonly add: StructType<{
|
|
118
|
+
readonly from: StructType<{
|
|
119
|
+
readonly library: StringType;
|
|
120
|
+
readonly key: StringType;
|
|
121
|
+
}>;
|
|
122
|
+
readonly into: StructType<{
|
|
123
|
+
readonly surface: StringType;
|
|
124
|
+
readonly row: StringType;
|
|
125
|
+
readonly slot: StringType;
|
|
126
|
+
readonly event: OptionType<StringType>;
|
|
127
|
+
}>;
|
|
128
|
+
readonly duplicate: BooleanType;
|
|
129
|
+
}>;
|
|
130
|
+
readonly move: StructType<{
|
|
131
|
+
readonly from: StructType<{
|
|
132
|
+
readonly surface: StringType;
|
|
133
|
+
readonly row: StringType;
|
|
134
|
+
readonly slot: StringType;
|
|
135
|
+
readonly event: OptionType<StringType>;
|
|
136
|
+
}>;
|
|
137
|
+
readonly to: StructType<{
|
|
138
|
+
readonly surface: StringType;
|
|
139
|
+
readonly row: StringType;
|
|
140
|
+
readonly slot: StringType;
|
|
141
|
+
readonly event: OptionType<StringType>;
|
|
142
|
+
}>;
|
|
143
|
+
}>;
|
|
144
|
+
readonly remove: StructType<{
|
|
145
|
+
readonly from: StructType<{
|
|
146
|
+
readonly surface: StringType;
|
|
147
|
+
readonly row: StringType;
|
|
148
|
+
readonly slot: StringType;
|
|
149
|
+
readonly event: OptionType<StringType>;
|
|
150
|
+
}>;
|
|
151
|
+
readonly to: import("@elaraai/east").VariantType<{
|
|
152
|
+
readonly trash: NullType;
|
|
153
|
+
readonly source: NullType;
|
|
154
|
+
}>;
|
|
155
|
+
}>;
|
|
156
|
+
readonly resize: StructType<{
|
|
157
|
+
readonly event: StructType<{
|
|
158
|
+
readonly surface: StringType;
|
|
159
|
+
readonly row: StringType;
|
|
160
|
+
readonly slot: StringType;
|
|
161
|
+
readonly event: OptionType<StringType>;
|
|
162
|
+
}>;
|
|
163
|
+
readonly edge: import("@elaraai/east").VariantType<{
|
|
164
|
+
readonly start: NullType;
|
|
165
|
+
readonly end: NullType;
|
|
166
|
+
}>;
|
|
167
|
+
}>;
|
|
168
|
+
}>], NullType>>;
|
|
169
|
+
/** Optional IR-level drop veto — consulted per hovered cell with the
|
|
170
|
+
* synthesized candidate event (`CanDropFnType` semantics); `false`
|
|
171
|
+
* ⇒ the ⊘ invalid stage and the drop is a no-op. Absent ⇒ accept. */
|
|
172
|
+
readonly canDrop: OptionType<FunctionType<[import("@elaraai/east").VariantType<{
|
|
173
|
+
readonly add: StructType<{
|
|
174
|
+
readonly from: StructType<{
|
|
175
|
+
readonly library: StringType;
|
|
176
|
+
readonly key: StringType;
|
|
177
|
+
}>;
|
|
178
|
+
readonly into: StructType<{
|
|
179
|
+
readonly surface: StringType;
|
|
180
|
+
readonly row: StringType;
|
|
181
|
+
readonly slot: StringType;
|
|
182
|
+
readonly event: OptionType<StringType>;
|
|
183
|
+
}>;
|
|
184
|
+
readonly duplicate: BooleanType;
|
|
185
|
+
}>;
|
|
186
|
+
readonly move: StructType<{
|
|
187
|
+
readonly from: StructType<{
|
|
188
|
+
readonly surface: StringType;
|
|
189
|
+
readonly row: StringType;
|
|
190
|
+
readonly slot: StringType;
|
|
191
|
+
readonly event: OptionType<StringType>;
|
|
192
|
+
}>;
|
|
193
|
+
readonly to: StructType<{
|
|
194
|
+
readonly surface: StringType;
|
|
195
|
+
readonly row: StringType;
|
|
196
|
+
readonly slot: StringType;
|
|
197
|
+
readonly event: OptionType<StringType>;
|
|
198
|
+
}>;
|
|
199
|
+
}>;
|
|
200
|
+
readonly remove: StructType<{
|
|
201
|
+
readonly from: StructType<{
|
|
202
|
+
readonly surface: StringType;
|
|
203
|
+
readonly row: StringType;
|
|
204
|
+
readonly slot: StringType;
|
|
205
|
+
readonly event: OptionType<StringType>;
|
|
206
|
+
}>;
|
|
207
|
+
readonly to: import("@elaraai/east").VariantType<{
|
|
208
|
+
readonly trash: NullType;
|
|
209
|
+
readonly source: NullType;
|
|
210
|
+
}>;
|
|
211
|
+
}>;
|
|
212
|
+
readonly resize: StructType<{
|
|
213
|
+
readonly event: StructType<{
|
|
214
|
+
readonly surface: StringType;
|
|
215
|
+
readonly row: StringType;
|
|
216
|
+
readonly slot: StringType;
|
|
217
|
+
readonly event: OptionType<StringType>;
|
|
218
|
+
}>;
|
|
219
|
+
readonly edge: import("@elaraai/east").VariantType<{
|
|
220
|
+
readonly start: NullType;
|
|
221
|
+
readonly end: NullType;
|
|
222
|
+
}>;
|
|
223
|
+
}>;
|
|
224
|
+
}>], BooleanType>>;
|
|
225
|
+
/** Shift / cell click callback */
|
|
226
|
+
readonly onSelect: OptionType<FunctionType<[StructType<{
|
|
227
|
+
readonly surface: StringType;
|
|
228
|
+
readonly row: StringType;
|
|
229
|
+
readonly slot: StringType;
|
|
230
|
+
readonly event: OptionType<StringType>;
|
|
231
|
+
}>], NullType>>;
|
|
232
|
+
/** Ghost-shift acceptance callback — resolves ONE proposed shift. The
|
|
233
|
+
* granularity contract (#265): `onAccept(CellRef)` is the *item*-level
|
|
234
|
+
* call; `review.onApprove({ rowIndex })` signs off a LINE. The interplay
|
|
235
|
+
* is host-owned — the component reports, the host decides whether
|
|
236
|
+
* row-approval implies accepting the row's ghosts (no implicit
|
|
237
|
+
* cascading in the component). */
|
|
238
|
+
readonly onAccept: OptionType<FunctionType<[StructType<{
|
|
239
|
+
readonly surface: StringType;
|
|
240
|
+
readonly row: StringType;
|
|
241
|
+
readonly slot: StringType;
|
|
242
|
+
readonly event: OptionType<StringType>;
|
|
243
|
+
}>], NullType>>;
|
|
244
|
+
/** Empty-cell click callback (edit mode) */
|
|
245
|
+
readonly onAddAt: OptionType<FunctionType<[StructType<{
|
|
246
|
+
readonly surface: StringType;
|
|
247
|
+
readonly row: StringType;
|
|
248
|
+
readonly slot: StringType;
|
|
249
|
+
readonly event: OptionType<StringType>;
|
|
250
|
+
}>], NullType>>;
|
|
251
|
+
/** Optional row-level review chrome (#265) — the shared contract's
|
|
252
|
+
* Decision column + commitBar foot; rows are people. Absent ⇒ a plain
|
|
253
|
+
* Roster (people `status`/`approval` are inert). Composes with — does
|
|
254
|
+
* not replace — per-tile ghost `onAccept`. */
|
|
255
|
+
readonly review: OptionType<import("../../contracts/review.js").ReviewStructType<StructType<{
|
|
256
|
+
readonly rowIndex: IntegerType;
|
|
257
|
+
}>, import("@elaraai/east").RecursiveType<import("../../component.js").UIComponentNode>>>;
|
|
258
|
+
}>;
|
|
259
|
+
/**
|
|
260
|
+
* Type representing the Roster component.
|
|
261
|
+
*/
|
|
262
|
+
export type RosterRootType = typeof RosterRootType;
|
|
26
263
|
/**
|
|
27
264
|
* The struct element type of a `SubtypeExprOrValue<ArrayType<StructType>>`.
|
|
28
265
|
*/
|
|
@@ -45,6 +282,13 @@ export interface RosterPersonFields {
|
|
|
45
282
|
label: SubtypeExprOrValue<StringType>;
|
|
46
283
|
/** Optional muted second line (e.g. target hours). */
|
|
47
284
|
sublabel?: SubtypeExprOrValue<StringType>;
|
|
285
|
+
/** Optional per-row status — the quiet dot beside the person (some ⇒
|
|
286
|
+
* flagged, none ⇒ clean). Only rendered when `review` is set (#265). */
|
|
287
|
+
status?: SubtypeExprOrValue<OptionType<StatusValueType>>;
|
|
288
|
+
/** Optional per-row review decision (see the shared `deriveApproval`
|
|
289
|
+
* helper: clean ⇒ approved, flagged ⇒ pending). Only rendered when
|
|
290
|
+
* `review` is set (#265). */
|
|
291
|
+
approval?: SubtypeExprOrValue<OptionType<ApprovalStateType>>;
|
|
48
292
|
}
|
|
49
293
|
/**
|
|
50
294
|
* Fields the `shift` mapper returns — one shift chip, before defaults.
|
|
@@ -89,6 +333,7 @@ export interface RosterShiftFields {
|
|
|
89
333
|
* @property density - Optional density
|
|
90
334
|
* @property summary - Optional status-strip text (dirty / ghost counts)
|
|
91
335
|
* @property onDrag - Drag funnel — add / move / remove events
|
|
336
|
+
* @property canDrop - Optional IR-level drop veto over synthesized candidate events
|
|
92
337
|
* @property onSelect - Shift / cell click callback (a drag-grammar cell ref)
|
|
93
338
|
* @property onAccept - Ghost-shift acceptance callback
|
|
94
339
|
* @property onAddAt - Empty-cell click callback (edit mode)
|
|
@@ -116,12 +361,23 @@ export interface RosterConfig<P extends StructType, S extends StructType> {
|
|
|
116
361
|
summary?: SubtypeExprOrValue<StringType>;
|
|
117
362
|
/** Drag funnel — add / move / remove events. */
|
|
118
363
|
onDrag?: SubtypeExprOrValue<FunctionType<[DragEventType], NullType>>;
|
|
364
|
+
/** Optional IR-level drop veto — consulted per hovered cell with the
|
|
365
|
+
* synthesized candidate event (`CanDropFnType` semantics, see
|
|
366
|
+
* `contracts/drag.ts`); `false` ⇒ the ⊘ invalid stage and the drop is a
|
|
367
|
+
* no-op. Absent ⇒ accept (the pre-#261 behaviour). */
|
|
368
|
+
canDrop?: SubtypeExprOrValue<FunctionType<[DragEventType], BooleanType>>;
|
|
119
369
|
/** Shift / cell click callback (a drag-grammar cell ref). */
|
|
120
370
|
onSelect?: SubtypeExprOrValue<FunctionType<[CellRefType], NullType>>;
|
|
121
371
|
/** Ghost-shift acceptance callback. */
|
|
122
372
|
onAccept?: SubtypeExprOrValue<FunctionType<[CellRefType], NullType>>;
|
|
123
373
|
/** Empty-cell click callback (edit mode). */
|
|
124
374
|
onAddAt?: SubtypeExprOrValue<FunctionType<[CellRefType], NullType>>;
|
|
375
|
+
/** Optional row-level review chrome (#265) — the shared contract's
|
|
376
|
+
* Decision column + commitBar foot; rows are people, callbacks receive
|
|
377
|
+
* `{ rowIndex }`. Presence is the opt-in. Composes with — does not
|
|
378
|
+
* replace — per-tile ghost `onAccept`: accept resolves ONE ghost,
|
|
379
|
+
* approve signs off a LINE; the interplay is host-owned. */
|
|
380
|
+
review?: ReviewConfig<RowRefType>;
|
|
125
381
|
}
|
|
126
382
|
/**
|
|
127
383
|
* Creates a Roster — people × days-of-week shift scheduling.
|
|
@@ -225,20 +481,40 @@ export declare const Roster: {
|
|
|
225
481
|
* @property onAddAt - Empty-cell click callback
|
|
226
482
|
*/
|
|
227
483
|
readonly Roster: StructType<{
|
|
484
|
+
/** DnD target identity */
|
|
228
485
|
readonly id: StringType;
|
|
486
|
+
/** Library ids accepted for `add` drags */
|
|
229
487
|
readonly sources: ArrayType<StringType>;
|
|
488
|
+
/** `published` (committed-only, immutable) or `edit` */
|
|
230
489
|
readonly mode: import("@elaraai/east").VariantType<{
|
|
231
490
|
readonly published: NullType;
|
|
232
491
|
readonly edit: NullType;
|
|
233
492
|
}>;
|
|
493
|
+
/** The day columns, in order */
|
|
234
494
|
readonly days: ArrayType<StringType>;
|
|
495
|
+
/** The frozen person column's header */
|
|
235
496
|
readonly personHeader: StringType;
|
|
236
|
-
|
|
497
|
+
/** Optional CSS width for the frozen person column (none = the Planner-consistent 150px) */
|
|
498
|
+
readonly personWidth: OptionType<StringType>;
|
|
499
|
+
/** The grid rows */
|
|
237
500
|
readonly people: ArrayType<StructType<{
|
|
238
501
|
readonly key: StringType;
|
|
239
502
|
readonly label: StringType;
|
|
240
|
-
readonly sublabel:
|
|
503
|
+
readonly sublabel: OptionType<StringType>;
|
|
504
|
+
readonly status: OptionType<import("@elaraai/east").VariantType<{
|
|
505
|
+
readonly success: NullType;
|
|
506
|
+
readonly warning: NullType;
|
|
507
|
+
readonly danger: NullType;
|
|
508
|
+
readonly info: NullType;
|
|
509
|
+
readonly neutral: NullType;
|
|
510
|
+
}>>;
|
|
511
|
+
readonly approval: OptionType<import("@elaraai/east").VariantType<{
|
|
512
|
+
readonly approved: NullType;
|
|
513
|
+
readonly pending: NullType;
|
|
514
|
+
readonly rejected: NullType;
|
|
515
|
+
}>>;
|
|
241
516
|
}>>;
|
|
517
|
+
/** The shift chips (joined to people by person key) */
|
|
242
518
|
readonly shifts: ArrayType<StructType<{
|
|
243
519
|
readonly key: StringType;
|
|
244
520
|
readonly person: StringType;
|
|
@@ -254,13 +530,16 @@ export declare const Roster: {
|
|
|
254
530
|
readonly rejected: NullType;
|
|
255
531
|
}>;
|
|
256
532
|
}>>;
|
|
257
|
-
|
|
533
|
+
/** Optional density */
|
|
534
|
+
readonly density: OptionType<import("@elaraai/east").VariantType<{
|
|
258
535
|
readonly comfortable: NullType;
|
|
259
536
|
readonly compact: NullType;
|
|
260
537
|
readonly condensed: NullType;
|
|
261
538
|
}>>;
|
|
262
|
-
|
|
263
|
-
readonly
|
|
539
|
+
/** Optional status-strip text (dirty / ghost counts) */
|
|
540
|
+
readonly summary: OptionType<StringType>;
|
|
541
|
+
/** Drag funnel — add / move / remove events */
|
|
542
|
+
readonly onDrag: OptionType<FunctionType<[import("@elaraai/east").VariantType<{
|
|
264
543
|
readonly add: StructType<{
|
|
265
544
|
readonly from: StructType<{
|
|
266
545
|
readonly library: StringType;
|
|
@@ -270,22 +549,22 @@ export declare const Roster: {
|
|
|
270
549
|
readonly surface: StringType;
|
|
271
550
|
readonly row: StringType;
|
|
272
551
|
readonly slot: StringType;
|
|
273
|
-
readonly event:
|
|
552
|
+
readonly event: OptionType<StringType>;
|
|
274
553
|
}>;
|
|
275
|
-
readonly duplicate:
|
|
554
|
+
readonly duplicate: BooleanType;
|
|
276
555
|
}>;
|
|
277
556
|
readonly move: StructType<{
|
|
278
557
|
readonly from: StructType<{
|
|
279
558
|
readonly surface: StringType;
|
|
280
559
|
readonly row: StringType;
|
|
281
560
|
readonly slot: StringType;
|
|
282
|
-
readonly event:
|
|
561
|
+
readonly event: OptionType<StringType>;
|
|
283
562
|
}>;
|
|
284
563
|
readonly to: StructType<{
|
|
285
564
|
readonly surface: StringType;
|
|
286
565
|
readonly row: StringType;
|
|
287
566
|
readonly slot: StringType;
|
|
288
|
-
readonly event:
|
|
567
|
+
readonly event: OptionType<StringType>;
|
|
289
568
|
}>;
|
|
290
569
|
}>;
|
|
291
570
|
readonly remove: StructType<{
|
|
@@ -293,7 +572,7 @@ export declare const Roster: {
|
|
|
293
572
|
readonly surface: StringType;
|
|
294
573
|
readonly row: StringType;
|
|
295
574
|
readonly slot: StringType;
|
|
296
|
-
readonly event:
|
|
575
|
+
readonly event: OptionType<StringType>;
|
|
297
576
|
}>;
|
|
298
577
|
readonly to: import("@elaraai/east").VariantType<{
|
|
299
578
|
readonly trash: NullType;
|
|
@@ -305,7 +584,7 @@ export declare const Roster: {
|
|
|
305
584
|
readonly surface: StringType;
|
|
306
585
|
readonly row: StringType;
|
|
307
586
|
readonly slot: StringType;
|
|
308
|
-
readonly event:
|
|
587
|
+
readonly event: OptionType<StringType>;
|
|
309
588
|
}>;
|
|
310
589
|
readonly edge: import("@elaraai/east").VariantType<{
|
|
311
590
|
readonly start: NullType;
|
|
@@ -313,24 +592,109 @@ export declare const Roster: {
|
|
|
313
592
|
}>;
|
|
314
593
|
}>;
|
|
315
594
|
}>], NullType>>;
|
|
316
|
-
|
|
595
|
+
/** Optional IR-level drop veto — consulted per hovered cell with the
|
|
596
|
+
* synthesized candidate event (`CanDropFnType` semantics); `false`
|
|
597
|
+
* ⇒ the ⊘ invalid stage and the drop is a no-op. Absent ⇒ accept. */
|
|
598
|
+
readonly canDrop: OptionType<FunctionType<[import("@elaraai/east").VariantType<{
|
|
599
|
+
readonly add: StructType<{
|
|
600
|
+
readonly from: StructType<{
|
|
601
|
+
readonly library: StringType;
|
|
602
|
+
readonly key: StringType;
|
|
603
|
+
}>;
|
|
604
|
+
readonly into: StructType<{
|
|
605
|
+
readonly surface: StringType;
|
|
606
|
+
readonly row: StringType;
|
|
607
|
+
readonly slot: StringType;
|
|
608
|
+
readonly event: OptionType<StringType>;
|
|
609
|
+
}>;
|
|
610
|
+
readonly duplicate: BooleanType;
|
|
611
|
+
}>;
|
|
612
|
+
readonly move: StructType<{
|
|
613
|
+
readonly from: StructType<{
|
|
614
|
+
readonly surface: StringType;
|
|
615
|
+
readonly row: StringType;
|
|
616
|
+
readonly slot: StringType;
|
|
617
|
+
readonly event: OptionType<StringType>;
|
|
618
|
+
}>;
|
|
619
|
+
readonly to: StructType<{
|
|
620
|
+
readonly surface: StringType;
|
|
621
|
+
readonly row: StringType;
|
|
622
|
+
readonly slot: StringType;
|
|
623
|
+
readonly event: OptionType<StringType>;
|
|
624
|
+
}>;
|
|
625
|
+
}>;
|
|
626
|
+
readonly remove: StructType<{
|
|
627
|
+
readonly from: StructType<{
|
|
628
|
+
readonly surface: StringType;
|
|
629
|
+
readonly row: StringType;
|
|
630
|
+
readonly slot: StringType;
|
|
631
|
+
readonly event: OptionType<StringType>;
|
|
632
|
+
}>;
|
|
633
|
+
readonly to: import("@elaraai/east").VariantType<{
|
|
634
|
+
readonly trash: NullType;
|
|
635
|
+
readonly source: NullType;
|
|
636
|
+
}>;
|
|
637
|
+
}>;
|
|
638
|
+
readonly resize: StructType<{
|
|
639
|
+
readonly event: StructType<{
|
|
640
|
+
readonly surface: StringType;
|
|
641
|
+
readonly row: StringType;
|
|
642
|
+
readonly slot: StringType;
|
|
643
|
+
readonly event: OptionType<StringType>;
|
|
644
|
+
}>;
|
|
645
|
+
readonly edge: import("@elaraai/east").VariantType<{
|
|
646
|
+
readonly start: NullType;
|
|
647
|
+
readonly end: NullType;
|
|
648
|
+
}>;
|
|
649
|
+
}>;
|
|
650
|
+
}>], BooleanType>>;
|
|
651
|
+
/** Shift / cell click callback */
|
|
652
|
+
readonly onSelect: OptionType<FunctionType<[StructType<{
|
|
317
653
|
readonly surface: StringType;
|
|
318
654
|
readonly row: StringType;
|
|
319
655
|
readonly slot: StringType;
|
|
320
|
-
readonly event:
|
|
656
|
+
readonly event: OptionType<StringType>;
|
|
321
657
|
}>], NullType>>;
|
|
322
|
-
|
|
658
|
+
/** Ghost-shift acceptance callback — resolves ONE proposed shift. The
|
|
659
|
+
* granularity contract (#265): `onAccept(CellRef)` is the *item*-level
|
|
660
|
+
* call; `review.onApprove({ rowIndex })` signs off a LINE. The interplay
|
|
661
|
+
* is host-owned — the component reports, the host decides whether
|
|
662
|
+
* row-approval implies accepting the row's ghosts (no implicit
|
|
663
|
+
* cascading in the component). */
|
|
664
|
+
readonly onAccept: OptionType<FunctionType<[StructType<{
|
|
323
665
|
readonly surface: StringType;
|
|
324
666
|
readonly row: StringType;
|
|
325
667
|
readonly slot: StringType;
|
|
326
|
-
readonly event:
|
|
668
|
+
readonly event: OptionType<StringType>;
|
|
327
669
|
}>], NullType>>;
|
|
328
|
-
|
|
670
|
+
/** Empty-cell click callback (edit mode) */
|
|
671
|
+
readonly onAddAt: OptionType<FunctionType<[StructType<{
|
|
329
672
|
readonly surface: StringType;
|
|
330
673
|
readonly row: StringType;
|
|
331
674
|
readonly slot: StringType;
|
|
332
|
-
readonly event:
|
|
675
|
+
readonly event: OptionType<StringType>;
|
|
333
676
|
}>], NullType>>;
|
|
677
|
+
/** Optional row-level review chrome (#265) — the shared contract's
|
|
678
|
+
* Decision column + commitBar foot; rows are people. Absent ⇒ a plain
|
|
679
|
+
* Roster (people `status`/`approval` are inert). Composes with — does
|
|
680
|
+
* not replace — per-tile ghost `onAccept`. */
|
|
681
|
+
readonly review: OptionType<import("../../contracts/review.js").ReviewStructType<StructType<{
|
|
682
|
+
readonly rowIndex: IntegerType;
|
|
683
|
+
}>, import("@elaraai/east").RecursiveType<import("../../component.js").UIComponentNode>>>;
|
|
684
|
+
}>;
|
|
685
|
+
/** A row's review decision — the shared `ApprovalStateType` (#265). */
|
|
686
|
+
readonly Approval: import("@elaraai/east").VariantType<{
|
|
687
|
+
readonly approved: NullType;
|
|
688
|
+
readonly pending: NullType;
|
|
689
|
+
readonly rejected: NullType;
|
|
690
|
+
}>;
|
|
691
|
+
/** The review configuration — the shared row-granularity `RowReviewType` (#265). */
|
|
692
|
+
readonly Review: import("../../contracts/review.js").ReviewStructType<StructType<{
|
|
693
|
+
readonly rowIndex: IntegerType;
|
|
694
|
+
}>, import("@elaraai/east").RecursiveType<import("../../component.js").UIComponentNode>>;
|
|
695
|
+
/** The per-row approve / reject payload — the shared `RowRefType` (`{ rowIndex }`). */
|
|
696
|
+
readonly ApproveEvent: StructType<{
|
|
697
|
+
readonly rowIndex: IntegerType;
|
|
334
698
|
}>;
|
|
335
699
|
/**
|
|
336
700
|
* Roster render mode (`published` / `edit`).
|
|
@@ -352,7 +716,19 @@ export declare const Roster: {
|
|
|
352
716
|
readonly Person: StructType<{
|
|
353
717
|
readonly key: StringType;
|
|
354
718
|
readonly label: StringType;
|
|
355
|
-
readonly sublabel:
|
|
719
|
+
readonly sublabel: OptionType<StringType>;
|
|
720
|
+
readonly status: OptionType<import("@elaraai/east").VariantType<{
|
|
721
|
+
readonly success: NullType;
|
|
722
|
+
readonly warning: NullType;
|
|
723
|
+
readonly danger: NullType;
|
|
724
|
+
readonly info: NullType;
|
|
725
|
+
readonly neutral: NullType;
|
|
726
|
+
}>>;
|
|
727
|
+
readonly approval: OptionType<import("@elaraai/east").VariantType<{
|
|
728
|
+
readonly approved: NullType;
|
|
729
|
+
readonly pending: NullType;
|
|
730
|
+
readonly rejected: NullType;
|
|
731
|
+
}>>;
|
|
356
732
|
}>;
|
|
357
733
|
/**
|
|
358
734
|
* A resolved shift chip.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/collections/roster/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACH,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,MAAM,EAMX,SAAS,EACT,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/collections/roster/index.ts"],"names":[],"mappings":"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"}
|