@elaraai/east-ui 1.0.39 → 1.0.41
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/dist/src/collections/calendar/index.d.ts +275 -62
- package/dist/src/collections/calendar/index.d.ts.map +1 -1
- package/dist/src/collections/calendar/index.js +168 -51
- package/dist/src/collections/calendar/index.js.map +1 -1
- package/dist/src/collections/calendar/types.d.ts +228 -22
- package/dist/src/collections/calendar/types.d.ts.map +1 -1
- package/dist/src/collections/calendar/types.js +132 -18
- package/dist/src/collections/calendar/types.js.map +1 -1
- package/dist/src/collections/deck/index.d.ts +2229 -0
- package/dist/src/collections/deck/index.d.ts.map +1 -0
- package/dist/src/collections/deck/index.js +461 -0
- package/dist/src/collections/deck/index.js.map +1 -0
- package/dist/src/collections/deck/types.d.ts +327 -0
- package/dist/src/collections/deck/types.d.ts.map +1 -0
- package/dist/src/collections/deck/types.js +206 -0
- package/dist/src/collections/deck/types.js.map +1 -0
- package/dist/src/collections/index.d.ts +2 -0
- package/dist/src/collections/index.d.ts.map +1 -1
- package/dist/src/collections/index.js +2 -0
- package/dist/src/collections/index.js.map +1 -1
- package/dist/src/collections/value-tree/index.d.ts +380 -0
- package/dist/src/collections/value-tree/index.d.ts.map +1 -0
- package/dist/src/collections/value-tree/index.js +688 -0
- package/dist/src/collections/value-tree/index.js.map +1 -0
- package/dist/src/collections/value-tree/materialize.d.ts +65 -0
- package/dist/src/collections/value-tree/materialize.d.ts.map +1 -0
- package/dist/src/collections/value-tree/materialize.js +238 -0
- package/dist/src/collections/value-tree/materialize.js.map +1 -0
- package/dist/src/collections/value-tree/types.d.ts +324 -0
- package/dist/src/collections/value-tree/types.d.ts.map +1 -0
- package/dist/src/collections/value-tree/types.js +168 -0
- package/dist/src/collections/value-tree/types.js.map +1 -0
- package/dist/src/component.d.ts +1047 -61
- package/dist/src/component.d.ts.map +1 -1
- package/dist/src/component.js +97 -3
- package/dist/src/component.js.map +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +4 -3
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +3 -3
- package/dist/src/internal.js.map +1 -1
- package/dist/src/layout/splitter/index.d.ts +1 -0
- package/dist/src/layout/splitter/index.d.ts.map +1 -1
- package/dist/src/layout/splitter/index.js +2 -1
- package/dist/src/layout/splitter/index.js.map +1 -1
- package/dist/src/layout/splitter/types.d.ts +9 -0
- package/dist/src/layout/splitter/types.d.ts.map +1 -1
- package/dist/src/layout/splitter/types.js +4 -0
- package/dist/src/layout/splitter/types.js.map +1 -1
- package/dist/src/navigation/app/index.d.ts +135 -0
- package/dist/src/navigation/app/index.d.ts.map +1 -0
- package/dist/src/navigation/app/index.js +191 -0
- package/dist/src/navigation/app/index.js.map +1 -0
- package/dist/src/navigation/index.d.ts +1 -0
- package/dist/src/navigation/index.d.ts.map +1 -1
- package/dist/src/navigation/index.js +1 -0
- package/dist/src/navigation/index.js.map +1 -1
- package/dist/src/navigation/pages/types.d.ts +15 -1
- package/dist/src/navigation/pages/types.d.ts.map +1 -1
- package/dist/src/navigation/pages/types.js.map +1 -1
- package/dist/src/platform/slice/impl.js +2 -2
- package/dist/src/platform/slice/impl.js.map +1 -1
- package/dist/src/runtime/collections/calendar.d.ts +10 -5
- package/dist/src/runtime/collections/calendar.d.ts.map +1 -1
- package/dist/src/runtime/collections/calendar.js +10 -5
- package/dist/src/runtime/collections/calendar.js.map +1 -1
- package/dist/src/runtime/collections/deck.d.ts +1066 -0
- package/dist/src/runtime/collections/deck.d.ts.map +1 -0
- package/dist/src/runtime/collections/deck.js +54 -0
- package/dist/src/runtime/collections/deck.js.map +1 -0
- package/dist/src/runtime/collections/index.d.ts +2 -0
- package/dist/src/runtime/collections/index.d.ts.map +1 -1
- package/dist/src/runtime/collections/index.js +2 -0
- package/dist/src/runtime/collections/index.js.map +1 -1
- package/dist/src/runtime/collections/value-tree.d.ts +202 -0
- package/dist/src/runtime/collections/value-tree.d.ts.map +1 -0
- package/dist/src/runtime/collections/value-tree.js +49 -0
- package/dist/src/runtime/collections/value-tree.js.map +1 -0
- package/dist/src/runtime/navigation/app.d.ts +50 -0
- package/dist/src/runtime/navigation/app.d.ts.map +1 -0
- package/dist/src/runtime/navigation/app.js +51 -0
- package/dist/src/runtime/navigation/app.js.map +1 -0
- package/dist/src/runtime/navigation/index.d.ts +1 -0
- package/dist/src/runtime/navigation/index.d.ts.map +1 -1
- package/dist/src/runtime/navigation/index.js +1 -0
- package/dist/src/runtime/navigation/index.js.map +1 -1
- package/dist/test/collections/calendar.examples.d.ts +2 -0
- package/dist/test/collections/calendar.examples.d.ts.map +1 -1
- package/dist/test/collections/calendar.examples.js +74 -42
- package/dist/test/collections/calendar.examples.js.map +1 -1
- package/dist/test/collections/deck.examples.d.ts +8 -0
- package/dist/test/collections/deck.examples.d.ts.map +1 -0
- package/dist/test/collections/deck.examples.js +169 -0
- package/dist/test/collections/deck.examples.js.map +1 -0
- package/dist/test/collections/planner.examples.js +2 -2
- package/dist/test/collections/value-tree.examples.d.ts +10 -0
- package/dist/test/collections/value-tree.examples.d.ts.map +1 -0
- package/dist/test/collections/value-tree.examples.js +263 -0
- package/dist/test/collections/value-tree.examples.js.map +1 -0
- package/dist/test/display/image.examples.js +1 -1
- package/dist/test/display/image.examples.js.map +1 -1
- package/dist/test/layout/aligned-stack.examples.js +4 -4
- package/dist/test/layout/aligned-stack.examples.js.map +1 -1
- package/dist/test/layout/dock.examples.js +6 -6
- package/dist/test/layout/dock.examples.js.map +1 -1
- package/dist/test/layout/splitter.examples.d.ts +1 -0
- package/dist/test/layout/splitter.examples.d.ts.map +1 -1
- package/dist/test/layout/splitter.examples.js +11 -0
- package/dist/test/layout/splitter.examples.js.map +1 -1
- package/dist/test/navigation/app.examples.d.ts +22 -0
- package/dist/test/navigation/app.examples.d.ts.map +1 -0
- package/dist/test/navigation/app.examples.js +116 -0
- package/dist/test/navigation/app.examples.js.map +1 -0
- package/dist/test/navigation/nav-list.examples.js +2 -2
- package/dist/test/navigation/nav-list.examples.js.map +1 -1
- package/dist/test/overlays/drawer.examples.js +2 -2
- package/dist/test/overlays/drawer.examples.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/collections/deck/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,461 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Deck — the declarative grouped card collection (#359).
|
|
7
|
+
*
|
|
8
|
+
* `Deck.Root(data, config)` renders rows as presentation cards: a
|
|
9
|
+
* structured face (`card` accessor — title / sublabel / icon / status /
|
|
10
|
+
* tone / facts) or a fully custom face (`render` accessor returning any
|
|
11
|
+
* UI component), grouped by named GROUP BY toolbar options, laid out as
|
|
12
|
+
* a wrapping card grid or a single-column list. Filtering and search
|
|
13
|
+
* flow through the SLICE interface (like Table) — a Deck has no bespoke
|
|
14
|
+
* search of its own.
|
|
15
|
+
*
|
|
16
|
+
* Cards carry two states: the LIST face (the summary above) and an
|
|
17
|
+
* optional VIEW state rendered in an anchored POPOVER CARD. The
|
|
18
|
+
* `onClick` and `onHover` accessors return the popover's BODY content
|
|
19
|
+
* (any UI component); the popover's head is INHERITED from the card
|
|
20
|
+
* face (icon, title, sublabel, status, tone rule). Clicking opens a
|
|
21
|
+
* sticky popover (Esc / outside / × closes); hovering shows a transient
|
|
22
|
+
* peek on hover-capable pointers. `onOpen` / `onClose` report the
|
|
23
|
+
* click-popover transitions; `onCardClick` remains the plain tap
|
|
24
|
+
* callback. Cards are tap targets, never drag sources.
|
|
25
|
+
*/
|
|
26
|
+
import { ArrayType, AsyncFunctionType, BooleanType, DictType, East, Expr, FloatType, FunctionType, NullType, OptionType, StringType, StructType, some, none, variant, } from "@elaraai/east";
|
|
27
|
+
import { UIComponentType } from "../../component.js";
|
|
28
|
+
import { mapRowsBlock } from "../../shared/reify.js";
|
|
29
|
+
import {} from "../../display/icon/types.js";
|
|
30
|
+
import {} from "../../style/interaction.js";
|
|
31
|
+
import { ValueFormatType } from "../../contracts/format.js";
|
|
32
|
+
import { SliceBindType, SliceChromeType } from "../../platform/slice/index.js";
|
|
33
|
+
import { SliceAffordanceType } from "../../contracts/slice-affordances.js";
|
|
34
|
+
import { DeckFactType, DeckFillType, DeckLayoutType, DeckMetricType, DeckNoteType, DeckReadoutType, DeckRowsType, DeckStatusColorType, DeckStatusType, DeckStatusesType, DeckStyleType, LibraryDimValueType, LibraryGroupMetaType, } from "./types.js";
|
|
35
|
+
export { DeckFactType, DeckFillType, DeckLayoutType, DeckMetricType, DeckNoteType, DeckReadoutType, DeckRowsType, DeckStatusColorType, DeckStatusType, DeckStatusesType, DeckStyleType, } from "./types.js";
|
|
36
|
+
/** The standard status tone literals (the `token` colour arm). */
|
|
37
|
+
const STATUS_TOKENS = ["success", "warning", "danger", "info", "neutral"];
|
|
38
|
+
// ============================================================================
|
|
39
|
+
// Card face
|
|
40
|
+
// ============================================================================
|
|
41
|
+
/**
|
|
42
|
+
* The structured face produced by the `card` accessor — the per-row
|
|
43
|
+
* fields before the factory merges in groups / search / custom face.
|
|
44
|
+
*/
|
|
45
|
+
export const DeckCardFaceType = StructType({
|
|
46
|
+
key: StringType,
|
|
47
|
+
title: StringType,
|
|
48
|
+
sublabel: OptionType(StringType),
|
|
49
|
+
icon: OptionType(StringType),
|
|
50
|
+
status: OptionType(StringType),
|
|
51
|
+
metrics: ArrayType(DeckMetricType),
|
|
52
|
+
fill: OptionType(DeckFillType),
|
|
53
|
+
facts: ArrayType(DeckFactType),
|
|
54
|
+
filtered: BooleanType,
|
|
55
|
+
});
|
|
56
|
+
/**
|
|
57
|
+
* A resolved Deck item — the face merged with groups / search / custom
|
|
58
|
+
* face at factory time (the renderer never sees the host row type).
|
|
59
|
+
*
|
|
60
|
+
* @remarks
|
|
61
|
+
* Mirrors the inline `Deck` variant's `items` element in `component.ts`
|
|
62
|
+
* (the Card convention for containers whose payload references the
|
|
63
|
+
* recursive `UIComponentType`).
|
|
64
|
+
*/
|
|
65
|
+
export const DeckItemType = StructType({
|
|
66
|
+
key: StringType,
|
|
67
|
+
title: StringType,
|
|
68
|
+
sublabel: OptionType(StringType),
|
|
69
|
+
icon: OptionType(StringType),
|
|
70
|
+
status: OptionType(StringType),
|
|
71
|
+
metrics: ArrayType(DeckMetricType),
|
|
72
|
+
fill: OptionType(DeckFillType),
|
|
73
|
+
facts: ArrayType(DeckFactType),
|
|
74
|
+
filtered: BooleanType,
|
|
75
|
+
groups: DictType(StringType, StringType),
|
|
76
|
+
face: OptionType(UIComponentType),
|
|
77
|
+
detail: OptionType(UIComponentType),
|
|
78
|
+
hover: OptionType(UIComponentType),
|
|
79
|
+
});
|
|
80
|
+
/**
|
|
81
|
+
* The full Deck payload — mirrors the inline `Deck` variant in
|
|
82
|
+
* `component.ts`; use for `ValueTypeOf<typeof Deck.Types.Deck>` in
|
|
83
|
+
* renderers and assertions.
|
|
84
|
+
*/
|
|
85
|
+
export const DeckRootType = StructType({
|
|
86
|
+
items: ArrayType(DeckItemType),
|
|
87
|
+
statuses: DeckStatusesType,
|
|
88
|
+
groupOptions: ArrayType(LibraryGroupMetaType),
|
|
89
|
+
groupSummaries: DictType(StringType, DictType(StringType, StringType)),
|
|
90
|
+
footer: ArrayType(StructType({ label: StringType, value: StringType })),
|
|
91
|
+
legend: BooleanType,
|
|
92
|
+
layout: OptionType(DeckLayoutType),
|
|
93
|
+
onCardClick: OptionType(FunctionType([StringType], NullType)),
|
|
94
|
+
onOpen: OptionType(AsyncFunctionType([StringType], NullType)),
|
|
95
|
+
onClose: OptionType(AsyncFunctionType([], NullType)),
|
|
96
|
+
slice: OptionType(SliceChromeType),
|
|
97
|
+
style: OptionType(DeckStyleType),
|
|
98
|
+
});
|
|
99
|
+
/** Build a {@link DeckFillType} value from plain fill fields. */
|
|
100
|
+
function createFill(fill) {
|
|
101
|
+
const value = East.value(fill.value);
|
|
102
|
+
const max = East.value(fill.max);
|
|
103
|
+
const accessor = typeof fill.format === "function" ? fill.format : undefined;
|
|
104
|
+
const spec = typeof fill.format === "function" ? undefined : fill.format;
|
|
105
|
+
return East.value({
|
|
106
|
+
value,
|
|
107
|
+
max,
|
|
108
|
+
format: spec !== undefined ? some(spec) : none,
|
|
109
|
+
text: accessor !== undefined ? some(accessor(value, max)) : none,
|
|
110
|
+
}, DeckFillType);
|
|
111
|
+
}
|
|
112
|
+
/** Build a {@link DeckCardFaceType} value from plain face fields. */
|
|
113
|
+
function createCard(fields) {
|
|
114
|
+
return East.value({
|
|
115
|
+
key: fields.key,
|
|
116
|
+
title: fields.title,
|
|
117
|
+
sublabel: fields.sublabel !== undefined ? some(fields.sublabel) : none,
|
|
118
|
+
icon: fields.icon !== undefined ? some(fields.icon) : none,
|
|
119
|
+
status: fields.status !== undefined ? some(fields.status) : none,
|
|
120
|
+
metrics: fields.metrics !== undefined ? East.value(fields.metrics, ArrayType(DeckMetricType)) : East.value([], ArrayType(DeckMetricType)),
|
|
121
|
+
fill: fields.fill !== undefined ? some(createFill(fields.fill)) : none,
|
|
122
|
+
facts: fields.facts !== undefined ? East.value(fields.facts, ArrayType(DeckFactType)) : East.value([], ArrayType(DeckFactType)),
|
|
123
|
+
filtered: fields.filtered ?? false,
|
|
124
|
+
}, DeckCardFaceType);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Builds the deck's status registry — the single definition per state
|
|
128
|
+
* that drives the card's solid status tag (+ dot / pulse), the faint
|
|
129
|
+
* face wash, the fill-bar colour, group-head swatches, the legend and
|
|
130
|
+
* the popover head wash. Card faces reference entries by key via their
|
|
131
|
+
* `status` field.
|
|
132
|
+
*
|
|
133
|
+
* @param statuses - Status key → definition
|
|
134
|
+
* @returns The registry value for the `statuses` config option
|
|
135
|
+
*/
|
|
136
|
+
function createStatuses(statuses) {
|
|
137
|
+
return new Map(Object.entries(statuses).map(([key, s]) => [key, {
|
|
138
|
+
label: s.label,
|
|
139
|
+
color: STATUS_TOKENS.includes(s.color)
|
|
140
|
+
? variant("token", variant(s.color, null))
|
|
141
|
+
: variant("custom", s.color),
|
|
142
|
+
pulse: s.pulse ?? false,
|
|
143
|
+
hint: s.hint !== undefined ? some(s.hint) : none,
|
|
144
|
+
}]));
|
|
145
|
+
}
|
|
146
|
+
/** Normalize a metric/readout value to an Option expression + derived
|
|
147
|
+
* text for accessor formatters (`none` values render "—"). */
|
|
148
|
+
function normalizeScalar(value, format) {
|
|
149
|
+
const v = East.value(value);
|
|
150
|
+
const t = Expr.type(v);
|
|
151
|
+
const isOption = t.type === "Variant" && t.cases !== undefined
|
|
152
|
+
&& Object.keys(t.cases).length === 2 && "some" in t.cases && "none" in t.cases;
|
|
153
|
+
const option = isOption
|
|
154
|
+
? v
|
|
155
|
+
: East.value(some(v), OptionType(FloatType));
|
|
156
|
+
const accessor = typeof format === "function" ? format : undefined;
|
|
157
|
+
const spec = typeof format === "function" ? undefined : format;
|
|
158
|
+
let text = none;
|
|
159
|
+
if (accessor !== undefined) {
|
|
160
|
+
text = option.match({
|
|
161
|
+
some: (_$, x) => East.value(some(accessor(x)), OptionType(StringType)),
|
|
162
|
+
none: () => East.value(none, OptionType(StringType)),
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
return { value: option, format: spec !== undefined ? some(spec) : none, text };
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Builds one card metric — a label-over-value pair in the mono tabular
|
|
169
|
+
* voice. The value stays RAW in the payload; display formatting uses
|
|
170
|
+
* the shared {@link ValueFormatType} vocabulary (`Chart.format.*`) or a
|
|
171
|
+
* text accessor. Option-valued metrics render "—" when `none`.
|
|
172
|
+
*
|
|
173
|
+
* @param label - Metric caption (mono uppercase)
|
|
174
|
+
* @param value - The raw value (Float, or an Option of Float)
|
|
175
|
+
* @param options - `format` (spec or accessor) + `warn` flag
|
|
176
|
+
* @returns A {@link DeckMetricType} expression
|
|
177
|
+
*/
|
|
178
|
+
function createMetric(label, value, options) {
|
|
179
|
+
const scalar = normalizeScalar(value, options?.format);
|
|
180
|
+
return East.value({
|
|
181
|
+
label,
|
|
182
|
+
value: scalar.value,
|
|
183
|
+
format: scalar.format,
|
|
184
|
+
text: scalar.text,
|
|
185
|
+
warn: options?.warn ?? false,
|
|
186
|
+
}, DeckMetricType);
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Creates a readout rail — a bordered grid of big mono values with
|
|
190
|
+
* units, the popover body's headline numbers.
|
|
191
|
+
*
|
|
192
|
+
* @param cells - The readout cells ({@link DeckReadoutCell})
|
|
193
|
+
* @returns An East expression of `UIComponentType`
|
|
194
|
+
*/
|
|
195
|
+
function createReadout(cells) {
|
|
196
|
+
return East.value(variant("DeckReadout", {
|
|
197
|
+
cells: East.value(cells.map(cell => {
|
|
198
|
+
const scalar = normalizeScalar(cell.value, cell.format);
|
|
199
|
+
return East.value({
|
|
200
|
+
label: cell.label,
|
|
201
|
+
value: scalar.value,
|
|
202
|
+
format: scalar.format,
|
|
203
|
+
text: scalar.text,
|
|
204
|
+
unit: cell.unit !== undefined ? some(cell.unit) : none,
|
|
205
|
+
warn: cell.warn ?? false,
|
|
206
|
+
}, DeckReadoutType.fields.cells.value);
|
|
207
|
+
}), DeckReadoutType.fields.cells),
|
|
208
|
+
}), UIComponentType);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Creates key–value detail rows — the popover body's labelled facts
|
|
212
|
+
* (mono uppercase key column, body-voice values).
|
|
213
|
+
*
|
|
214
|
+
* @param rows - The rows (`label` + `value`)
|
|
215
|
+
* @returns An East expression of `UIComponentType`
|
|
216
|
+
*/
|
|
217
|
+
function createRows(rows) {
|
|
218
|
+
return East.value(variant("DeckRows", {
|
|
219
|
+
rows: East.value(rows.map(row => East.value({
|
|
220
|
+
label: row.label,
|
|
221
|
+
value: row.value,
|
|
222
|
+
}, DeckRowsType.fields.rows.value)), DeckRowsType.fields.rows),
|
|
223
|
+
}), UIComponentType);
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Creates a dashed-top mono footnote — the popover body's trailing note.
|
|
227
|
+
*
|
|
228
|
+
* @param text - The note text
|
|
229
|
+
* @returns An East expression of `UIComponentType`
|
|
230
|
+
*/
|
|
231
|
+
function createNote(text) {
|
|
232
|
+
return East.value(variant("DeckNote", { text }), UIComponentType);
|
|
233
|
+
}
|
|
234
|
+
/** Affordances a Deck rail cannot mount — no continuous axis (`brush`),
|
|
235
|
+
* no series (`legend`); slice breakdown would fight the GROUP BY toolbar. */
|
|
236
|
+
const REJECTED_AFFORDANCES = ["brush", "legend", "breakdown"];
|
|
237
|
+
// ============================================================================
|
|
238
|
+
// Factory
|
|
239
|
+
// ============================================================================
|
|
240
|
+
function buildRoot(data, config) {
|
|
241
|
+
const data_expr = East.value(data);
|
|
242
|
+
const groupDefs = config.groupBy ?? [];
|
|
243
|
+
const render = config.render;
|
|
244
|
+
const view = config.onClick;
|
|
245
|
+
const hover = config.onHover;
|
|
246
|
+
const items = mapRowsBlock(data_expr, DeckItemType, ($, row) => {
|
|
247
|
+
const groups = $.let(new Map(), DictType(StringType, StringType));
|
|
248
|
+
for (const group of groupDefs) {
|
|
249
|
+
$(groups.insert(group.key, East.value(group.value(row), StringType)));
|
|
250
|
+
}
|
|
251
|
+
const raw = config.card(row);
|
|
252
|
+
const face = $.let(raw instanceof Expr ? raw : createCard(raw), DeckCardFaceType);
|
|
253
|
+
return East.value({
|
|
254
|
+
key: face.key,
|
|
255
|
+
title: face.title,
|
|
256
|
+
sublabel: face.sublabel,
|
|
257
|
+
icon: face.icon,
|
|
258
|
+
status: face.status,
|
|
259
|
+
metrics: face.metrics,
|
|
260
|
+
fill: face.fill,
|
|
261
|
+
facts: face.facts,
|
|
262
|
+
filtered: face.filtered,
|
|
263
|
+
groups,
|
|
264
|
+
face: render !== undefined ? some(render(row)) : none,
|
|
265
|
+
detail: view !== undefined ? some(view(row)) : none,
|
|
266
|
+
hover: hover !== undefined ? some(hover(row)) : none,
|
|
267
|
+
}, DeckItemType);
|
|
268
|
+
});
|
|
269
|
+
// Group-head summaries, hoisted off the items — one O(n) bucketing pass
|
|
270
|
+
// per group option (the Library convention).
|
|
271
|
+
const summariesType = DictType(StringType, DictType(StringType, StringType));
|
|
272
|
+
const summariesFn = East.function([Expr.type(data_expr)], summariesType, ($, rows) => {
|
|
273
|
+
const out = $.let(new Map(), summariesType);
|
|
274
|
+
for (const group of groupDefs) {
|
|
275
|
+
if (group.summary !== undefined) {
|
|
276
|
+
const summary = group.summary;
|
|
277
|
+
$(out.insert(group.key, rows.groupToArrays((_$, r) => East.value(group.value(r), StringType))
|
|
278
|
+
.map((_$, members) => East.value(summary(members), StringType))));
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
return out;
|
|
282
|
+
});
|
|
283
|
+
const affordances = config.affordances ?? ["filter", "search"];
|
|
284
|
+
for (const affordance of affordances) {
|
|
285
|
+
if (REJECTED_AFFORDANCES.includes(affordance)) {
|
|
286
|
+
throw new Error(`Deck does not support the '${affordance}' affordance — it has no continuous axis or series, and slice breakdown would fight the GROUP BY toolbar.`);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
const sliceChromeValue = config.slice !== undefined
|
|
290
|
+
? East.value({
|
|
291
|
+
slice: config.slice,
|
|
292
|
+
affordances: East.value(affordances.map(a => variant(a, null)), ArrayType(SliceAffordanceType)),
|
|
293
|
+
}, SliceChromeType)
|
|
294
|
+
: undefined;
|
|
295
|
+
const styleValue = config.style !== undefined
|
|
296
|
+
? East.value({
|
|
297
|
+
height: config.style.height !== undefined ? some(config.style.height) : none,
|
|
298
|
+
maxHeight: config.style.maxHeight !== undefined ? some(config.style.maxHeight) : none,
|
|
299
|
+
minCardWidth: config.style.minCardWidth !== undefined ? some(config.style.minCardWidth) : none,
|
|
300
|
+
}, DeckStyleType)
|
|
301
|
+
: undefined;
|
|
302
|
+
// Sync onOpen/onClose widen into the async slots at runtime
|
|
303
|
+
// (FunctionType <: AsyncFunctionType) — the casts only quiet TS.
|
|
304
|
+
return East.value(variant("Deck", {
|
|
305
|
+
items,
|
|
306
|
+
statuses: East.value(config.statuses ?? new Map(), DeckStatusesType),
|
|
307
|
+
groupOptions: East.value(groupDefs.map(g => ({ key: g.key, label: g.label })), ArrayType(LibraryGroupMetaType)),
|
|
308
|
+
groupSummaries: summariesFn(data_expr),
|
|
309
|
+
footer: East.value((config.footer ?? []).map(f => ({ label: f.label, value: East.value(f.value) })), DeckRootType.fields.footer),
|
|
310
|
+
legend: config.legend ?? false,
|
|
311
|
+
layout: config.layout !== undefined ? some(variant(config.layout, null)) : none,
|
|
312
|
+
onCardClick: config.onCardClick !== undefined ? some(config.onCardClick) : none,
|
|
313
|
+
onOpen: config.onOpen !== undefined ? some(config.onOpen) : none,
|
|
314
|
+
onClose: config.onClose !== undefined ? some(config.onClose) : none,
|
|
315
|
+
slice: sliceChromeValue !== undefined ? some(sliceChromeValue) : none,
|
|
316
|
+
style: styleValue !== undefined ? some(styleValue) : none,
|
|
317
|
+
}), UIComponentType);
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Creates a Deck — a declarative grouped card collection.
|
|
321
|
+
*
|
|
322
|
+
* @typeParam T - The array-of-structs data expression type
|
|
323
|
+
* @param data - The rows (one card per element)
|
|
324
|
+
* @param config - The Deck configuration ({@link DeckConfig})
|
|
325
|
+
* @returns An East expression of `UIComponentType`
|
|
326
|
+
*
|
|
327
|
+
* @example
|
|
328
|
+
* ```ts
|
|
329
|
+
* import { East } from "@elaraai/east";
|
|
330
|
+
* import { Deck, UIComponentType } from "@elaraai/east-ui";
|
|
331
|
+
*
|
|
332
|
+
* const example = East.function([], UIComponentType, _$ =>
|
|
333
|
+
* Deck.Root(
|
|
334
|
+
* [{ id: "a-201", name: "Line A", state: "RUNNING", load: 0.62 }],
|
|
335
|
+
* {
|
|
336
|
+
* card: r => ({
|
|
337
|
+
* key: r.id, title: r.name,
|
|
338
|
+
* status: Deck.status(r.state, "success"),
|
|
339
|
+
* facts: [Deck.meter("Load", r.load.multiply(100.0), 100.0, East.str`${East.print(r.load.multiply(100.0))}%`)],
|
|
340
|
+
* }),
|
|
341
|
+
* groupBy: [{ key: "state", label: "Status", value: r => r.state }],
|
|
342
|
+
* },
|
|
343
|
+
* ),
|
|
344
|
+
* );
|
|
345
|
+
* ```
|
|
346
|
+
*/
|
|
347
|
+
function createDeck(data, config) {
|
|
348
|
+
return buildRoot(data, config);
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Creates a meter fact (utilisation bar + right-aligned text).
|
|
352
|
+
*
|
|
353
|
+
* @param label - Fact caption
|
|
354
|
+
* @param value - Current value
|
|
355
|
+
* @param max - Full-bar value
|
|
356
|
+
* @param text - Right-aligned reading
|
|
357
|
+
* @returns A {@link DeckFactType} expression
|
|
358
|
+
*/
|
|
359
|
+
function createMeterFact(label, value, max, text) {
|
|
360
|
+
return East.value({
|
|
361
|
+
label,
|
|
362
|
+
value: variant("meter", { value, max, text: some(text) }),
|
|
363
|
+
}, DeckFactType);
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Creates a chips fact (a row of small chips).
|
|
367
|
+
*
|
|
368
|
+
* @param label - Fact caption
|
|
369
|
+
* @param values - Chip texts
|
|
370
|
+
* @returns A {@link DeckFactType} expression
|
|
371
|
+
*/
|
|
372
|
+
function createChipsFact(label, values) {
|
|
373
|
+
return East.value({
|
|
374
|
+
label,
|
|
375
|
+
value: variant("chips", values),
|
|
376
|
+
}, DeckFactType);
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Creates a text fact (a muted caption line).
|
|
380
|
+
*
|
|
381
|
+
* @param label - Fact caption
|
|
382
|
+
* @param text - The caption text
|
|
383
|
+
* @returns A {@link DeckFactType} expression
|
|
384
|
+
*/
|
|
385
|
+
function createTextFact(label, text) {
|
|
386
|
+
return East.value({
|
|
387
|
+
label,
|
|
388
|
+
value: variant("text", text),
|
|
389
|
+
}, DeckFactType);
|
|
390
|
+
}
|
|
391
|
+
// ============================================================================
|
|
392
|
+
// Namespace export
|
|
393
|
+
// ============================================================================
|
|
394
|
+
/**
|
|
395
|
+
* Deck component namespace.
|
|
396
|
+
*
|
|
397
|
+
* @remarks
|
|
398
|
+
* `Deck.Root(data, config)` builds the card collection; the `card` mapper
|
|
399
|
+
* returns plain face fields per row; `Deck.status` / `Deck.meter` /
|
|
400
|
+
* `Deck.chips` / `Deck.text` build the face values. Group-by options are
|
|
401
|
+
* plain config literals, like Library's.
|
|
402
|
+
*/
|
|
403
|
+
export const Deck = {
|
|
404
|
+
/**
|
|
405
|
+
* Creates a Deck — a declarative grouped card collection.
|
|
406
|
+
*
|
|
407
|
+
* @param data - The rows (one card per element)
|
|
408
|
+
* @param config - The Deck configuration ({@link DeckConfig})
|
|
409
|
+
* @returns An East expression of `UIComponentType`
|
|
410
|
+
*/
|
|
411
|
+
Root: createDeck,
|
|
412
|
+
/** Builds the status registry for the `statuses` config option. */
|
|
413
|
+
statuses: createStatuses,
|
|
414
|
+
/** Builds one card metric (label-over-value, raw value + shared format). */
|
|
415
|
+
metric: createMetric,
|
|
416
|
+
/** Creates a readout rail (popover headline numbers). */
|
|
417
|
+
Readout: createReadout,
|
|
418
|
+
/** Creates key–value detail rows (popover labelled facts). */
|
|
419
|
+
Rows: createRows,
|
|
420
|
+
/** Creates a dashed-top mono footnote (popover trailing note). */
|
|
421
|
+
Note: createNote,
|
|
422
|
+
/** Creates a meter fact (utilisation bar + right-aligned text). */
|
|
423
|
+
meter: createMeterFact,
|
|
424
|
+
/** Creates a chips fact (a row of small chips). */
|
|
425
|
+
chips: createChipsFact,
|
|
426
|
+
/** Creates a text fact (a muted caption line). */
|
|
427
|
+
text: createTextFact,
|
|
428
|
+
Types: {
|
|
429
|
+
/** The full Deck payload (mirrors the inline `component.ts` variant). */
|
|
430
|
+
Deck: DeckRootType,
|
|
431
|
+
/** A resolved Deck item. */
|
|
432
|
+
Item: DeckItemType,
|
|
433
|
+
/** The structured card face (`card` accessor target). */
|
|
434
|
+
Face: DeckCardFaceType,
|
|
435
|
+
/** The status registry (key → definition). */
|
|
436
|
+
Statuses: DeckStatusesType,
|
|
437
|
+
/** One status registry entry. */
|
|
438
|
+
Status: DeckStatusType,
|
|
439
|
+
/** A status colour (token or custom). */
|
|
440
|
+
StatusColor: DeckStatusColorType,
|
|
441
|
+
/** A card metric. */
|
|
442
|
+
Metric: DeckMetricType,
|
|
443
|
+
/** The card fill bar. */
|
|
444
|
+
Fill: DeckFillType,
|
|
445
|
+
/** The readout rail component payload. */
|
|
446
|
+
Readout: DeckReadoutType,
|
|
447
|
+
/** The detail-rows component payload. */
|
|
448
|
+
Rows: DeckRowsType,
|
|
449
|
+
/** The note component payload. */
|
|
450
|
+
Note: DeckNoteType,
|
|
451
|
+
/** A labelled card fact. */
|
|
452
|
+
Fact: DeckFactType,
|
|
453
|
+
/** Fact value kinds (shared with Library dimensions). */
|
|
454
|
+
FactValue: LibraryDimValueType,
|
|
455
|
+
/** Layout mode. */
|
|
456
|
+
Layout: DeckLayoutType,
|
|
457
|
+
/** Container style. */
|
|
458
|
+
Style: DeckStyleType,
|
|
459
|
+
},
|
|
460
|
+
};
|
|
461
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/collections/deck/index.ts"],"names":[],"mappings":"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"}
|