@antelopejs/interface-dms 0.4.2 → 0.5.1
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/auth/db/tables/users.table.d.ts +7 -0
- package/dist/auth/db/tables/users.table.js +4 -0
- package/dist/auth/db/tables/users.table.js.map +1 -1
- package/dist/base/activity-feed.d.ts +53 -31
- package/dist/base/activity-feed.js +15 -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 +44 -32
- 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/factory-helpers.js +8 -0
- package/dist/base/table-view/internal/factory-helpers.js.map +1 -1
- package/dist/base/table-view/internal/nav-badges.js +7 -2
- package/dist/base/table-view/internal/nav-badges.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 -4
- package/dist/base/table-view/options.js.map +1 -1
- package/dist/base/table-view/schema.d.ts +22 -5
- package/dist/base/table-view/schema.js +11 -4
- 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/dist/component.d.ts +35 -4
- package/dist/component.js +20 -7
- package/dist/component.js.map +1 -1
- package/dist/data-controllers/roles.js +10 -0
- package/dist/data-controllers/roles.js.map +1 -1
- package/dist/db/internal/inviteResolutions.model.d.ts +5 -0
- package/dist/db/internal/inviteResolutions.model.js +13 -0
- package/dist/db/internal/inviteResolutions.model.js.map +1 -1
- package/dist/db/tables/inviteResolutions.table.d.ts +5 -0
- package/dist/db/tables/inviteResolutions.table.js +5 -0
- package/dist/db/tables/inviteResolutions.table.js.map +1 -1
- package/dist/db/tables/user_invites.table.d.ts +0 -1
- package/dist/db/tables/user_invites.table.js +0 -4
- package/dist/db/tables/user_invites.table.js.map +1 -1
- package/dist/internal/permission-ids.d.ts +16 -0
- package/dist/internal/permission-ids.js +31 -0
- package/dist/internal/permission-ids.js.map +1 -0
- package/dist/internal/permission-requirements.d.ts +15 -0
- package/dist/internal/permission-requirements.js +38 -0
- package/dist/internal/permission-requirements.js.map +1 -0
- package/dist/invite-resolution.js +0 -1
- package/dist/invite-resolution.js.map +1 -1
- package/dist/invites.d.ts +0 -2
- package/dist/invites.js +1 -3
- package/dist/invites.js.map +1 -1
- package/dist/page/internal/categories.js +2 -1
- package/dist/page/internal/categories.js.map +1 -1
- package/dist/page/internal/member-access.d.ts +14 -0
- package/dist/page/internal/member-access.js +22 -0
- package/dist/page/internal/member-access.js.map +1 -0
- package/dist/page/internal/nav-badges.d.ts +41 -6
- package/dist/page/internal/nav-badges.js +66 -17
- package/dist/page/internal/nav-badges.js.map +1 -1
- package/dist/page/layout-filter.js +10 -3
- package/dist/page/layout-filter.js.map +1 -1
- package/dist/page/metadata.d.ts +9 -0
- package/dist/page/metadata.js +35 -4
- package/dist/page/metadata.js.map +1 -1
- package/dist/page/roots.d.ts +7 -0
- package/dist/page/roots.js +8 -0
- package/dist/page/roots.js.map +1 -1
- package/dist/page/types.d.ts +19 -3
- package/dist/permissions.d.ts +11 -0
- package/dist/permissions.js +50 -10
- package/dist/permissions.js.map +1 -1
- 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 {
|
|
@@ -64,7 +68,9 @@ export interface NavCardGridOptions extends Omit<NavCardGridProps, "categoryId">
|
|
|
64
68
|
/**
|
|
65
69
|
* The category whose pages the cards stand for: a card per page the viewer
|
|
66
70
|
* can open, with the badge its navigation entry shows. A settings overview
|
|
67
|
-
* lists its sections this way, a module's home its pages.
|
|
71
|
+
* lists its sections this way, a module's home its pages. A viewer who can
|
|
72
|
+
* open none of them gets no grid at all, title included, unless `empty`
|
|
73
|
+
* says what to show instead.
|
|
68
74
|
*/
|
|
69
75
|
category?: CategoryInfo;
|
|
70
76
|
}
|
|
@@ -73,6 +79,8 @@ export declare function NavCardGrid(options?: NavCardGridOptions): ComponentBuil
|
|
|
73
79
|
export declare const NavCardGridSchema: z.ZodObject<{
|
|
74
80
|
fetchUrl: z.ZodOptional<z.ZodString>;
|
|
75
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">]>>;
|
|
76
84
|
empty: z.ZodOptional<z.ZodObject<{
|
|
77
85
|
title: z.ZodString;
|
|
78
86
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -88,37 +96,37 @@ export declare const NavCardGridSchema: z.ZodObject<{
|
|
|
88
96
|
description: z.ZodOptional<z.ZodString>;
|
|
89
97
|
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
90
98
|
id: z.ZodOptional<z.ZodString>;
|
|
91
|
-
title: z.
|
|
92
|
-
description: z.ZodOptional<z.
|
|
99
|
+
title: z.ZodType<BlockText, z.ZodTypeDef, BlockText>;
|
|
100
|
+
description: z.ZodOptional<z.ZodType<BlockText, z.ZodTypeDef, BlockText>>;
|
|
93
101
|
icon: z.ZodString;
|
|
94
102
|
iconTone: z.ZodOptional<z.ZodEnum<["primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | "muted", ...("primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | "muted")[]]>>;
|
|
95
103
|
to: z.ZodString;
|
|
96
|
-
state: z.ZodOptional<z.
|
|
104
|
+
state: z.ZodOptional<z.ZodType<BlockText, z.ZodTypeDef, BlockText>>;
|
|
97
105
|
stateTone: z.ZodOptional<z.ZodEnum<["primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral", ...("primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral")[]]>>;
|
|
98
|
-
tag: z.ZodOptional<z.
|
|
99
|
-
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">>;
|
|
100
108
|
}, "strip", z.ZodTypeAny, {
|
|
101
|
-
title:
|
|
109
|
+
title: BlockText;
|
|
102
110
|
icon: string;
|
|
103
111
|
to: string;
|
|
104
|
-
description?:
|
|
112
|
+
description?: BlockText | undefined;
|
|
105
113
|
id?: string | undefined;
|
|
106
|
-
state?:
|
|
114
|
+
state?: BlockText | undefined;
|
|
107
115
|
iconTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | "muted" | undefined;
|
|
108
116
|
stateTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
109
|
-
tag?:
|
|
110
|
-
readout?:
|
|
117
|
+
tag?: BlockText | undefined;
|
|
118
|
+
readout?: BlockText[] | undefined;
|
|
111
119
|
}, {
|
|
112
|
-
title:
|
|
120
|
+
title: BlockText;
|
|
113
121
|
icon: string;
|
|
114
122
|
to: string;
|
|
115
|
-
description?:
|
|
123
|
+
description?: BlockText | undefined;
|
|
116
124
|
id?: string | undefined;
|
|
117
|
-
state?:
|
|
125
|
+
state?: BlockText | undefined;
|
|
118
126
|
iconTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | "muted" | undefined;
|
|
119
127
|
stateTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
120
|
-
tag?:
|
|
121
|
-
readout?:
|
|
128
|
+
tag?: BlockText | undefined;
|
|
129
|
+
readout?: BlockText[] | undefined;
|
|
122
130
|
}>, "many">>;
|
|
123
131
|
columns: z.ZodDefault<z.ZodNumber>;
|
|
124
132
|
categoryId: z.ZodOptional<z.ZodString>;
|
|
@@ -126,20 +134,22 @@ export declare const NavCardGridSchema: z.ZodObject<{
|
|
|
126
134
|
columns: number;
|
|
127
135
|
description?: string | undefined;
|
|
128
136
|
items?: {
|
|
129
|
-
title:
|
|
137
|
+
title: BlockText;
|
|
130
138
|
icon: string;
|
|
131
139
|
to: string;
|
|
132
|
-
description?:
|
|
140
|
+
description?: BlockText | undefined;
|
|
133
141
|
id?: string | undefined;
|
|
134
|
-
state?:
|
|
142
|
+
state?: BlockText | undefined;
|
|
135
143
|
iconTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | "muted" | undefined;
|
|
136
144
|
stateTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
137
|
-
tag?:
|
|
138
|
-
readout?:
|
|
145
|
+
tag?: BlockText | undefined;
|
|
146
|
+
readout?: BlockText[] | undefined;
|
|
139
147
|
}[] | undefined;
|
|
140
148
|
title?: string | undefined;
|
|
141
149
|
fetchUrl?: string | undefined;
|
|
142
150
|
fetchUrlMethod?: import("./types").HttpMethod | undefined;
|
|
151
|
+
periodScope?: string | undefined;
|
|
152
|
+
realtimeTopic?: string | string[] | undefined;
|
|
143
153
|
empty?: {
|
|
144
154
|
title: string;
|
|
145
155
|
description?: string | undefined;
|
|
@@ -149,20 +159,22 @@ export declare const NavCardGridSchema: z.ZodObject<{
|
|
|
149
159
|
}, {
|
|
150
160
|
description?: string | undefined;
|
|
151
161
|
items?: {
|
|
152
|
-
title:
|
|
162
|
+
title: BlockText;
|
|
153
163
|
icon: string;
|
|
154
164
|
to: string;
|
|
155
|
-
description?:
|
|
165
|
+
description?: BlockText | undefined;
|
|
156
166
|
id?: string | undefined;
|
|
157
|
-
state?:
|
|
167
|
+
state?: BlockText | undefined;
|
|
158
168
|
iconTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | "muted" | undefined;
|
|
159
169
|
stateTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
160
|
-
tag?:
|
|
161
|
-
readout?:
|
|
170
|
+
tag?: BlockText | undefined;
|
|
171
|
+
readout?: BlockText[] | undefined;
|
|
162
172
|
}[] | undefined;
|
|
163
173
|
title?: string | undefined;
|
|
164
174
|
fetchUrl?: string | undefined;
|
|
165
175
|
fetchUrlMethod?: import("./types").HttpMethod | undefined;
|
|
176
|
+
periodScope?: string | undefined;
|
|
177
|
+
realtimeTopic?: string | string[] | undefined;
|
|
166
178
|
columns?: number | undefined;
|
|
167
179
|
empty?: {
|
|
168
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":";;;AA2FA,kCAkBC;AA7GD,4CAAgD;AAChD,6BAAwB;AACxB,qDAA+E;AAC/E,uCAA2E;AAC3E,gDAA8C;AAC9C,uCAA2E;AAC3E,4DAA2D;AAI3D,gEAAsE;AA0CtE,MAAM,4BAA4B,GAAG,yBAAyB,CAAC;AAC/D,MAAM,kBAAkB,GAAG,YAAY,CAAC;AACxC,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAqCxC,SAAgB,WAAW,CACzB,OAA4B;IAE5B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAqB;QAC9B,OAAO,EAAE,6BAA6B;QACtC,GAAG,IAAI;KACR,CAAC;IACF,IAAI,QAAQ;QAAE,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;IACjD,OAAO,IAAA,0CAAwB,EAC7B,IAAI,4BAAgB,CAAmB,4BAA4B,CAAC;SACjE,OAAO,CAAC,KAAK,CAAC;SACd,IAAI,CAAC;QACJ,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,kBAAkB;QAC1C,IAAI,EAAE,kBAAkB;KACzB,CAAC,EACJ,IAAI,CAAC,aAAa,CACnB,CAAC;AACJ,CAAC;AAED,MAAM,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC,EAAE,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC/D,KAAK,EAAE,IAAA,mBAAE,EAAC,IAAA,+BAAe,GAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAChE,WAAW,EAAE,IAAA,mBAAE,EAAC,IAAA,+BAAe,GAAE,CAAC,QAAQ,EAAE,EAAE;QAC5C,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,UAAU;KACnB,CAAC;IACF,IAAI,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACvD,QAAQ,EAAE,IAAA,mBAAE,EAAC,IAAA,kBAAQ,EAAC,iBAAU,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC5C,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,QAAQ;KACjB,CAAC;IACF,EAAE,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE;QACtD,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,KAAK;KACd,CAAC;IACF,KAAK,EAAE,IAAA,mBAAE,EAAC,IAAA,+BAAe,GAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC3E,SAAS,EAAE,IAAA,mBAAE,EAAC,IAAA,kBAAQ,EAAC,YAAK,CAAC,CAAC,QAAQ,EAAE,EAAE;QACxC,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,QAAQ;KACjB,CAAC;IACF,GAAG,EAAE,IAAA,mBAAE,EAAC,IAAA,+BAAe,GAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACvE,OAAO,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,KAAK,CAAC,IAAA,+BAAe,GAAE,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjD,KAAK,EAAE,eAAe;KACvB,CAAC;CACH,CAAwC,CAAC;AAE1C,yCAAyC;AAC5B,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE;QACzE,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,SAAS;KACjB,CAAC;IACF,WAAW,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;QACrC,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,UAAU;KACnB,CAAC;IACF,KAAK,EAAE,IAAA,mBAAE,EACP,OAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EACtE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CACrC;IACD,OAAO,EAAE,IAAA,mBAAE,EACT,OAAC;SACE,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,OAAO,CAAC,6BAA6B,CAAC;SACtC,QAAQ,CAAC,0BAA0B,CAAC,EACvC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CACxE;IACD,UAAU,EAAE,IAAA,mBAAE,EACZ,OAAC;SACE,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,+FAA+F,CAChG,EACH,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CACjE;IACD,GAAG,IAAA,iCAAuB,GAAE;CAC7B,CAA6C,CAAC;AAE/C,IAAA,kCAAiB,EAAC;IAChB,IAAI,EAAE,aAAa;IACnB,aAAa,EAAE,4BAA4B;IAC3C,MAAM,EAAE,yBAAiB;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,yDAAyD;QACtE,KAAK,EAAE,SAAS;KACjB;CACF,CAAC,CAAC"}
|
|
@@ -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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"}
|