@antelopejs/interface-dms 0.5.0 → 0.5.2
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 +58 -0
- package/dist/base/activity-feed.d.ts +43 -31
- package/dist/base/activity-feed.js +11 -6
- package/dist/base/activity-feed.js.map +1 -1
- package/dist/base/banner.d.ts +61 -4
- package/dist/base/banner.js +13 -2
- package/dist/base/banner.js.map +1 -1
- package/dist/base/block-types.d.ts +1 -0
- package/dist/base/block-types.js +1 -0
- package/dist/base/block-types.js.map +1 -1
- package/dist/base/chart-card.d.ts +1 -1
- package/dist/base/chart-schemas.d.ts +52 -52
- package/dist/base/chart-schemas.js +2 -6
- package/dist/base/chart-schemas.js.map +1 -1
- package/dist/base/chart.js +2 -20
- package/dist/base/chart.js.map +1 -1
- package/dist/base/code-block.d.ts +89 -0
- package/dist/base/code-block.js +93 -0
- package/dist/base/code-block.js.map +1 -0
- package/dist/base/display.d.ts +27 -4
- package/dist/base/display.js +28 -6
- package/dist/base/display.js.map +1 -1
- package/dist/base/empty-state.d.ts +35 -0
- package/dist/base/empty-state.js +10 -0
- package/dist/base/empty-state.js.map +1 -1
- package/dist/base/index.d.ts +1 -0
- package/dist/base/index.js +1 -0
- package/dist/base/index.js.map +1 -1
- package/dist/base/internal/composed-text.d.ts +8 -1
- package/dist/base/internal/composed-text.js +9 -1
- package/dist/base/internal/composed-text.js.map +1 -1
- package/dist/base/internal/realtime-topics.d.ts +15 -0
- package/dist/base/internal/realtime-topics.js +36 -0
- package/dist/base/internal/realtime-topics.js.map +1 -0
- package/dist/base/key-value-list.d.ts +23 -0
- package/dist/base/key-value-list.js +8 -2
- package/dist/base/key-value-list.js.map +1 -1
- package/dist/base/meter.d.ts +38 -17
- package/dist/base/meter.js +15 -6
- package/dist/base/meter.js.map +1 -1
- package/dist/base/nav-card-grid.d.ts +41 -31
- package/dist/base/nav-card-grid.js +11 -7
- package/dist/base/nav-card-grid.js.map +1 -1
- package/dist/base/stat-group.d.ts +6 -0
- package/dist/base/stat-group.js +3 -2
- package/dist/base/stat-group.js.map +1 -1
- package/dist/base/tab.d.ts +8 -0
- package/dist/base/tab.js +5 -2
- package/dist/base/tab.js.map +1 -1
- package/dist/base/table-view/column-display.d.ts +43 -3
- package/dist/base/table-view/column-display.js +3 -2
- package/dist/base/table-view/column-display.js.map +1 -1
- package/dist/base/table-view/factory.js +2 -0
- package/dist/base/table-view/factory.js.map +1 -1
- package/dist/base/table-view/internal/realtime.d.ts +7 -0
- package/dist/base/table-view/internal/realtime.js +14 -0
- package/dist/base/table-view/internal/realtime.js.map +1 -1
- package/dist/base/table-view/options.d.ts +20 -6
- package/dist/base/table-view/options.js.map +1 -1
- package/dist/base/table-view/schema.d.ts +3 -0
- package/dist/base/table-view/schema.js +5 -0
- package/dist/base/table-view/schema.js.map +1 -1
- package/dist/base/table-view/source.d.ts +10 -2
- package/dist/base/table-view/source.js +9 -1
- package/dist/base/table-view/source.js.map +1 -1
- package/dist/base/top-list-card.d.ts +21 -14
- package/dist/base/top-list-card.js +3 -2
- package/dist/base/top-list-card.js.map +1 -1
- package/dist/base/types/action-target.d.ts +14 -0
- package/package.json +1 -1
package/dist/base/meter.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { ComponentBuilder } from "../component";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { type BlockLinkAction } from "./display";
|
|
4
4
|
import type { BaseComponentProps, EnumOption } from "./types";
|
|
5
|
+
import type { BlockText } from "./types/composed-text";
|
|
5
6
|
import type { HttpMethod } from "./types/http";
|
|
6
7
|
/**
|
|
7
8
|
* Fill tones of a meter: the semantic tones plus `soft`, the pale primary of
|
|
@@ -19,15 +20,19 @@ export type MeterSize = (typeof METER_SIZES)[number];
|
|
|
19
20
|
export interface MeterSegment {
|
|
20
21
|
value: number;
|
|
21
22
|
tone?: MeterTone;
|
|
22
|
-
/**
|
|
23
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Legend text ("6 members"): a literal, a `$`-prefixed i18n key, or a
|
|
25
|
+
* `ComposedText` (`{ key: "media.storage.files", params: { count: { type:
|
|
26
|
+
* "count", value: 6 } } }`).
|
|
27
|
+
*/
|
|
28
|
+
label?: BlockText;
|
|
24
29
|
}
|
|
25
30
|
/** The options `Meter` takes. */
|
|
26
31
|
export interface MeterProps extends BaseComponentProps {
|
|
27
32
|
/** Name of the measure ("Seats"). */
|
|
28
33
|
label?: string;
|
|
29
|
-
/** Dimmed note after the label ("8 in use · 2 free")
|
|
30
|
-
hint?:
|
|
34
|
+
/** Dimmed note after the label ("8 in use · 2 free"); a `BlockText`. */
|
|
35
|
+
hint?: BlockText;
|
|
31
36
|
/** Filled amount; ignored when `segments` is set. */
|
|
32
37
|
value?: number;
|
|
33
38
|
/** Total the bar stands for. Defaults to 100. */
|
|
@@ -38,8 +43,8 @@ export interface MeterProps extends BaseComponentProps {
|
|
|
38
43
|
legend?: boolean;
|
|
39
44
|
/** Value text right of the label. Defaults to `fraction`. */
|
|
40
45
|
format?: MeterFormat;
|
|
41
|
-
/** Replaces the formatted value text
|
|
42
|
-
valueLabel?:
|
|
46
|
+
/** Replaces the formatted value text; a `BlockText`. */
|
|
47
|
+
valueLabel?: BlockText;
|
|
43
48
|
/** Fill tone of a single value. Defaults to `primary`. */
|
|
44
49
|
tone?: MeterTone;
|
|
45
50
|
/** Percent of `max` from which the fill turns warning. */
|
|
@@ -56,6 +61,16 @@ export interface MeterProps extends BaseComponentProps {
|
|
|
56
61
|
*/
|
|
57
62
|
fetchUrl?: string;
|
|
58
63
|
fetchUrlMethod?: EnumOption<HttpMethod>;
|
|
64
|
+
/**
|
|
65
|
+
* Id of the `PeriodSelector` the figures follow, as in
|
|
66
|
+
* `BlockItemsSource.periodScope`.
|
|
67
|
+
*/
|
|
68
|
+
periodScope?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Topics whose events make the meter read `fetchUrl` again, as in
|
|
71
|
+
* `BlockItemsSource.realtimeTopic`.
|
|
72
|
+
*/
|
|
73
|
+
realtimeTopic?: string | string[];
|
|
59
74
|
/** Wraps the meter in a padded card. Defaults to `false`. */
|
|
60
75
|
card?: boolean;
|
|
61
76
|
/** Link buttons under the bar, on the right ("Manage members"). */
|
|
@@ -85,31 +100,33 @@ export declare function Meter(options?: MeterProps): ComponentBuilder<MeterProps
|
|
|
85
100
|
/** The options `Meter` accepts. */
|
|
86
101
|
export declare const MeterSchema: z.ZodObject<{
|
|
87
102
|
label: z.ZodOptional<z.ZodString>;
|
|
88
|
-
hint: z.ZodOptional<z.
|
|
103
|
+
hint: z.ZodOptional<z.ZodType<BlockText, z.ZodTypeDef, BlockText>>;
|
|
89
104
|
value: z.ZodOptional<z.ZodNumber>;
|
|
90
105
|
max: z.ZodOptional<z.ZodNumber>;
|
|
91
106
|
segments: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
92
107
|
value: z.ZodNumber;
|
|
93
108
|
tone: z.ZodOptional<z.ZodEnum<["soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral", ...("soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral")[]]>>;
|
|
94
|
-
label: z.ZodOptional<z.
|
|
109
|
+
label: z.ZodOptional<z.ZodType<BlockText, z.ZodTypeDef, BlockText>>;
|
|
95
110
|
}, "strip", z.ZodTypeAny, {
|
|
96
111
|
value: number;
|
|
97
|
-
label?:
|
|
112
|
+
label?: BlockText | undefined;
|
|
98
113
|
tone?: "soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
99
114
|
}, {
|
|
100
115
|
value: number;
|
|
101
|
-
label?:
|
|
116
|
+
label?: BlockText | undefined;
|
|
102
117
|
tone?: "soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
103
118
|
}>, "many">>;
|
|
104
119
|
legend: z.ZodOptional<z.ZodBoolean>;
|
|
105
120
|
format: z.ZodOptional<z.ZodEnum<["fraction", "percent", "value", "none"]>>;
|
|
106
|
-
valueLabel: z.ZodOptional<z.
|
|
121
|
+
valueLabel: z.ZodOptional<z.ZodType<BlockText, z.ZodTypeDef, BlockText>>;
|
|
107
122
|
tone: z.ZodOptional<z.ZodEnum<["soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral", ...("soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral")[]]>>;
|
|
108
123
|
warnAt: z.ZodOptional<z.ZodNumber>;
|
|
109
124
|
errorAt: z.ZodOptional<z.ZodNumber>;
|
|
110
125
|
size: z.ZodOptional<z.ZodEnum<["xs", "sm", "md"]>>;
|
|
111
126
|
fetchUrl: z.ZodOptional<z.ZodString>;
|
|
112
127
|
fetchUrlMethod: z.ZodOptional<z.ZodNativeEnum<typeof HttpMethod>>;
|
|
128
|
+
periodScope: z.ZodOptional<z.ZodString>;
|
|
129
|
+
realtimeTopic: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
113
130
|
card: z.ZodDefault<z.ZodBoolean>;
|
|
114
131
|
actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
115
132
|
label: z.ZodString;
|
|
@@ -137,10 +154,12 @@ export declare const MeterSchema: z.ZodObject<{
|
|
|
137
154
|
size?: "xs" | "sm" | "md" | undefined;
|
|
138
155
|
format?: "value" | "none" | "percent" | "fraction" | undefined;
|
|
139
156
|
label?: string | undefined;
|
|
140
|
-
hint?:
|
|
157
|
+
hint?: BlockText | undefined;
|
|
141
158
|
fetchUrl?: string | undefined;
|
|
142
159
|
fetchUrlMethod?: HttpMethod | undefined;
|
|
143
|
-
|
|
160
|
+
periodScope?: string | undefined;
|
|
161
|
+
valueLabel?: BlockText | undefined;
|
|
162
|
+
realtimeTopic?: string | string[] | undefined;
|
|
144
163
|
legend?: boolean | undefined;
|
|
145
164
|
actions?: {
|
|
146
165
|
label: string;
|
|
@@ -152,7 +171,7 @@ export declare const MeterSchema: z.ZodObject<{
|
|
|
152
171
|
tone?: "soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
153
172
|
segments?: {
|
|
154
173
|
value: number;
|
|
155
|
-
label?:
|
|
174
|
+
label?: BlockText | undefined;
|
|
156
175
|
tone?: "soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
157
176
|
}[] | undefined;
|
|
158
177
|
warnAt?: number | undefined;
|
|
@@ -163,11 +182,13 @@ export declare const MeterSchema: z.ZodObject<{
|
|
|
163
182
|
size?: "xs" | "sm" | "md" | undefined;
|
|
164
183
|
format?: "value" | "none" | "percent" | "fraction" | undefined;
|
|
165
184
|
label?: string | undefined;
|
|
166
|
-
hint?:
|
|
185
|
+
hint?: BlockText | undefined;
|
|
167
186
|
fetchUrl?: string | undefined;
|
|
168
187
|
fetchUrlMethod?: HttpMethod | undefined;
|
|
169
188
|
card?: boolean | undefined;
|
|
170
|
-
|
|
189
|
+
periodScope?: string | undefined;
|
|
190
|
+
valueLabel?: BlockText | undefined;
|
|
191
|
+
realtimeTopic?: string | string[] | undefined;
|
|
171
192
|
legend?: boolean | undefined;
|
|
172
193
|
actions?: {
|
|
173
194
|
label: string;
|
|
@@ -179,7 +200,7 @@ export declare const MeterSchema: z.ZodObject<{
|
|
|
179
200
|
tone?: "soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
180
201
|
segments?: {
|
|
181
202
|
value: number;
|
|
182
|
-
label?:
|
|
203
|
+
label?: BlockText | undefined;
|
|
183
204
|
tone?: "soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
184
205
|
}[] | undefined;
|
|
185
206
|
warnAt?: number | undefined;
|
package/dist/base/meter.js
CHANGED
|
@@ -7,7 +7,9 @@ const zod_1 = require("zod");
|
|
|
7
7
|
const block_registry_1 = require("./block-registry");
|
|
8
8
|
const display_1 = require("./display");
|
|
9
9
|
const display_2 = require("./internal/display");
|
|
10
|
+
const composed_text_1 = require("./internal/composed-text");
|
|
10
11
|
const tone_1 = require("./types/tone");
|
|
12
|
+
const realtime_topics_1 = require("./internal/realtime-topics");
|
|
11
13
|
/**
|
|
12
14
|
* Fill tones of a meter: the semantic tones plus `soft`, the pale primary of
|
|
13
15
|
* what is pending or reserved.
|
|
@@ -40,12 +42,12 @@ const DEFAULT_ICON = "i-ph-gauge";
|
|
|
40
42
|
* ```
|
|
41
43
|
*/
|
|
42
44
|
function Meter(options) {
|
|
43
|
-
return new component_1.ComponentBuilder(METER_COMPONENT_NAME)
|
|
45
|
+
return (0, realtime_topics_1.attachRealtimeTopicsHook)(new component_1.ComponentBuilder(METER_COMPONENT_NAME)
|
|
44
46
|
.options({ ...options })
|
|
45
47
|
.meta({
|
|
46
48
|
name: options?.label || "Meter",
|
|
47
49
|
icon: DEFAULT_ICON,
|
|
48
|
-
});
|
|
50
|
+
}), options?.realtimeTopic);
|
|
49
51
|
}
|
|
50
52
|
const MeterSegmentSchema = zod_1.z.object({
|
|
51
53
|
value: (0, block_registry_1.ui)(zod_1.z.number(), { label: "Value", widget: "number" }),
|
|
@@ -53,7 +55,7 @@ const MeterSegmentSchema = zod_1.z.object({
|
|
|
53
55
|
label: "Tone",
|
|
54
56
|
widget: "select",
|
|
55
57
|
}),
|
|
56
|
-
label: (0, block_registry_1.ui)(
|
|
58
|
+
label: (0, block_registry_1.ui)((0, composed_text_1.blockTextSchema)().optional(), { label: "Legend", widget: "text" }),
|
|
57
59
|
});
|
|
58
60
|
/** The options `Meter` accepts. */
|
|
59
61
|
exports.MeterSchema = zod_1.z.object({
|
|
@@ -61,7 +63,11 @@ exports.MeterSchema = zod_1.z.object({
|
|
|
61
63
|
label: "Label",
|
|
62
64
|
group: "content",
|
|
63
65
|
}),
|
|
64
|
-
hint: (0, block_registry_1.ui)(
|
|
66
|
+
hint: (0, block_registry_1.ui)((0, composed_text_1.blockTextSchema)().optional(), {
|
|
67
|
+
label: "Hint",
|
|
68
|
+
group: "content",
|
|
69
|
+
widget: "text",
|
|
70
|
+
}),
|
|
65
71
|
value: (0, block_registry_1.ui)(zod_1.z.number().optional().describe("Filled amount."), {
|
|
66
72
|
label: "Value",
|
|
67
73
|
group: "data",
|
|
@@ -87,9 +93,10 @@ exports.MeterSchema = zod_1.z.object({
|
|
|
87
93
|
group: "appearance",
|
|
88
94
|
widget: "segmented",
|
|
89
95
|
}),
|
|
90
|
-
valueLabel: (0, block_registry_1.ui)(
|
|
96
|
+
valueLabel: (0, block_registry_1.ui)((0, composed_text_1.blockTextSchema)().optional(), {
|
|
91
97
|
label: "Custom value text",
|
|
92
98
|
group: "content",
|
|
99
|
+
widget: "text",
|
|
93
100
|
}),
|
|
94
101
|
tone: (0, block_registry_1.ui)((0, display_2.toneEnum)(exports.METER_TONES).optional(), {
|
|
95
102
|
label: "Tone",
|
|
@@ -115,8 +122,10 @@ exports.MeterSchema = zod_1.z.object({
|
|
|
115
122
|
group: "appearance",
|
|
116
123
|
widget: "segmented",
|
|
117
124
|
}),
|
|
118
|
-
fetchUrl: (0, display_1.blockFetchUrlOption)("Where the figures come from."),
|
|
125
|
+
fetchUrl: (0, display_1.blockFetchUrlOption)("Where the figures come from.", "periodScope"),
|
|
119
126
|
fetchUrlMethod: (0, display_1.blockFetchUrlMethodOption)(),
|
|
127
|
+
periodScope: (0, display_1.blockPeriodScopeOption)(),
|
|
128
|
+
realtimeTopic: (0, display_1.blockRealtimeTopicOption)(),
|
|
120
129
|
card: (0, display_1.blockCardOption)(false),
|
|
121
130
|
actions: (0, display_1.blockActionsOption)("Link buttons under the bar."),
|
|
122
131
|
});
|
package/dist/base/meter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meter.js","sourceRoot":"","sources":["../../src/base/meter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"meter.js","sourceRoot":"","sources":["../../src/base/meter.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,26 +3,30 @@ import { z } from "zod";
|
|
|
3
3
|
import { type BlockItemsSource } from "./display";
|
|
4
4
|
import { type Tone, type IconTone } from "./types/tone";
|
|
5
5
|
import type { BaseComponentProps } from "./types";
|
|
6
|
+
import type { BlockText } from "./types/composed-text";
|
|
6
7
|
import type { CategoryInfo } from "../page/types";
|
|
7
8
|
/** One navigation card. */
|
|
8
9
|
export interface NavCardItem {
|
|
9
10
|
/** Stable key; the target is used without one. */
|
|
10
11
|
id?: string;
|
|
11
|
-
/**
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
/**
|
|
13
|
+
* `$`-prefixed for an i18n key, or a `ComposedText`, like every text of
|
|
14
|
+
* the card.
|
|
15
|
+
*/
|
|
16
|
+
title: BlockText;
|
|
17
|
+
description?: BlockText;
|
|
14
18
|
icon: string;
|
|
15
19
|
iconTone?: IconTone;
|
|
16
20
|
/** Route, `#anchor` or URL. */
|
|
17
21
|
to: string;
|
|
18
22
|
/** Live state of the target, in mono at the bottom ("3 unread"). */
|
|
19
|
-
state?:
|
|
23
|
+
state?: BlockText;
|
|
20
24
|
/** Tone of the state line (`neutral` = dimmed). */
|
|
21
25
|
stateTone?: Tone;
|
|
22
26
|
/** Small uppercase tag after the title (the module a page comes from). */
|
|
23
|
-
tag?:
|
|
27
|
+
tag?: BlockText;
|
|
24
28
|
/** Mono readout lines under the description. */
|
|
25
|
-
readout?:
|
|
29
|
+
readout?: BlockText[];
|
|
26
30
|
}
|
|
27
31
|
/** The options `NavCardGrid` takes. */
|
|
28
32
|
export interface NavCardGridProps extends BaseComponentProps, BlockItemsSource {
|
|
@@ -75,6 +79,8 @@ export declare function NavCardGrid(options?: NavCardGridOptions): ComponentBuil
|
|
|
75
79
|
export declare const NavCardGridSchema: z.ZodObject<{
|
|
76
80
|
fetchUrl: z.ZodOptional<z.ZodString>;
|
|
77
81
|
fetchUrlMethod: z.ZodOptional<z.ZodNativeEnum<typeof import("./types").HttpMethod>>;
|
|
82
|
+
periodScope: z.ZodOptional<z.ZodString>;
|
|
83
|
+
realtimeTopic: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
78
84
|
empty: z.ZodOptional<z.ZodObject<{
|
|
79
85
|
title: z.ZodString;
|
|
80
86
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -90,37 +96,37 @@ export declare const NavCardGridSchema: z.ZodObject<{
|
|
|
90
96
|
description: z.ZodOptional<z.ZodString>;
|
|
91
97
|
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
92
98
|
id: z.ZodOptional<z.ZodString>;
|
|
93
|
-
title: z.
|
|
94
|
-
description: z.ZodOptional<z.
|
|
99
|
+
title: z.ZodType<BlockText, z.ZodTypeDef, BlockText>;
|
|
100
|
+
description: z.ZodOptional<z.ZodType<BlockText, z.ZodTypeDef, BlockText>>;
|
|
95
101
|
icon: z.ZodString;
|
|
96
102
|
iconTone: z.ZodOptional<z.ZodEnum<["primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | "muted", ...("primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | "muted")[]]>>;
|
|
97
103
|
to: z.ZodString;
|
|
98
|
-
state: z.ZodOptional<z.
|
|
104
|
+
state: z.ZodOptional<z.ZodType<BlockText, z.ZodTypeDef, BlockText>>;
|
|
99
105
|
stateTone: z.ZodOptional<z.ZodEnum<["primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral", ...("primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral")[]]>>;
|
|
100
|
-
tag: z.ZodOptional<z.
|
|
101
|
-
readout: z.ZodOptional<z.ZodArray<z.
|
|
106
|
+
tag: z.ZodOptional<z.ZodType<BlockText, z.ZodTypeDef, BlockText>>;
|
|
107
|
+
readout: z.ZodOptional<z.ZodArray<z.ZodType<BlockText, z.ZodTypeDef, BlockText>, "many">>;
|
|
102
108
|
}, "strip", z.ZodTypeAny, {
|
|
103
|
-
title:
|
|
109
|
+
title: BlockText;
|
|
104
110
|
icon: string;
|
|
105
111
|
to: string;
|
|
106
|
-
description?:
|
|
112
|
+
description?: BlockText | undefined;
|
|
107
113
|
id?: string | undefined;
|
|
108
|
-
state?:
|
|
114
|
+
state?: BlockText | undefined;
|
|
109
115
|
iconTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | "muted" | undefined;
|
|
110
116
|
stateTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
111
|
-
tag?:
|
|
112
|
-
readout?:
|
|
117
|
+
tag?: BlockText | undefined;
|
|
118
|
+
readout?: BlockText[] | undefined;
|
|
113
119
|
}, {
|
|
114
|
-
title:
|
|
120
|
+
title: BlockText;
|
|
115
121
|
icon: string;
|
|
116
122
|
to: string;
|
|
117
|
-
description?:
|
|
123
|
+
description?: BlockText | undefined;
|
|
118
124
|
id?: string | undefined;
|
|
119
|
-
state?:
|
|
125
|
+
state?: BlockText | undefined;
|
|
120
126
|
iconTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | "muted" | undefined;
|
|
121
127
|
stateTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
122
|
-
tag?:
|
|
123
|
-
readout?:
|
|
128
|
+
tag?: BlockText | undefined;
|
|
129
|
+
readout?: BlockText[] | undefined;
|
|
124
130
|
}>, "many">>;
|
|
125
131
|
columns: z.ZodDefault<z.ZodNumber>;
|
|
126
132
|
categoryId: z.ZodOptional<z.ZodString>;
|
|
@@ -128,20 +134,22 @@ export declare const NavCardGridSchema: z.ZodObject<{
|
|
|
128
134
|
columns: number;
|
|
129
135
|
description?: string | undefined;
|
|
130
136
|
items?: {
|
|
131
|
-
title:
|
|
137
|
+
title: BlockText;
|
|
132
138
|
icon: string;
|
|
133
139
|
to: string;
|
|
134
|
-
description?:
|
|
140
|
+
description?: BlockText | undefined;
|
|
135
141
|
id?: string | undefined;
|
|
136
|
-
state?:
|
|
142
|
+
state?: BlockText | undefined;
|
|
137
143
|
iconTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | "muted" | undefined;
|
|
138
144
|
stateTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
139
|
-
tag?:
|
|
140
|
-
readout?:
|
|
145
|
+
tag?: BlockText | undefined;
|
|
146
|
+
readout?: BlockText[] | undefined;
|
|
141
147
|
}[] | undefined;
|
|
142
148
|
title?: string | undefined;
|
|
143
149
|
fetchUrl?: string | undefined;
|
|
144
150
|
fetchUrlMethod?: import("./types").HttpMethod | undefined;
|
|
151
|
+
periodScope?: string | undefined;
|
|
152
|
+
realtimeTopic?: string | string[] | undefined;
|
|
145
153
|
empty?: {
|
|
146
154
|
title: string;
|
|
147
155
|
description?: string | undefined;
|
|
@@ -151,20 +159,22 @@ export declare const NavCardGridSchema: z.ZodObject<{
|
|
|
151
159
|
}, {
|
|
152
160
|
description?: string | undefined;
|
|
153
161
|
items?: {
|
|
154
|
-
title:
|
|
162
|
+
title: BlockText;
|
|
155
163
|
icon: string;
|
|
156
164
|
to: string;
|
|
157
|
-
description?:
|
|
165
|
+
description?: BlockText | undefined;
|
|
158
166
|
id?: string | undefined;
|
|
159
|
-
state?:
|
|
167
|
+
state?: BlockText | undefined;
|
|
160
168
|
iconTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | "muted" | undefined;
|
|
161
169
|
stateTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
162
|
-
tag?:
|
|
163
|
-
readout?:
|
|
170
|
+
tag?: BlockText | undefined;
|
|
171
|
+
readout?: BlockText[] | undefined;
|
|
164
172
|
}[] | undefined;
|
|
165
173
|
title?: string | undefined;
|
|
166
174
|
fetchUrl?: string | undefined;
|
|
167
175
|
fetchUrlMethod?: import("./types").HttpMethod | undefined;
|
|
176
|
+
periodScope?: string | undefined;
|
|
177
|
+
realtimeTopic?: string | string[] | undefined;
|
|
168
178
|
columns?: number | undefined;
|
|
169
179
|
empty?: {
|
|
170
180
|
title: string;
|
|
@@ -8,6 +8,8 @@ const block_registry_1 = require("./block-registry");
|
|
|
8
8
|
const display_1 = require("./display");
|
|
9
9
|
const display_2 = require("./internal/display");
|
|
10
10
|
const tone_1 = require("./types/tone");
|
|
11
|
+
const composed_text_1 = require("./internal/composed-text");
|
|
12
|
+
const realtime_topics_1 = require("./internal/realtime-topics");
|
|
11
13
|
const NAV_CARD_GRID_COMPONENT_NAME = "dms-nav-card-grid-block";
|
|
12
14
|
const NAV_CARD_GRID_ICON = "i-ph-cards";
|
|
13
15
|
const NAV_CARD_GRID_DEFAULT_COLUMNS = 3;
|
|
@@ -19,17 +21,17 @@ function NavCardGrid(options) {
|
|
|
19
21
|
};
|
|
20
22
|
if (category)
|
|
21
23
|
props.categoryId = category.fullId;
|
|
22
|
-
return new component_1.ComponentBuilder(NAV_CARD_GRID_COMPONENT_NAME)
|
|
24
|
+
return (0, realtime_topics_1.attachRealtimeTopicsHook)(new component_1.ComponentBuilder(NAV_CARD_GRID_COMPONENT_NAME)
|
|
23
25
|
.options(props)
|
|
24
26
|
.meta({
|
|
25
27
|
name: options?.title || "Navigation cards",
|
|
26
28
|
icon: NAV_CARD_GRID_ICON,
|
|
27
|
-
});
|
|
29
|
+
}), rest.realtimeTopic);
|
|
28
30
|
}
|
|
29
31
|
const NavCardItemSchema = zod_1.z.object({
|
|
30
32
|
id: (0, block_registry_1.ui)(zod_1.z.string().optional(), { label: "Key", advanced: true }),
|
|
31
|
-
title: (0, block_registry_1.ui)(
|
|
32
|
-
description: (0, block_registry_1.ui)(
|
|
33
|
+
title: (0, block_registry_1.ui)((0, composed_text_1.blockTextSchema)(), { label: "Title", widget: "text" }),
|
|
34
|
+
description: (0, block_registry_1.ui)((0, composed_text_1.blockTextSchema)().optional(), {
|
|
33
35
|
label: "Description",
|
|
34
36
|
widget: "textarea",
|
|
35
37
|
}),
|
|
@@ -42,13 +44,15 @@ const NavCardItemSchema = zod_1.z.object({
|
|
|
42
44
|
label: "Link",
|
|
43
45
|
widget: "url",
|
|
44
46
|
}),
|
|
45
|
-
state: (0, block_registry_1.ui)(
|
|
47
|
+
state: (0, block_registry_1.ui)((0, composed_text_1.blockTextSchema)().optional(), { label: "State", widget: "text" }),
|
|
46
48
|
stateTone: (0, block_registry_1.ui)((0, display_2.toneEnum)(tone_1.TONES).optional(), {
|
|
47
49
|
label: "State tone",
|
|
48
50
|
widget: "select",
|
|
49
51
|
}),
|
|
50
|
-
tag: (0, block_registry_1.ui)(
|
|
51
|
-
readout: (0, block_registry_1.ui)(zod_1.z.array(
|
|
52
|
+
tag: (0, block_registry_1.ui)((0, composed_text_1.blockTextSchema)().optional(), { label: "Tag", widget: "text" }),
|
|
53
|
+
readout: (0, block_registry_1.ui)(zod_1.z.array((0, composed_text_1.blockTextSchema)()).optional(), {
|
|
54
|
+
label: "Readout lines",
|
|
55
|
+
}),
|
|
52
56
|
});
|
|
53
57
|
/** The options `NavCardGrid` accepts. */
|
|
54
58
|
exports.NavCardGridSchema = zod_1.z.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-card-grid.js","sourceRoot":"","sources":["../../src/base/nav-card-grid.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"nav-card-grid.js","sourceRoot":"","sources":["../../src/base/nav-card-grid.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,6 +74,8 @@ export declare function StatGroup(options?: StatGroupProps): ComponentBuilder<St
|
|
|
74
74
|
export declare const StatGroupSchema: z.ZodObject<{
|
|
75
75
|
fetchUrl: z.ZodOptional<z.ZodString>;
|
|
76
76
|
fetchUrlMethod: z.ZodOptional<z.ZodNativeEnum<typeof import("./types").HttpMethod>>;
|
|
77
|
+
periodScope: z.ZodOptional<z.ZodString>;
|
|
78
|
+
realtimeTopic: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
77
79
|
empty: z.ZodOptional<z.ZodObject<{
|
|
78
80
|
title: z.ZodString;
|
|
79
81
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -131,6 +133,8 @@ export declare const StatGroupSchema: z.ZodObject<{
|
|
|
131
133
|
label?: string | undefined;
|
|
132
134
|
fetchUrl?: string | undefined;
|
|
133
135
|
fetchUrlMethod?: import("./types").HttpMethod | undefined;
|
|
136
|
+
periodScope?: string | undefined;
|
|
137
|
+
realtimeTopic?: string | string[] | undefined;
|
|
134
138
|
columns?: number | undefined;
|
|
135
139
|
empty?: {
|
|
136
140
|
title: string;
|
|
@@ -152,6 +156,8 @@ export declare const StatGroupSchema: z.ZodObject<{
|
|
|
152
156
|
fetchUrl?: string | undefined;
|
|
153
157
|
fetchUrlMethod?: import("./types").HttpMethod | undefined;
|
|
154
158
|
layout?: "cards" | "joined" | undefined;
|
|
159
|
+
periodScope?: string | undefined;
|
|
160
|
+
realtimeTopic?: string | string[] | undefined;
|
|
155
161
|
columns?: number | undefined;
|
|
156
162
|
empty?: {
|
|
157
163
|
title: string;
|
package/dist/base/stat-group.js
CHANGED
|
@@ -9,6 +9,7 @@ const display_1 = require("./display");
|
|
|
9
9
|
const display_2 = require("./internal/display");
|
|
10
10
|
const tone_1 = require("./types/tone");
|
|
11
11
|
const composed_text_1 = require("./internal/composed-text");
|
|
12
|
+
const realtime_topics_1 = require("./internal/realtime-topics");
|
|
12
13
|
/** How a stat group lays its cells out: see `StatGroupProps.layout`. */
|
|
13
14
|
exports.STAT_GROUP_LAYOUTS = ["joined", "cards"];
|
|
14
15
|
const STAT_GROUP_COMPONENT_NAME = "dms-stat-group-block";
|
|
@@ -34,9 +35,9 @@ const STAT_GROUP_DEFAULT_LAYOUT = "joined";
|
|
|
34
35
|
* ```
|
|
35
36
|
*/
|
|
36
37
|
function StatGroup(options) {
|
|
37
|
-
return new component_1.ComponentBuilder(STAT_GROUP_COMPONENT_NAME)
|
|
38
|
+
return (0, realtime_topics_1.attachRealtimeTopicsHook)(new component_1.ComponentBuilder(STAT_GROUP_COMPONENT_NAME)
|
|
38
39
|
.options({ layout: STAT_GROUP_DEFAULT_LAYOUT, ...options })
|
|
39
|
-
.meta({ name: "Stat group", icon: STAT_GROUP_ICON });
|
|
40
|
+
.meta({ name: "Stat group", icon: STAT_GROUP_ICON }), options?.realtimeTopic);
|
|
40
41
|
}
|
|
41
42
|
const StatGroupItemSchema = zod_1.z.object({
|
|
42
43
|
id: (0, block_registry_1.ui)(zod_1.z.string().optional(), { label: "Key", advanced: true }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stat-group.js","sourceRoot":"","sources":["../../src/base/stat-group.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"stat-group.js","sourceRoot":"","sources":["../../src/base/stat-group.ts"],"names":[],"mappings":"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"}
|
package/dist/base/tab.d.ts
CHANGED
|
@@ -53,6 +53,11 @@ export interface TabProps extends BaseComponentProps {
|
|
|
53
53
|
* requested while a token has no value: the static badges show.
|
|
54
54
|
*/
|
|
55
55
|
badgesUrl?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Topics whose events make the tab set read `badgesUrl` again, as in
|
|
58
|
+
* `BlockItemsSource.realtimeTopic`.
|
|
59
|
+
*/
|
|
60
|
+
realtimeTopic?: string | string[];
|
|
56
61
|
}
|
|
57
62
|
/**
|
|
58
63
|
* `options` is optional because a page is written as it is built: the editor
|
|
@@ -64,6 +69,7 @@ export declare const Tab: (options?: TabProps) => ComponentBuilder<TabProps>;
|
|
|
64
69
|
/** The options `Tab` accepts. */
|
|
65
70
|
export declare const TabSchema: z.ZodObject<{
|
|
66
71
|
badgesUrl: z.ZodOptional<z.ZodString>;
|
|
72
|
+
realtimeTopic: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
67
73
|
items: z.ZodArray<z.ZodObject<{
|
|
68
74
|
label: z.ZodString;
|
|
69
75
|
slot: z.ZodString;
|
|
@@ -164,6 +170,7 @@ export declare const TabSchema: z.ZodObject<{
|
|
|
164
170
|
variant?: TabVariant | undefined;
|
|
165
171
|
color?: Color | undefined;
|
|
166
172
|
orientation?: AxeOrientation | undefined;
|
|
173
|
+
realtimeTopic?: string | string[] | undefined;
|
|
167
174
|
unmountOnHide?: boolean | undefined;
|
|
168
175
|
persistState?: boolean | undefined;
|
|
169
176
|
stateKey?: string | undefined;
|
|
@@ -191,6 +198,7 @@ export declare const TabSchema: z.ZodObject<{
|
|
|
191
198
|
variant?: TabVariant | undefined;
|
|
192
199
|
color?: Color | undefined;
|
|
193
200
|
orientation?: AxeOrientation | undefined;
|
|
201
|
+
realtimeTopic?: string | string[] | undefined;
|
|
194
202
|
unmountOnHide?: boolean | undefined;
|
|
195
203
|
persistState?: boolean | undefined;
|
|
196
204
|
stateKey?: string | undefined;
|
package/dist/base/tab.js
CHANGED
|
@@ -7,6 +7,8 @@ const block_registry_1 = require("./block-registry");
|
|
|
7
7
|
const color_1 = require("./types/color");
|
|
8
8
|
const orientation_1 = require("./types/orientation");
|
|
9
9
|
const size_1 = require("./types/size");
|
|
10
|
+
const display_1 = require("./display");
|
|
11
|
+
const realtime_topics_1 = require("./internal/realtime-topics");
|
|
10
12
|
var TabEvents;
|
|
11
13
|
(function (TabEvents) {
|
|
12
14
|
TabEvents.TAB_CHANGE = "DmsComponent.Tab.Change";
|
|
@@ -24,12 +26,12 @@ const TAB_COMPONENT_NAME = "dms-tab";
|
|
|
24
26
|
* on every edit — so a block with nothing set yet has to be a legal call.
|
|
25
27
|
*/
|
|
26
28
|
const Tab = (options) => {
|
|
27
|
-
return new component_1.ComponentBuilder(TAB_COMPONENT_NAME)
|
|
29
|
+
return (0, realtime_topics_1.attachRealtimeTopicsHook)(new component_1.ComponentBuilder(TAB_COMPONENT_NAME)
|
|
28
30
|
.options({ ...options })
|
|
29
31
|
.meta({
|
|
30
32
|
name: "Tabs",
|
|
31
33
|
icon: "i-ph-tabs",
|
|
32
|
-
});
|
|
34
|
+
}), options?.realtimeTopic);
|
|
33
35
|
};
|
|
34
36
|
exports.Tab = Tab;
|
|
35
37
|
const BadgeSchema = zod_1.z.object({
|
|
@@ -61,6 +63,7 @@ exports.TabSchema = zod_1.z.object({
|
|
|
61
63
|
.string()
|
|
62
64
|
.optional()
|
|
63
65
|
.describe("Route answering the badge of each tab, by slot."), { label: "Badges from", group: "data", widget: "url", advanced: true }),
|
|
66
|
+
realtimeTopic: (0, display_1.blockRealtimeTopicOption)(),
|
|
64
67
|
items: (0, block_registry_1.ui)(zod_1.z.array(TabItemSchema).describe("The tabs, in display order."), {
|
|
65
68
|
label: "Tabs",
|
|
66
69
|
group: "content",
|
package/dist/base/tab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab.js","sourceRoot":"","sources":["../../src/base/tab.ts"],"names":[],"mappings":";;;AAAA,4CAAgD;AAChD,6BAAwB;AACxB,qDAA+E;AAG/E,yCAAsC;AACtC,qDAAqD;AACrD,uCAAoC;
|
|
1
|
+
{"version":3,"file":"tab.js","sourceRoot":"","sources":["../../src/base/tab.ts"],"names":[],"mappings":"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"}
|