@antelopejs/interface-dms 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/auth/db/tables/users.table.d.ts +7 -0
  3. package/dist/auth/db/tables/users.table.js +4 -0
  4. package/dist/auth/db/tables/users.table.js.map +1 -1
  5. package/dist/base/activity-feed.d.ts +10 -0
  6. package/dist/base/activity-feed.js +4 -0
  7. package/dist/base/activity-feed.js.map +1 -1
  8. package/dist/base/banner.d.ts +15 -9
  9. package/dist/base/banner.js +8 -3
  10. package/dist/base/banner.js.map +1 -1
  11. package/dist/base/card.d.ts +2 -2
  12. package/dist/base/chart-card.d.ts +2 -2
  13. package/dist/base/internal/composed-text.d.ts +14 -0
  14. package/dist/base/internal/composed-text.js +51 -0
  15. package/dist/base/internal/composed-text.js.map +1 -0
  16. package/dist/base/key-value-list.d.ts +31 -25
  17. package/dist/base/key-value-list.js +5 -3
  18. package/dist/base/key-value-list.js.map +1 -1
  19. package/dist/base/kpi-card.d.ts +2 -2
  20. package/dist/base/nav-card-grid.d.ts +3 -1
  21. package/dist/base/nav-card-grid.js.map +1 -1
  22. package/dist/base/stat-group.d.ts +30 -21
  23. package/dist/base/stat-group.js +7 -3
  24. package/dist/base/stat-group.js.map +1 -1
  25. package/dist/base/table-view/column-display.d.ts +80 -3
  26. package/dist/base/table-view/column-display.js +12 -1
  27. package/dist/base/table-view/column-display.js.map +1 -1
  28. package/dist/base/table-view/internal/factory-helpers.js +8 -0
  29. package/dist/base/table-view/internal/factory-helpers.js.map +1 -1
  30. package/dist/base/table-view/internal/nav-badges.js +7 -2
  31. package/dist/base/table-view/internal/nav-badges.js.map +1 -1
  32. package/dist/base/table-view/options.d.ts +11 -4
  33. package/dist/base/table-view/options.js.map +1 -1
  34. package/dist/base/table-view/schema.d.ts +21 -7
  35. package/dist/base/table-view/schema.js +6 -4
  36. package/dist/base/table-view/schema.js.map +1 -1
  37. package/dist/base/top-list-card.d.ts +2 -2
  38. package/dist/base/types/composed-text.d.ts +120 -0
  39. package/dist/base/types/composed-text.js +17 -0
  40. package/dist/base/types/composed-text.js.map +1 -0
  41. package/dist/base/types/index.d.ts +1 -0
  42. package/dist/base/types/index.js +1 -0
  43. package/dist/base/types/index.js.map +1 -1
  44. package/dist/component.d.ts +35 -4
  45. package/dist/component.js +20 -7
  46. package/dist/component.js.map +1 -1
  47. package/dist/data-controllers/roles.js +10 -0
  48. package/dist/data-controllers/roles.js.map +1 -1
  49. package/dist/db/internal/inviteResolutions.model.d.ts +5 -0
  50. package/dist/db/internal/inviteResolutions.model.js +13 -0
  51. package/dist/db/internal/inviteResolutions.model.js.map +1 -1
  52. package/dist/db/tables/inviteResolutions.table.d.ts +5 -0
  53. package/dist/db/tables/inviteResolutions.table.js +5 -0
  54. package/dist/db/tables/inviteResolutions.table.js.map +1 -1
  55. package/dist/db/tables/user_invites.table.d.ts +0 -1
  56. package/dist/db/tables/user_invites.table.js +0 -4
  57. package/dist/db/tables/user_invites.table.js.map +1 -1
  58. package/dist/internal/permission-ids.d.ts +16 -0
  59. package/dist/internal/permission-ids.js +31 -0
  60. package/dist/internal/permission-ids.js.map +1 -0
  61. package/dist/internal/permission-requirements.d.ts +15 -0
  62. package/dist/internal/permission-requirements.js +38 -0
  63. package/dist/internal/permission-requirements.js.map +1 -0
  64. package/dist/invite-resolution.js +0 -1
  65. package/dist/invite-resolution.js.map +1 -1
  66. package/dist/invites.d.ts +0 -2
  67. package/dist/invites.js +1 -3
  68. package/dist/invites.js.map +1 -1
  69. package/dist/layout-banners.d.ts +74 -11
  70. package/dist/layout-banners.js +3 -3
  71. package/dist/layout-banners.js.map +1 -1
  72. package/dist/page/internal/categories.js +2 -1
  73. package/dist/page/internal/categories.js.map +1 -1
  74. package/dist/page/internal/member-access.d.ts +14 -0
  75. package/dist/page/internal/member-access.js +22 -0
  76. package/dist/page/internal/member-access.js.map +1 -0
  77. package/dist/page/internal/nav-badges.d.ts +41 -6
  78. package/dist/page/internal/nav-badges.js +66 -17
  79. package/dist/page/internal/nav-badges.js.map +1 -1
  80. package/dist/page/layout-filter.js +10 -3
  81. package/dist/page/layout-filter.js.map +1 -1
  82. package/dist/page/metadata.d.ts +9 -0
  83. package/dist/page/metadata.js +35 -4
  84. package/dist/page/metadata.js.map +1 -1
  85. package/dist/page/roots.d.ts +7 -0
  86. package/dist/page/roots.js +8 -0
  87. package/dist/page/roots.js.map +1 -1
  88. package/dist/page/types.d.ts +19 -3
  89. package/dist/permissions.d.ts +11 -0
  90. package/dist/permissions.js +50 -10
  91. package/dist/permissions.js.map +1 -1
  92. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,49 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.5.0
4
+
5
+ [compare changes](https://github.com/AntelopeJS/dms/compare/interface-v0.4.2...v0.5.0)
6
+
7
+ ### 🚀 Enhancements
8
+
9
+ - **layout:** Dock module side panels next to the page ([#168](https://github.com/AntelopeJS/dms/pull/168))
10
+ - **command-palette:** Add an assistant mode a frontend module can provide ([#169](https://github.com/AntelopeJS/dms/pull/169))
11
+
12
+ ### 🩹 Fixes
13
+
14
+ - **dms:** ⚠️ Harden auth and account flows, require permission ancestors, open settings to members ([#172](https://github.com/AntelopeJS/dms/pull/172))
15
+
16
+ ### 🏡 Chore
17
+
18
+ - **release:** @antelopejs/dms v0.6.2 ([c2f3269](https://github.com/AntelopeJS/dms/commit/c2f3269))
19
+ - **release:** @antelopejs/dms v0.7.0 ([f8cc120](https://github.com/AntelopeJS/dms/commit/f8cc120))
20
+
21
+ #### ⚠️ Breaking Changes
22
+
23
+ - **dms:** ⚠️ Harden auth and account flows, require permission ancestors, open settings to members ([#172](https://github.com/AntelopeJS/dms/pull/172))
24
+
25
+ ### ❤️ Contributors
26
+
27
+ - Antony Rizzitelli <rizzitelli.antony@pm.me>
28
+ - Maxime Westhoven ([@mwesto](http://github.com/mwesto))
29
+
30
+ ## v0.4.2
31
+
32
+ [compare changes](https://github.com/AntelopeJS/dms/compare/interface-v0.4.1...v0.4.2)
33
+
34
+ ### 🚀 Enhancements
35
+
36
+ - **dms:** Compose block texts client-side with typed params and resolve layout banners per request ([#173](https://github.com/AntelopeJS/dms/pull/173))
37
+ - **dms:** Compose table cell sub-lines and add the two_line display and empty identities ([#175](https://github.com/AntelopeJS/dms/pull/175))
38
+
39
+ ### 🏡 Chore
40
+
41
+ - **release:** @antelopejs/dms v0.6.1 ([3c2fb0a](https://github.com/AntelopeJS/dms/commit/3c2fb0a))
42
+
43
+ ### ❤️ Contributors
44
+
45
+ - Antony Rizzitelli <rizzitelli.antony@pm.me>
46
+
3
47
  ## v0.4.1
4
48
 
5
49
  [compare changes](https://github.com/AntelopeJS/dms/compare/interface-v0.4.0...v0.4.1)
@@ -76,6 +76,12 @@ export declare class User extends User_base {
76
76
  twoFactorMethods: string[];
77
77
  twoFactorSecret: string | null;
78
78
  twoFactorPendingSecret: string | null;
79
+ /**
80
+ * Time step (30-second window) of the last authenticator code accepted: a
81
+ * code from that step or an earlier one is refused, so each code works
82
+ * once. Unset until a code is accepted.
83
+ */
84
+ twoFactorTotpLastStep?: number | null;
79
85
  twoFactorBackupCodes: string[];
80
86
  /** When the current set of backup codes was generated. */
81
87
  twoFactorBackupCodesGeneratedAt: Date | null;
@@ -84,6 +90,7 @@ export declare class User extends User_base {
84
90
  * copied or acknowledged); null until then.
85
91
  */
86
92
  twoFactorBackupCodesSavedAt: Date | null;
93
+ /** Hash of the last code emailed for two-factor, never the code itself. */
87
94
  twoFactorEmailCode: string | null;
88
95
  twoFactorEmailCodeRequestedAt: Date | null;
89
96
  }
@@ -122,6 +122,10 @@ __decorate([
122
122
  (0, interface_database_decorators_1.Field)("string"),
123
123
  __metadata("design:type", Object)
124
124
  ], User.prototype, "twoFactorPendingSecret", void 0);
125
+ __decorate([
126
+ (0, interface_database_decorators_1.Field)("number"),
127
+ __metadata("design:type", Object)
128
+ ], User.prototype, "twoFactorTotpLastStep", void 0);
125
129
  __decorate([
126
130
  (0, interface_database_decorators_1.Field)(["string"]),
127
131
  __metadata("design:type", Array)
@@ -1 +1 @@
1
- {"version":3,"file":"users.table.js","sourceRoot":"","sources":["../../../../src/auth/db/tables/users.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FASmD;AACnD,kDAAsD;AAGzC,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAYjC,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,qCAAK,CAAC,IAAI,CAAC,4CAAY,CAAC;CAsJjD,CAAA;AAtJY,oBAAI;AAGP;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iCACI;AAKZ;IAHP,IAAA,qCAAK,GAAE;IACP,IAAA,4CAAY,GAAE;IACd,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;uCAAC;AAKhB;IAHP,IAAA,qCAAK,GAAE;IACP,IAAA,0CAAU,GAAE;IACZ,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;uCAAC;AAKhB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mCACM;AAGd;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kCACK;AAOb;IADP,IAAA,qCAAK,EAAC,KAAK,CAAC;;oCACsC;AAO3C;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sCACS;AAMjB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sCACiB;AAIzB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;uCACyB;AAIjC;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;wCAC2B;AAInC;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;wCAC2B;AAKnC;IAFP,IAAA,sCAAM,GAAE;IACR,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sCACgB;AAOxB;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;+CACyB;AAQ/B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;qCACQ;AAOhB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,SAAS,CAAC;;yCACY;AAOrB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACuB;AAM/B;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;mDAC6B;AAOnC;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDAC2B;AAMnC;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;uDACiC;AAMvC;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;mCACM;AAQf;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;0CACoB;AAG1B;IADP,IAAA,qCAAK,EAAC,CAAC,QAAQ,CAAC,CAAC;;8CACiB;AAG3B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACuB;AAG/B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;oDAC8B;AAGtC;IADP,IAAA,qCAAK,EAAC,CAAC,QAAQ,CAAC,CAAC;;kDACqB;AAI/B;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;6DACuC;AAO7C;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;yDACmC;AAGzC;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;gDAC0B;AAGlC;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;2DACqC;eArJxC,IAAI;IADhB,IAAA,6CAAa,EAAC,wBAAgB,EAAE,4BAAgB,CAAC;GACrC,IAAI,CAsJhB"}
1
+ {"version":3,"file":"users.table.js","sourceRoot":"","sources":["../../../../src/auth/db/tables/users.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FASmD;AACnD,kDAAsD;AAGzC,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAYjC,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,qCAAK,CAAC,IAAI,CAAC,4CAAY,CAAC;CA+JjD,CAAA;AA/JY,oBAAI;AAGP;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iCACI;AAKZ;IAHP,IAAA,qCAAK,GAAE;IACP,IAAA,4CAAY,GAAE;IACd,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;uCAAC;AAKhB;IAHP,IAAA,qCAAK,GAAE;IACP,IAAA,0CAAU,GAAE;IACZ,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;uCAAC;AAKhB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mCACM;AAGd;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kCACK;AAOb;IADP,IAAA,qCAAK,EAAC,KAAK,CAAC;;oCACsC;AAO3C;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sCACS;AAMjB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sCACiB;AAIzB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;uCACyB;AAIjC;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;wCAC2B;AAInC;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;wCAC2B;AAKnC;IAFP,IAAA,sCAAM,GAAE;IACR,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sCACgB;AAOxB;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;+CACyB;AAQ/B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;qCACQ;AAOhB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,SAAS,CAAC;;yCACY;AAOrB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACuB;AAM/B;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;mDAC6B;AAOnC;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDAC2B;AAMnC;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;uDACiC;AAMvC;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;mCACM;AAQf;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;0CACoB;AAG1B;IADP,IAAA,qCAAK,EAAC,CAAC,QAAQ,CAAC,CAAC;;8CACiB;AAG3B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACuB;AAG/B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;oDAC8B;AAQtC;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDAC8B;AAGtC;IADP,IAAA,qCAAK,EAAC,CAAC,QAAQ,CAAC,CAAC;;kDACqB;AAI/B;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;6DACuC;AAO7C;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;yDACmC;AAIzC;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;gDAC0B;AAGlC;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;;2DACqC;eA9JxC,IAAI;IADhB,IAAA,6CAAa,EAAC,wBAAgB,EAAE,4BAAgB,CAAC;GACrC,IAAI,CA+JhB"}
@@ -45,6 +45,13 @@ export interface ActivityFeedProps extends BaseComponentProps, BlockItemsSource
45
45
  groupByDay?: boolean;
46
46
  /** Shows at most this many entries; `skeletonCount` never exceeds it. */
47
47
  maxItems?: number;
48
+ /**
49
+ * The card fills its grid cell instead of growing with its entries, which
50
+ * scroll inside it under a fixed head: the cards beside it in the row set
51
+ * the row's height. Once the cells stack, the list scrolls past a height
52
+ * of its own. Defaults to `false`.
53
+ */
54
+ fillHeight?: boolean;
48
55
  /** Link buttons in the card head ("View all"). */
49
56
  actions?: BlockLinkAction[];
50
57
  /** Mono titles and details (paths, queries, request logs). */
@@ -124,6 +131,7 @@ export declare const ActivityFeedSchema: z.ZodObject<{
124
131
  }>, "many">>;
125
132
  groupByDay: z.ZodOptional<z.ZodBoolean>;
126
133
  maxItems: z.ZodOptional<z.ZodNumber>;
134
+ fillHeight: z.ZodOptional<z.ZodBoolean>;
127
135
  actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
128
136
  label: z.ZodString;
129
137
  to: z.ZodString;
@@ -162,6 +170,7 @@ export declare const ActivityFeedSchema: z.ZodObject<{
162
170
  fetchUrl?: string | undefined;
163
171
  fetchUrlMethod?: import("./types").HttpMethod | undefined;
164
172
  mono?: boolean | undefined;
173
+ fillHeight?: boolean | undefined;
165
174
  actions?: {
166
175
  label: string;
167
176
  to: string;
@@ -194,6 +203,7 @@ export declare const ActivityFeedSchema: z.ZodObject<{
194
203
  fetchUrlMethod?: import("./types").HttpMethod | undefined;
195
204
  card?: boolean | undefined;
196
205
  mono?: boolean | undefined;
206
+ fillHeight?: boolean | undefined;
197
207
  actions?: {
198
208
  label: string;
199
209
  to: string;
@@ -81,6 +81,10 @@ exports.ActivityFeedSchema = zod_1.z.object({
81
81
  widget: "number",
82
82
  min: 1,
83
83
  }),
84
+ fillHeight: (0, block_registry_1.ui)(zod_1.z
85
+ .boolean()
86
+ .optional()
87
+ .describe("Fills the grid cell, the entries scrolling inside, rather than growing with them."), { label: "Fill the cell", group: "appearance", widget: "switch" }),
84
88
  actions: (0, display_1.blockActionsOption)("Link buttons in the card head."),
85
89
  ...(0, display_1.blockItemsSourceOptions)(),
86
90
  mono: (0, block_registry_1.ui)(zod_1.z.boolean().optional(), {
@@ -1 +1 @@
1
- {"version":3,"file":"activity-feed.js","sourceRoot":"","sources":["../../src/base/activity-feed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"activity-feed.js","sourceRoot":"","sources":["../../src/base/activity-feed.ts"],"names":[],"mappings":"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"}
@@ -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 } from "./types";
5
+ import type { BlockText } from "./types/composed-text";
5
6
  import type { Tone } from "./types/tone";
6
7
  /** The tones a banner washes with. */
7
8
  export declare const BANNER_TONES: readonly ["info", "success", "warning", "error", "primary"];
@@ -12,9 +13,14 @@ export declare const BANNER_SIZES: readonly ["md", "sm"];
12
13
  export type BannerSize = (typeof BANNER_SIZES)[number];
13
14
  /** The options `Banner` takes. */
14
15
  export interface BannerProps extends BaseComponentProps {
15
- /** `$`-prefixed for an i18n key, like every text of the block. */
16
- title?: string;
17
- description?: string;
16
+ /**
17
+ * `$`-prefixed for an i18n key, like every text of the block, or a
18
+ * `ComposedText` composed in the reader's language ("Payment failed, retry
19
+ * {date}").
20
+ */
21
+ title?: BlockText;
22
+ /** A string or a `ComposedText`, like `title`. */
23
+ description?: BlockText;
18
24
  tone?: BannerTone;
19
25
  /** Overrides the tone's icon. */
20
26
  icon?: string;
@@ -52,8 +58,8 @@ export interface BannerProps extends BaseComponentProps {
52
58
  export declare function Banner(options?: BannerProps): ComponentBuilder<BannerProps>;
53
59
  /** The options `Banner` accepts. */
54
60
  export declare const BannerSchema: z.ZodObject<{
55
- title: z.ZodOptional<z.ZodString>;
56
- description: z.ZodOptional<z.ZodString>;
61
+ title: z.ZodOptional<z.ZodType<BlockText, z.ZodTypeDef, BlockText>>;
62
+ description: z.ZodOptional<z.ZodType<BlockText, z.ZodTypeDef, BlockText>>;
57
63
  actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
58
64
  label: z.ZodString;
59
65
  to: z.ZodString;
@@ -81,8 +87,8 @@ export declare const BannerSchema: z.ZodObject<{
81
87
  }, "strip", z.ZodTypeAny, {
82
88
  size: "sm" | "md";
83
89
  tone: "primary" | "success" | "info" | "warning" | "error";
84
- description?: string | undefined;
85
- title?: string | undefined;
90
+ description?: BlockText | undefined;
91
+ title?: BlockText | undefined;
86
92
  icon?: string | undefined;
87
93
  actions?: {
88
94
  label: string;
@@ -94,9 +100,9 @@ export declare const BannerSchema: z.ZodObject<{
94
100
  dismissible?: boolean | undefined;
95
101
  dismissKey?: string | undefined;
96
102
  }, {
97
- description?: string | undefined;
103
+ description?: BlockText | undefined;
98
104
  size?: "sm" | "md" | undefined;
99
- title?: string | undefined;
105
+ title?: BlockText | undefined;
100
106
  icon?: string | undefined;
101
107
  actions?: {
102
108
  label: string;
@@ -7,6 +7,7 @@ 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
  /** The tones a banner washes with. */
11
12
  exports.BANNER_TONES = [
12
13
  "info",
@@ -43,14 +44,18 @@ function Banner(options) {
43
44
  return new component_1.ComponentBuilder(BANNER_COMPONENT_NAME)
44
45
  .options({ ...BANNER_DEFAULTS, ...options })
45
46
  .meta({
46
- name: options?.title || "Banner",
47
+ name: (typeof options?.title === "string" && options.title) || "Banner",
47
48
  icon: options?.icon || BANNER_ICON,
48
49
  });
49
50
  }
50
51
  /** The options `Banner` accepts. */
51
52
  exports.BannerSchema = zod_1.z.object({
52
- title: (0, block_registry_1.ui)(zod_1.z.string().optional(), { label: "Title", group: "content" }),
53
- description: (0, block_registry_1.ui)(zod_1.z.string().optional(), {
53
+ title: (0, block_registry_1.ui)((0, composed_text_1.blockTextSchema)().optional(), {
54
+ label: "Title",
55
+ group: "content",
56
+ widget: "text",
57
+ }),
58
+ description: (0, block_registry_1.ui)((0, composed_text_1.blockTextSchema)().optional(), {
54
59
  label: "Description",
55
60
  group: "content",
56
61
  widget: "textarea",
@@ -1 +1 @@
1
- {"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/base/banner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/base/banner.ts"],"names":[],"mappings":"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"}
@@ -74,8 +74,8 @@ export declare const CardSchema: z.ZodObject<{
74
74
  padded: boolean;
75
75
  description?: string | undefined;
76
76
  title?: string | undefined;
77
- footer?: string | undefined;
78
77
  count?: string | number | undefined;
78
+ footer?: string | undefined;
79
79
  actions?: {
80
80
  label: string;
81
81
  to: string;
@@ -86,9 +86,9 @@ export declare const CardSchema: z.ZodObject<{
86
86
  }, {
87
87
  description?: string | undefined;
88
88
  title?: string | undefined;
89
+ count?: string | number | undefined;
89
90
  variant?: "default" | "elevated" | undefined;
90
91
  footer?: string | undefined;
91
- count?: string | number | undefined;
92
92
  actions?: {
93
93
  label: string;
94
94
  to: string;
@@ -57,7 +57,7 @@ export declare const ChartCardSchema: z.ZodObject<{
57
57
  fetchUrl?: string | undefined;
58
58
  fetchUrlMethod?: HttpMethod | undefined;
59
59
  periodScope?: string | undefined;
60
- valueFormat?: "number" | "compact" | "percent" | "currency" | undefined;
60
+ valueFormat?: "number" | "percent" | "compact" | "currency" | undefined;
61
61
  currencyCode?: string | undefined;
62
62
  primaryLabel?: string | undefined;
63
63
  comparisonLabel?: string | undefined;
@@ -70,7 +70,7 @@ export declare const ChartCardSchema: z.ZodObject<{
70
70
  fetchUrlMethod?: HttpMethod | undefined;
71
71
  showLegend?: boolean | undefined;
72
72
  periodScope?: string | undefined;
73
- valueFormat?: "number" | "compact" | "percent" | "currency" | undefined;
73
+ valueFormat?: "number" | "percent" | "compact" | "currency" | undefined;
74
74
  currencyCode?: string | undefined;
75
75
  showDelta?: boolean | undefined;
76
76
  primaryLabel?: string | undefined;
@@ -0,0 +1,14 @@
1
+ import { z } from "zod";
2
+ import { type BlockText, type ComposedText } from "../types/composed-text";
3
+ /**
4
+ * The zod schema of a {@link ComposedText}.
5
+ *
6
+ * @internal
7
+ */
8
+ export declare const ComposedTextSchema: z.ZodType<ComposedText>;
9
+ /**
10
+ * The schema of a block text option: a plain string or a composed text.
11
+ *
12
+ * @internal
13
+ */
14
+ export declare const blockTextSchema: () => z.ZodType<BlockText>;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.blockTextSchema = exports.ComposedTextSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const composed_text_1 = require("../types/composed-text");
6
+ const DateValueSchema = zod_1.z.union([zod_1.z.string(), zod_1.z.number()]);
7
+ const TypedParamSchema = zod_1.z.discriminatedUnion("type", [
8
+ zod_1.z.object({
9
+ type: zod_1.z.literal("money"),
10
+ value: zod_1.z.number(),
11
+ currency: zod_1.z.string(),
12
+ }),
13
+ zod_1.z.object({
14
+ type: zod_1.z.literal("date"),
15
+ value: DateValueSchema,
16
+ format: zod_1.z.enum(composed_text_1.COMPOSED_TEXT_DATE_FORMATS).optional(),
17
+ }),
18
+ zod_1.z.object({
19
+ type: zod_1.z.literal("datetime"),
20
+ value: DateValueSchema,
21
+ format: zod_1.z.enum(composed_text_1.COMPOSED_TEXT_DATE_FORMATS).optional(),
22
+ }),
23
+ zod_1.z.object({ type: zod_1.z.literal("relative"), value: DateValueSchema }),
24
+ zod_1.z.object({
25
+ type: zod_1.z.literal("number"),
26
+ value: zod_1.z.number(),
27
+ format: zod_1.z.enum(composed_text_1.COMPOSED_TEXT_NUMBER_FORMATS).optional(),
28
+ }),
29
+ zod_1.z.object({ type: zod_1.z.literal("count"), value: zod_1.z.number() }),
30
+ ]);
31
+ // A parameter may itself be a composed text, so the two schemas name each
32
+ // other through `z.lazy`.
33
+ const ComposedTextParamSchema = zod_1.z.lazy(() => zod_1.z.union([zod_1.z.string(), zod_1.z.number(), TypedParamSchema, exports.ComposedTextSchema]));
34
+ /**
35
+ * The zod schema of a {@link ComposedText}.
36
+ *
37
+ * @internal
38
+ */
39
+ exports.ComposedTextSchema = zod_1.z.object({
40
+ key: zod_1.z.string().min(1),
41
+ params: zod_1.z.record(ComposedTextParamSchema).optional(),
42
+ plural: zod_1.z.string().optional(),
43
+ });
44
+ /**
45
+ * The schema of a block text option: a plain string or a composed text.
46
+ *
47
+ * @internal
48
+ */
49
+ const blockTextSchema = () => zod_1.z.union([zod_1.z.string(), exports.ComposedTextSchema]);
50
+ exports.blockTextSchema = blockTextSchema;
51
+ //# sourceMappingURL=composed-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composed-text.js","sourceRoot":"","sources":["../../../src/base/internal/composed-text.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,0DAMgC;AAEhC,MAAM,eAAe,GAAG,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAE1D,MAAM,gBAAgB,GAAG,OAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACpD,OAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;QACjB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;KACrB,CAAC;IACF,OAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,0CAA0B,CAAC,CAAC,QAAQ,EAAE;KACtD,CAAC;IACF,OAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3B,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,0CAA0B,CAAC,CAAC,QAAQ,EAAE;KACtD,CAAC;IACF,OAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IACjE,OAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,4CAA4B,CAAC,CAAC,QAAQ,EAAE;KACxD,CAAC;IACF,OAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC;CAC1D,CAAC,CAAC;AAEH,0EAA0E;AAC1E,0BAA0B;AAC1B,MAAM,uBAAuB,GAAiC,OAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACxE,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,gBAAgB,EAAE,0BAAkB,CAAC,CAAC,CACxE,CAAC;AAEF;;;;GAIG;AACU,QAAA,kBAAkB,GAA4B,OAAC,CAAC,MAAM,CAAC;IAClE,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;IACpD,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH;;;;GAIG;AACI,MAAM,eAAe,GAAG,GAAyB,EAAE,CACxD,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,0BAAkB,CAAC,CAAC,CAAC;AAD/B,QAAA,eAAe,mBACgB"}
@@ -3,6 +3,7 @@ import { z } from "zod";
3
3
  import { type BlockItemsSource } from "./display";
4
4
  import { type Tone } from "./types/tone";
5
5
  import type { BaseComponentProps } from "./types";
6
+ import type { BlockText } from "./types/composed-text";
6
7
  /**
7
8
  * How a value is drawn: `text` plain, `status` a tinted pill, `money` a
8
9
  * currency amount, `date` a localized date, `link` an accent link, `mono` an
@@ -14,17 +15,22 @@ export type KeyValueType = (typeof KEY_VALUE_TYPES)[number];
14
15
  export interface KeyValueListItem {
15
16
  /** Stable key; the position is used without one. */
16
17
  id?: string;
17
- /** `$`-prefixed for an i18n key. */
18
- label: string;
19
- /** Raw value: an ISO date for `date`, a number for `money`. */
20
- value?: string | number | null;
18
+ /** `$`-prefixed for an i18n key, or a `ComposedText`. */
19
+ label: BlockText;
20
+ /**
21
+ * Raw value: an ISO date for `date`, a number for `money`. A
22
+ * `ComposedText` is composed in the reader's language and drawn as text,
23
+ * whatever the `type` — its parameters already say how each value is
24
+ * written.
25
+ */
26
+ value?: BlockText | number | null;
21
27
  type?: KeyValueType;
22
28
  /** Route, `#anchor` or URL the value links to. */
23
29
  to?: string;
24
30
  /** Text colour, or the pill tone of a `status` value. */
25
31
  tone?: Tone;
26
- /** Dim note after the value. */
27
- detail?: string;
32
+ /** Dim note after the value: a string or a `ComposedText`. */
33
+ detail?: BlockText;
28
34
  /** ISO 4217 code of a `money` value; overrides the list's `currency`. */
29
35
  currency?: string;
30
36
  }
@@ -81,29 +87,29 @@ export declare const KeyValueListSchema: z.ZodObject<{
81
87
  title: z.ZodOptional<z.ZodString>;
82
88
  items: z.ZodOptional<z.ZodArray<z.ZodObject<{
83
89
  id: z.ZodOptional<z.ZodString>;
84
- label: z.ZodString;
85
- value: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
90
+ label: z.ZodType<BlockText, z.ZodTypeDef, BlockText>;
91
+ value: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodType<BlockText, z.ZodTypeDef, BlockText>, z.ZodNumber]>>>;
86
92
  type: z.ZodOptional<z.ZodEnum<["text", "status", "money", "date", "link", "mono"]>>;
87
93
  to: z.ZodOptional<z.ZodString>;
88
94
  tone: z.ZodOptional<z.ZodEnum<["primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral", ...("primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral")[]]>>;
89
- detail: z.ZodOptional<z.ZodString>;
95
+ detail: z.ZodOptional<z.ZodType<BlockText, z.ZodTypeDef, BlockText>>;
90
96
  currency: z.ZodOptional<z.ZodString>;
91
97
  }, "strip", z.ZodTypeAny, {
92
- label: string;
93
- type?: "link" | "date" | "status" | "text" | "mono" | "money" | undefined;
94
- value?: string | number | null | undefined;
98
+ label: BlockText;
99
+ type?: "link" | "date" | "status" | "money" | "text" | "mono" | undefined;
100
+ value?: number | BlockText | null | undefined;
95
101
  id?: string | undefined;
96
102
  to?: string | undefined;
97
- detail?: string | undefined;
103
+ detail?: BlockText | undefined;
98
104
  tone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
99
105
  currency?: string | undefined;
100
106
  }, {
101
- label: string;
102
- type?: "link" | "date" | "status" | "text" | "mono" | "money" | undefined;
103
- value?: string | number | null | undefined;
107
+ label: BlockText;
108
+ type?: "link" | "date" | "status" | "money" | "text" | "mono" | undefined;
109
+ value?: number | BlockText | null | undefined;
104
110
  id?: string | undefined;
105
111
  to?: string | undefined;
106
- detail?: string | undefined;
112
+ detail?: BlockText | undefined;
107
113
  tone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
108
114
  currency?: string | undefined;
109
115
  }>, "many">>;
@@ -115,12 +121,12 @@ export declare const KeyValueListSchema: z.ZodObject<{
115
121
  card: boolean;
116
122
  columns: number;
117
123
  items?: {
118
- label: string;
119
- type?: "link" | "date" | "status" | "text" | "mono" | "money" | undefined;
120
- value?: string | number | null | undefined;
124
+ label: BlockText;
125
+ type?: "link" | "date" | "status" | "money" | "text" | "mono" | undefined;
126
+ value?: number | BlockText | null | undefined;
121
127
  id?: string | undefined;
122
128
  to?: string | undefined;
123
- detail?: string | undefined;
129
+ detail?: BlockText | undefined;
124
130
  tone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
125
131
  currency?: string | undefined;
126
132
  }[] | undefined;
@@ -136,12 +142,12 @@ export declare const KeyValueListSchema: z.ZodObject<{
136
142
  dense?: boolean | undefined;
137
143
  }, {
138
144
  items?: {
139
- label: string;
140
- type?: "link" | "date" | "status" | "text" | "mono" | "money" | undefined;
141
- value?: string | number | null | undefined;
145
+ label: BlockText;
146
+ type?: "link" | "date" | "status" | "money" | "text" | "mono" | undefined;
147
+ value?: number | BlockText | null | undefined;
142
148
  id?: string | undefined;
143
149
  to?: string | undefined;
144
- detail?: string | undefined;
150
+ detail?: BlockText | undefined;
145
151
  tone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
146
152
  currency?: string | undefined;
147
153
  }[] | undefined;
@@ -8,6 +8,7 @@ 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");
11
12
  /**
12
13
  * How a value is drawn: `text` plain, `status` a tinted pill, `money` a
13
14
  * currency amount, `date` a localized date, `link` an accent link, `mono` an
@@ -54,9 +55,10 @@ function KeyValueList(options) {
54
55
  }
55
56
  const KeyValueListItemSchema = zod_1.z.object({
56
57
  id: (0, block_registry_1.ui)(zod_1.z.string().optional(), { label: "Key", advanced: true }),
57
- label: (0, block_registry_1.ui)(zod_1.z.string(), { label: "Label" }),
58
- value: (0, block_registry_1.ui)(zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).nullable().optional(), {
58
+ label: (0, block_registry_1.ui)((0, composed_text_1.blockTextSchema)(), { label: "Label", widget: "text" }),
59
+ value: (0, block_registry_1.ui)(zod_1.z.union([(0, composed_text_1.blockTextSchema)(), zod_1.z.number()]).nullable().optional(), {
59
60
  label: "Value",
61
+ widget: "text",
60
62
  }),
61
63
  type: (0, block_registry_1.ui)(zod_1.z.enum(exports.KEY_VALUE_TYPES).optional(), {
62
64
  label: "Type",
@@ -67,7 +69,7 @@ const KeyValueListItemSchema = zod_1.z.object({
67
69
  label: "Tone",
68
70
  widget: "select",
69
71
  }),
70
- detail: (0, block_registry_1.ui)(zod_1.z.string().optional(), { label: "Detail" }),
72
+ detail: (0, block_registry_1.ui)((0, composed_text_1.blockTextSchema)().optional(), { label: "Detail", widget: "text" }),
71
73
  currency: (0, block_registry_1.ui)(zod_1.z.string().optional(), { label: "Currency", advanced: true }),
72
74
  });
73
75
  /** The options `KeyValueList` accepts. */
@@ -1 +1 @@
1
- {"version":3,"file":"key-value-list.js","sourceRoot":"","sources":["../../src/base/key-value-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key-value-list.js","sourceRoot":"","sources":["../../src/base/key-value-list.ts"],"names":[],"mappings":"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"}
@@ -62,7 +62,7 @@ export declare const KpiCardSchema: z.ZodObject<{
62
62
  fetchUrl?: string | undefined;
63
63
  fetchUrlMethod?: HttpMethod | undefined;
64
64
  periodScope?: string | undefined;
65
- valueFormat?: "number" | "compact" | "percent" | "currency" | undefined;
65
+ valueFormat?: "number" | "percent" | "compact" | "currency" | undefined;
66
66
  currencyCode?: string | undefined;
67
67
  showDelta?: boolean | undefined;
68
68
  showSparkline?: boolean | undefined;
@@ -80,7 +80,7 @@ export declare const KpiCardSchema: z.ZodObject<{
80
80
  fetchUrl?: string | undefined;
81
81
  fetchUrlMethod?: HttpMethod | undefined;
82
82
  periodScope?: string | undefined;
83
- valueFormat?: "number" | "compact" | "percent" | "currency" | undefined;
83
+ valueFormat?: "number" | "percent" | "compact" | "currency" | undefined;
84
84
  currencyCode?: string | undefined;
85
85
  showDelta?: boolean | undefined;
86
86
  showSparkline?: boolean | undefined;
@@ -64,7 +64,9 @@ export interface NavCardGridOptions extends Omit<NavCardGridProps, "categoryId">
64
64
  /**
65
65
  * The category whose pages the cards stand for: a card per page the viewer
66
66
  * can open, with the badge its navigation entry shows. A settings overview
67
- * lists its sections this way, a module's home its pages.
67
+ * lists its sections this way, a module's home its pages. A viewer who can
68
+ * open none of them gets no grid at all, title included, unless `empty`
69
+ * says what to show instead.
68
70
  */
69
71
  category?: CategoryInfo;
70
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nav-card-grid.js","sourceRoot":"","sources":["../../src/base/nav-card-grid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nav-card-grid.js","sourceRoot":"","sources":["../../src/base/nav-card-grid.ts"],"names":[],"mappings":"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"}