@nanisoft/prism-ui 0.16.1 → 1.0.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 (170) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/blocks/activity-feed-01/activity-feed-01.d.ts +120 -190
  3. package/dist/blocks/activity-feed-01/activity-feed-01.d.ts.map +1 -1
  4. package/dist/blocks/activity-feed-01/activity-feed-01.js +107 -97
  5. package/dist/blocks/activity-feed-01/index.d.ts +1 -1
  6. package/dist/blocks/activity-feed-01/index.d.ts.map +1 -1
  7. package/dist/blocks/auth-form-01/auth-form.d.ts +86 -53
  8. package/dist/blocks/auth-form-01/auth-form.d.ts.map +1 -1
  9. package/dist/blocks/auth-form-01/auth-form.js +95 -31
  10. package/dist/blocks/auth-form-01/index.d.ts +1 -1
  11. package/dist/blocks/auth-form-01/index.d.ts.map +1 -1
  12. package/dist/blocks/calendar-01/calendar.d.ts +28 -0
  13. package/dist/blocks/calendar-01/calendar.d.ts.map +1 -1
  14. package/dist/blocks/calendar-01/calendar.js +15 -1
  15. package/dist/blocks/card-index-01/card-index.d.ts +225 -0
  16. package/dist/blocks/card-index-01/card-index.d.ts.map +1 -0
  17. package/dist/blocks/card-index-01/card-index.js +154 -0
  18. package/dist/blocks/card-index-01/index.d.ts +3 -0
  19. package/dist/blocks/card-index-01/index.d.ts.map +1 -0
  20. package/dist/blocks/card-index-01/index.js +1 -0
  21. package/dist/blocks/chart-card-01/chart-card-01.d.ts +23 -21
  22. package/dist/blocks/chart-card-01/chart-card-01.d.ts.map +1 -1
  23. package/dist/blocks/chart-card-01/chart-card-01.js +46 -1
  24. package/dist/blocks/chart-card-01/index.d.ts +1 -1
  25. package/dist/blocks/chart-card-01/index.d.ts.map +1 -1
  26. package/dist/blocks/chart-group-01/chart-group-01.d.ts +3 -3
  27. package/dist/blocks/chart-group-01/chart-group-01.d.ts.map +1 -1
  28. package/dist/blocks/contact-01/contact.d.ts +30 -82
  29. package/dist/blocks/contact-01/contact.d.ts.map +1 -1
  30. package/dist/blocks/contact-01/contact.js +59 -30
  31. package/dist/blocks/contact-01/index.d.ts +1 -1
  32. package/dist/blocks/contact-01/index.d.ts.map +1 -1
  33. package/dist/blocks/dashboard-01/dashboard-01.d.ts +26 -71
  34. package/dist/blocks/dashboard-01/dashboard-01.d.ts.map +1 -1
  35. package/dist/blocks/dashboard-01/dashboard-01.js +34 -23
  36. package/dist/blocks/dashboard-01/index.d.ts +1 -1
  37. package/dist/blocks/dashboard-01/index.d.ts.map +1 -1
  38. package/dist/blocks/data-table-01/data-table.d.ts +276 -59
  39. package/dist/blocks/data-table-01/data-table.d.ts.map +1 -1
  40. package/dist/blocks/data-table-01/data-table.js +217 -35
  41. package/dist/blocks/data-table-01/index.d.ts +1 -1
  42. package/dist/blocks/data-table-01/index.d.ts.map +1 -1
  43. package/dist/blocks/directory-01/directory-01.d.ts +23 -2
  44. package/dist/blocks/directory-01/directory-01.d.ts.map +1 -1
  45. package/dist/blocks/directory-01/directory-01.js +3 -3
  46. package/dist/blocks/empty-state-01/empty-state.d.ts +60 -21
  47. package/dist/blocks/empty-state-01/empty-state.d.ts.map +1 -1
  48. package/dist/blocks/empty-state-01/empty-state.js +52 -17
  49. package/dist/blocks/index-detail-01/index-detail.d.ts +85 -0
  50. package/dist/blocks/index-detail-01/index-detail.d.ts.map +1 -0
  51. package/dist/blocks/index-detail-01/index-detail.js +58 -0
  52. package/dist/blocks/index-detail-01/index.d.ts +3 -0
  53. package/dist/blocks/index-detail-01/index.d.ts.map +1 -0
  54. package/dist/blocks/index-detail-01/index.js +1 -0
  55. package/dist/blocks/index.d.ts +20 -8
  56. package/dist/blocks/index.d.ts.map +1 -1
  57. package/dist/blocks/index.js +7 -0
  58. package/dist/blocks/issue-detail-01/issue-detail.d.ts +18 -0
  59. package/dist/blocks/issue-detail-01/issue-detail.d.ts.map +1 -1
  60. package/dist/blocks/issue-detail-01/issue-detail.js +18 -0
  61. package/dist/blocks/nothing-chosen-01/index.d.ts +3 -0
  62. package/dist/blocks/nothing-chosen-01/index.d.ts.map +1 -0
  63. package/dist/blocks/nothing-chosen-01/index.js +1 -0
  64. package/dist/blocks/nothing-chosen-01/nothing-chosen.d.ts +119 -0
  65. package/dist/blocks/nothing-chosen-01/nothing-chosen.d.ts.map +1 -0
  66. package/dist/blocks/nothing-chosen-01/nothing-chosen.js +79 -0
  67. package/dist/blocks/project-dashboard-01/index.d.ts +1 -1
  68. package/dist/blocks/project-dashboard-01/index.d.ts.map +1 -1
  69. package/dist/blocks/project-dashboard-01/project-dashboard.d.ts +21 -27
  70. package/dist/blocks/project-dashboard-01/project-dashboard.d.ts.map +1 -1
  71. package/dist/blocks/project-dashboard-01/project-dashboard.js +45 -5
  72. package/dist/blocks/provisioning-01/index.d.ts +1 -1
  73. package/dist/blocks/provisioning-01/index.d.ts.map +1 -1
  74. package/dist/blocks/provisioning-01/provisioning.d.ts +9 -97
  75. package/dist/blocks/provisioning-01/provisioning.d.ts.map +1 -1
  76. package/dist/blocks/provisioning-01/provisioning.js +26 -13
  77. package/dist/blocks/record-detail-01/index.d.ts +3 -0
  78. package/dist/blocks/record-detail-01/index.d.ts.map +1 -0
  79. package/dist/blocks/record-detail-01/index.js +1 -0
  80. package/dist/blocks/record-detail-01/record-detail.d.ts +239 -0
  81. package/dist/blocks/record-detail-01/record-detail.d.ts.map +1 -0
  82. package/dist/blocks/record-detail-01/record-detail.js +150 -0
  83. package/dist/blocks/record-form-01/index.d.ts +3 -0
  84. package/dist/blocks/record-form-01/index.d.ts.map +1 -0
  85. package/dist/blocks/record-form-01/index.js +1 -0
  86. package/dist/blocks/record-form-01/record-form.d.ts +148 -0
  87. package/dist/blocks/record-form-01/record-form.d.ts.map +1 -0
  88. package/dist/blocks/record-form-01/record-form.js +107 -0
  89. package/dist/blocks/record-grid-01/index.d.ts +3 -0
  90. package/dist/blocks/record-grid-01/index.d.ts.map +1 -0
  91. package/dist/blocks/record-grid-01/index.js +1 -0
  92. package/dist/blocks/record-grid-01/record-grid.d.ts +145 -0
  93. package/dist/blocks/record-grid-01/record-grid.d.ts.map +1 -0
  94. package/dist/blocks/record-grid-01/record-grid.js +114 -0
  95. package/dist/blocks/record-wizard-01/index.d.ts +3 -0
  96. package/dist/blocks/record-wizard-01/index.d.ts.map +1 -0
  97. package/dist/blocks/record-wizard-01/index.js +1 -0
  98. package/dist/blocks/record-wizard-01/record-wizard.d.ts +152 -0
  99. package/dist/blocks/record-wizard-01/record-wizard.d.ts.map +1 -0
  100. package/dist/blocks/record-wizard-01/record-wizard.js +144 -0
  101. package/dist/blocks/settings-members-01/settings-members.d.ts +2 -1
  102. package/dist/blocks/settings-members-01/settings-members.d.ts.map +1 -1
  103. package/dist/blocks/settings-panel-01/index.d.ts +1 -1
  104. package/dist/blocks/settings-panel-01/index.d.ts.map +1 -1
  105. package/dist/blocks/settings-panel-01/settings-panel.d.ts +165 -67
  106. package/dist/blocks/settings-panel-01/settings-panel.d.ts.map +1 -1
  107. package/dist/blocks/settings-panel-01/settings-panel.js +92 -33
  108. package/dist/blocks/signup-01/index.d.ts +1 -1
  109. package/dist/blocks/signup-01/index.d.ts.map +1 -1
  110. package/dist/blocks/signup-01/signup-01.d.ts +10 -84
  111. package/dist/blocks/signup-01/signup-01.d.ts.map +1 -1
  112. package/dist/blocks/signup-01/signup-01.js +41 -23
  113. package/dist/blocks/stats-01/index.d.ts +5 -5
  114. package/dist/blocks/stats-01/index.d.ts.map +1 -1
  115. package/dist/blocks/stats-01/index.js +4 -4
  116. package/dist/blocks/stats-01/stats.d.ts +49 -14
  117. package/dist/blocks/stats-01/stats.d.ts.map +1 -1
  118. package/dist/blocks/stats-01/stats.js +65 -15
  119. package/dist/blocks/trend-01/index.d.ts +1 -1
  120. package/dist/blocks/trend-01/index.d.ts.map +1 -1
  121. package/dist/blocks/trend-01/trend.d.ts +26 -73
  122. package/dist/blocks/trend-01/trend.d.ts.map +1 -1
  123. package/dist/blocks/trend-01/trend.js +47 -30
  124. package/dist/catalog.d.ts.map +1 -1
  125. package/dist/catalog.js +93 -3
  126. package/dist/components/ui/metric.d.ts +4 -2
  127. package/dist/components/ui/metric.d.ts.map +1 -1
  128. package/dist/index.d.ts +10 -0
  129. package/dist/index.d.ts.map +1 -1
  130. package/dist/index.js +6 -0
  131. package/dist/lib/field-render.d.ts +107 -0
  132. package/dist/lib/field-render.d.ts.map +1 -0
  133. package/dist/lib/field-render.js +251 -0
  134. package/dist/lib/spec.d.ts +609 -0
  135. package/dist/lib/spec.d.ts.map +1 -0
  136. package/dist/lib/spec.js +1 -0
  137. package/dist/live/index.d.ts +2 -0
  138. package/dist/live/index.d.ts.map +1 -1
  139. package/dist/live/index.js +6 -0
  140. package/dist/live/message-thread-01/index.d.ts +3 -0
  141. package/dist/live/message-thread-01/index.d.ts.map +1 -0
  142. package/dist/live/message-thread-01/index.js +1 -0
  143. package/dist/live/message-thread-01/message-thread.d.ts +282 -0
  144. package/dist/live/message-thread-01/message-thread.d.ts.map +1 -0
  145. package/dist/live/message-thread-01/message-thread.js +221 -0
  146. package/dist/live/run-stream-01/run-stream.d.ts +2 -1
  147. package/dist/live/run-stream-01/run-stream.d.ts.map +1 -1
  148. package/dist/live/run-stream-01/run-stream.js +1 -7
  149. package/dist/live/status.d.ts +27 -0
  150. package/dist/live/status.d.ts.map +1 -0
  151. package/dist/live/status.js +15 -0
  152. package/dist/live/tool-call-row.d.ts +26 -0
  153. package/dist/live/tool-call-row.d.ts.map +1 -0
  154. package/dist/live/tool-call-row.js +60 -0
  155. package/dist/live/tool-ledger-01/tool-ledger.d.ts.map +1 -1
  156. package/dist/live/tool-ledger-01/tool-ledger.js +2 -42
  157. package/dist/pages/contact-page/index.d.ts +7 -7
  158. package/dist/pages/contact-page/index.d.ts.map +1 -1
  159. package/dist/pages/contact-page/index.js +17 -5
  160. package/dist/pages/document-page/document-page.d.ts +146 -0
  161. package/dist/pages/document-page/document-page.d.ts.map +1 -0
  162. package/dist/pages/document-page/document-page.js +80 -0
  163. package/dist/pages/document-page/index.d.ts +3 -0
  164. package/dist/pages/document-page/index.d.ts.map +1 -0
  165. package/dist/pages/document-page/index.js +1 -0
  166. package/dist/pages/index.d.ts +2 -0
  167. package/dist/pages/index.d.ts.map +1 -1
  168. package/dist/pages/index.js +6 -0
  169. package/dist/styles.css +35 -3
  170. package/package.json +7 -2
@@ -4,6 +4,32 @@ import { Metric } from '../../components/ui/metric.js';
4
4
  import { Section, SectionHeading } from '../../components/ui/section.js';
5
5
  import { Sparkline } from '../../components/ui/sparkline.js';
6
6
  import { cn } from '../../lib/utils.js';
7
+ /**
8
+ * The refusals, as checks, so an item that would render a link nobody can name is a
9
+ * diagnostic in a console rather than a rendered link.
10
+ *
11
+ * **The type already holds both pairs, and these checks exist for the caller the
12
+ * type never saw.** `MetricSpec` requires a destination's words wherever it has a
13
+ * destination and a series name wherever it has a series, so a typed caller cannot
14
+ * reach either diagnostic. A JavaScript caller can, and the cost of reaching one is a
15
+ * row that draws a link with no words or a shape no reader can announce, so the same
16
+ * rule is stated once more where a runtime value can be read: the pair rule is the
17
+ * one `Dashboard01` makes.
18
+ */
19
+ function assertMetrics(items) {
20
+ for (const metric of items) {
21
+ if ((metric.href === undefined) !== (metric.hrefLabel === undefined)) {
22
+ throw new Error(`Trend01: the item "${metric.key}" declares one of href and hrefLabel without the other, so the ` +
23
+ 'row would carry a link with no words on it, or a name with no link beside it. Pass the words that say ' +
24
+ 'what following it does, or omit the href.');
25
+ }
26
+ if ((metric.series === undefined) !== (metric.seriesLabel === undefined)) {
27
+ throw new Error(`Trend01: the item "${metric.key}" declares one of series and seriesLabel without the other, so the ` +
28
+ 'shape beside the figure would be a picture with no name, which a screen reader cannot announce. Pass ' +
29
+ 'the series name in the words the product uses, or omit the series.');
30
+ }
31
+ }
32
+ }
7
33
  /**
8
34
  * A ranked list of rising values: a name, a current reading, the change against
9
35
  * the previous one, and a small series beside it.
@@ -25,19 +51,25 @@ import { cn } from '../../lib/utils.js';
25
51
  * implementation would be the one without the table, because the table is the part
26
52
  * nobody draws by hand and it is the part that matters.
27
53
  *
28
- * **`deltaLabel` is required whenever any row carries a `delta`, and the reason
29
- * is that the Block cannot know which of three sentences the caller means.**
30
- * "up 12 percent", "+12%" and "12 higher than last week" are three sentences
31
- * about one number, and they are not formats of one another: the first is a
32
- * phrase with a unit, the second is a signed figure for a reader who is already
33
- * looking at a number, and the third is a comparison against a named period that
34
- * a reader who cannot see the period will misread as a comparison against
35
- * whatever they assumed. Worse, the fallback a Block would reach for is the worst
36
- * of the three, because a bare "+12" printed beside a figure is a number with an
37
- * arithmetic symbol on it, and a screen reader reads that as a formula rather
38
- * than as a change. So the prop is required and the Block throws without it
39
- * rather than printing the sign itself, and the cost of the throw is that a
40
- * caller who genuinely has no unit has to write the formatter that says so.
54
+ * **The rows are the shared `MetricSpec`, so a row here and a figure on a summary
55
+ * are one shape rather than two that disagree.** Each row carries a stable `key`
56
+ * that is never the words of the label, a required `label` and `value`, an optional
57
+ * `delta` whose sign is the direction, an optional `deltaFormat` carrying the
58
+ * caller's own words for the change, an optional `hint` for the period or the
59
+ * caveat, and an optional `series` and `href` each travelling with the name it
60
+ * cannot be read without. This closes the absence that put this Block in the
61
+ * migration: a reading now has a place for a series and for a destination, so the
62
+ * trend a metric summary names has somewhere to go when the two sit on one screen.
63
+ *
64
+ * **The words for the change stay the caller's, and the Block mints no period and
65
+ * no arithmetic.** `deltaFormat` is the caller's own node rather than a formatter
66
+ * this Block could write, because "up 12 percent", "+12%" and "12 higher than last
67
+ * week" are three sentences about one number and no single fallback is right for
68
+ * all three. A delta with a formatter prints the caller's words and one without
69
+ * prints the number the caller passed, which is `Metric`'s own contract. There is
70
+ * no period member, no derived rate of change and no period-over-period arithmetic
71
+ * over the series the caller passed, because each of those is a second arithmetic
72
+ * this package would be doing over a population it never fetched.
41
73
  *
42
74
  * **`seriesLabel` is required whenever any row carries a `series`, for the reason
43
75
  * the `Sparkline` JSDoc gives in full: a figure with no name is not announced
@@ -72,28 +104,13 @@ import { cn } from '../../lib/utils.js';
72
104
  * consumer nothing in client JavaScript.
73
105
  */
74
106
  export function Trend01({ eyebrow, title, description, items, limit, empty, headingLevel = 'h2', className, }) {
75
- for (const item of items) {
76
- if (item.delta !== undefined && !item.deltaLabel) {
77
- throw new Error('Trend01: an item carries a delta with no deltaLabel, so the change would print as a signed ' +
78
- 'number beside a figure, which a screen reader reads as a formula. Pass the words for the ' +
79
- 'change, or drop the delta and let the row carry the reading alone.');
80
- }
81
- if (item.series !== undefined && !item.seriesLabel) {
82
- throw new Error('Trend01: an item carries a series with no seriesLabel, so the shape beside the figure would be ' +
83
- 'an unnamed picture. A figure with no name is not announced. Pass what the series is.');
84
- }
85
- if (item.href !== undefined && !item.hrefLabel) {
86
- throw new Error('Trend01: an item carries an href with no hrefLabel, so the link would be announced by its ' +
87
- 'destination alone. A space name is a name, and the sentence saying that following the link ' +
88
- 'is a thing you can do belongs to the caller.');
89
- }
90
- }
107
+ assertMetrics(items);
91
108
  const shown = items.slice(0, limit ?? items.length);
92
109
  if (shown.length === 0) {
93
110
  if (empty === undefined)
94
111
  return null;
95
112
  return (_jsxs(Section, { className: className, children: [_jsx(SectionHeading, { as: headingLevel, align: "left", eyebrow: eyebrow, title: title, description: description }), _jsx("div", { "data-slot": "trend-empty", className: "text-muted-foreground text-pretty text-sm", children: empty })] }));
96
113
  }
97
- return (_jsxs(Section, { children: [_jsx(SectionHeading, { as: headingLevel, align: "left", eyebrow: eyebrow, title: title, description: description, className: "mb-10" }), _jsx("ol", { "data-slot": "trend-list", className: cn('flex flex-col', className), children: shown.map((item, index) => (_jsxs("li", { "data-slot": "trend-row", "data-has-series": item.series === undefined ? undefined : true, className: "border-border flex flex-wrap items-center justify-between gap-x-6 gap-y-3 border-b py-4 first:border-t", children: [_jsx("span", { "data-slot": "trend-rank", className: "text-muted-foreground w-6 shrink-0 font-mono text-xs tabular-nums", children: String(index + 1).padStart(2, '0') }), _jsx(Metric, { className: "min-w-0 flex-1", value: item.value, label: item.label, delta: item.delta, deltaFormat: item.deltaLabel }), item.series !== undefined || item.href !== undefined ? (_jsxs("div", { "data-slot": "trend-row-end", className: "flex shrink-0 items-center gap-4", children: [item.series !== undefined && item.seriesLabel !== undefined ? (_jsx(Sparkline, { values: item.series, label: item.seriesLabel })) : null, item.href !== undefined && item.hrefLabel !== undefined ? (_jsx(CtaLink, { href: item.href, size: "sm", variant: "ghost", children: item.hrefLabel })) : null] })) : null] }, item.id))) })] }));
114
+ return (_jsxs(Section, { children: [_jsx(SectionHeading, { as: headingLevel, align: "left", eyebrow: eyebrow, title: title, description: description, className: "mb-10" }), _jsx("ol", { "data-slot": "trend-list", className: cn('flex flex-col', className), children: shown.map((item, index) => (_jsxs("li", { "data-slot": "trend-row", "data-metric": item.key, "data-has-series": item.series === undefined ? undefined : true, className: "border-border flex flex-wrap items-center justify-between gap-x-6 gap-y-3 border-b py-4 first:border-t", children: [_jsx("span", { "data-slot": "trend-rank", className: "text-muted-foreground w-6 shrink-0 font-mono text-xs tabular-nums", children: String(index + 1).padStart(2, '0') }), _jsx(Metric, { className: "min-w-0 flex-1", value: item.value, label: item.label, delta: item.delta, deltaFormat: item.deltaFormat === undefined ? undefined : () => item.deltaFormat, hint: item.hint }), item.series !== undefined || item.href !== undefined ? (_jsxs("div", { "data-slot": "trend-row-end", className: "flex shrink-0 items-center gap-4", children: [item.series === undefined ? null : (_jsx(Sparkline, { values: item.series, label: item.seriesLabel })), item.href === undefined ? null : (_jsx(CtaLink, { href: item.href, size: "sm", variant: "ghost", children: item.hrefLabel }))] })) : null] }, item.key))) })] }));
98
115
  }
99
116
  export default Trend01;
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,aAAa,iDAAkD,CAAA;AAC5E,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAExD,eAAO,MAAM,oBAAoB,sHAQvB,CAAA;AACV,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAA;AAErE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,WAAW,CAAA;IACjB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,EAAE,QAAQ,GAAG,YAAY,CAAA;CAChC;AAED,eAAO,MAAM,OAAO,EAAE,SAAS,WAAW,EAm6FzC,CAAA;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,KAAK,GAAE,SAAS,WAAW,EAAY,GAAG,WAAW,EAAE,CAEnF;AAED,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAE1D,CAAA"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,aAAa,iDAAkD,CAAA;AAC5E,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAExD,eAAO,MAAM,oBAAoB,sHAQvB,CAAA;AACV,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAA;AAErE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,WAAW,CAAA;IACjB,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,EAAE,QAAQ,GAAG,YAAY,CAAA;CAChC;AAED,eAAO,MAAM,OAAO,EAAE,SAAS,WAAW,EAugGzC,CAAA;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,KAAK,GAAE,SAAS,WAAW,EAAY,GAAG,WAAW,EAAE,CAEnF;AAED,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAE1D,CAAA"}
package/dist/catalog.js CHANGED
@@ -198,11 +198,21 @@ export const catalog = [
198
198
  slug: 'empty-state-01',
199
199
  kind: 'block',
200
200
  category: null,
201
- description: 'The state a region shows when it has nothing in it, for a first run, a filter that matched nothing, or a permission boundary.',
201
+ description: 'The state a region shows when it has nothing in it, for a first run, a narrowing that matched nothing, a region the reader emptied themselves, or a permission boundary.',
202
202
  source: 'src/blocks/empty-state-01/index.tsx',
203
203
  exports: ['EmptyState01'],
204
204
  status: 'stable',
205
205
  },
206
+ {
207
+ name: 'NothingChosen01',
208
+ slug: 'nothing-chosen-01',
209
+ kind: 'block',
210
+ category: null,
211
+ description: 'The resting detail pane: a region that can hold a record and has nothing chosen in it yet, so it draws the caller own words and no action, no frame and no height floor.',
212
+ source: 'src/blocks/nothing-chosen-01/index.tsx',
213
+ exports: ['NothingChosen01'],
214
+ status: 'stable',
215
+ },
206
216
  {
207
217
  name: 'Command',
208
218
  slug: 'command',
@@ -966,6 +976,66 @@ export const catalog = [
966
976
  exports: ['DataTable01'],
967
977
  status: 'stable',
968
978
  },
979
+ {
980
+ name: 'CardIndex01',
981
+ slug: 'card-index-01',
982
+ kind: 'block',
983
+ category: null,
984
+ description: 'The record index as a grid of picture cards, with the caller composing each card and the Block owning the selection set, the announced count, the batch bar and the page and filter scope distinction.',
985
+ source: 'src/blocks/card-index-01/index.tsx',
986
+ exports: ['CardIndex01'],
987
+ status: 'stable',
988
+ },
989
+ {
990
+ name: 'RecordGrid01',
991
+ slug: 'record-grid-01',
992
+ kind: 'block',
993
+ category: null,
994
+ description: 'A grid of records whose cells are edited in place, drawn from the shared field specification, holding the in-progress values and reporting every edit as the row identity and the column key.',
995
+ source: 'src/blocks/record-grid-01/index.tsx',
996
+ exports: ['RecordGrid01'],
997
+ status: 'stable',
998
+ },
999
+ {
1000
+ name: 'RecordForm01',
1001
+ slug: 'record-form-01',
1002
+ kind: 'block',
1003
+ category: null,
1004
+ description: 'A create and edit form rendered whole from a typed, ordered field specification, with grouped fields, an issue list keyed by field, one or two columns and a save union of three arms.',
1005
+ source: 'src/blocks/record-form-01/index.tsx',
1006
+ exports: ['RecordForm01'],
1007
+ status: 'stable',
1008
+ },
1009
+ {
1010
+ name: 'RecordDetail01',
1011
+ slug: 'record-detail-01',
1012
+ kind: 'block',
1013
+ category: null,
1014
+ description: 'One record in full: its identity, the facts the caller declares, the content the caller composes, the actions the caller writes beside the record, and its relationships as one ordered list on one frame, each drawn open one ring deep with the empty words the caller names when it has none.',
1015
+ source: 'src/blocks/record-detail-01/index.tsx',
1016
+ exports: ['RecordDetail01'],
1017
+ status: 'stable',
1018
+ },
1019
+ {
1020
+ name: 'RecordWizard01',
1021
+ slug: 'record-wizard-01',
1022
+ kind: 'block',
1023
+ category: null,
1024
+ description: 'A multi-step record write form: one group of fields at a time above the shipped rail, driven by the consumer controlled step index and controlled values, with no submission arm of its own.',
1025
+ source: 'src/blocks/record-wizard-01/index.tsx',
1026
+ exports: ['RecordWizard01'],
1027
+ status: 'stable',
1028
+ },
1029
+ {
1030
+ name: 'IndexDetail01',
1031
+ slug: 'index-detail-01',
1032
+ kind: 'block',
1033
+ category: null,
1034
+ description: 'A composition Block rendering an index pane beside a detail pane, holding no selection of its own and connecting the two panes in no way.',
1035
+ source: 'src/blocks/index-detail-01/index.tsx',
1036
+ exports: ['IndexDetail01'],
1037
+ status: 'stable',
1038
+ },
969
1039
  {
970
1040
  name: 'SettingsPanel01',
971
1041
  slug: 'settings-panel-01',
@@ -1981,10 +2051,10 @@ export const catalog = [
1981
2051
  slug: 'issue-detail-01',
1982
2052
  kind: 'block',
1983
2053
  category: null,
1984
- description: 'One issue: its key in the mono face, its state, the fields the caller declares, the body, the thread in the caller order, and slots for the editor, controls and aside.',
2054
+ description: 'Deprecated: one issue in full. The record detail Block, RecordDetail01, draws the same screen under a name that survives whatever the record is called. This Item still renders and is still supported, but nothing new should be started on it.',
1985
2055
  source: 'src/blocks/issue-detail-01/index.tsx',
1986
2056
  exports: ['IssueDetail01'],
1987
- status: 'stable',
2057
+ status: 'deprecated',
1988
2058
  },
1989
2059
  {
1990
2060
  name: 'NotificationCenter01',
@@ -2506,6 +2576,16 @@ export const catalog = [
2506
2576
  exports: ['ToolLedger01'],
2507
2577
  status: 'stable',
2508
2578
  },
2579
+ {
2580
+ name: 'MessageThread01',
2581
+ slug: 'message-thread-01',
2582
+ kind: 'live',
2583
+ category: null,
2584
+ description: 'The message thread of a conversation, receiving messages over a subscription the consumer supplies: a list of messages with ordered parts, where the event log is a list of occurrences.',
2585
+ source: 'src/live/message-thread-01/index.tsx',
2586
+ exports: ['MessageThread01'],
2587
+ status: 'stable',
2588
+ },
2509
2589
  {
2510
2590
  name: 'PackSwitcher',
2511
2591
  slug: 'pack-switcher',
@@ -2846,6 +2926,16 @@ export const catalog = [
2846
2926
  exports: ['MoneyField'],
2847
2927
  status: 'stable',
2848
2928
  },
2929
+ {
2930
+ name: 'DocumentPage',
2931
+ slug: 'document-page',
2932
+ kind: 'page',
2933
+ category: null,
2934
+ description: 'A whole document screen: the document read in full as a record with its body held to the reading measure, and one or more regions beside it drawn by the settled Blocks. A version list, a comment thread, a source list, an output list and an evidence comparison matrix are regions of this one Page rather than six Items.',
2935
+ source: 'src/pages/document-page/index.tsx',
2936
+ exports: ['DocumentPage'],
2937
+ status: 'stable',
2938
+ },
2849
2939
  ];
2850
2940
  /** Returns the catalogue ordered for display and keyed for lookup. */
2851
2941
  export function buildCatalog(items = catalog) {
@@ -59,9 +59,11 @@ export interface MetricProps extends Omit<ComponentProps<'div'>, 'children'> {
59
59
  * Component that guessed would be claiming a caller's units. The fallback is
60
60
  * the number itself, so a caller who passes a fraction and no formatter gets
61
61
  * `0.12` printed, which is honest and usually not what was wanted. Pass the
62
- * formatter.
62
+ * formatter. The return is a `ReactNode` rather than a string, because a caller
63
+ * that already composed the words carries them as one and a plain string is the
64
+ * same value.
63
65
  */
64
- deltaFormat?: (value: number) => string;
66
+ deltaFormat?: (value: number) => ReactNode;
65
67
  /**
66
68
  * The line under the label, for whatever the caller wants said about the
67
69
  * figure: the period it covers, the source it came from, the caveat that
@@ -1 +1 @@
1
- {"version":3,"file":"metric.d.ts","sourceRoot":"","sources":["../../../src/components/ui/metric.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAQhC,oCAAoC;AACpC,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC1E;;;;;;;;OAQG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;;;;;OAMG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,kEAAkE;IAClE,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACvC;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAK,EACL,WAAW,EACX,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,WAAW,+BAoDb;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
1
+ {"version":3,"file":"metric.d.ts","sourceRoot":"","sources":["../../../src/components/ui/metric.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAQhC,oCAAoC;AACpC,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC1E;;;;;;;;OAQG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;;;;;OAMG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,kEAAkE;IAClE,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAA;IAC1C;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAK,EACL,WAAW,EACX,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,WAAW,+BAoDb;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
package/dist/index.d.ts CHANGED
@@ -99,6 +99,16 @@ export { Pricing01 } from './blocks/pricing-01/index.js';
99
99
  export { Cta01 } from './blocks/cta-01/index.js';
100
100
  export { PageHeader01 } from './blocks/page-header-01/index.js';
101
101
  export { DataTable01 } from './blocks/data-table-01/index.js';
102
+ export { CardIndex01 } from './blocks/card-index-01/index.js';
103
+ export { RecordGrid01 } from './blocks/record-grid-01/index.js';
104
+ export { RecordForm01 } from './blocks/record-form-01/index.js';
105
+ export type { RecordForm01Props, RecordForm01Issue } from './blocks/record-form-01/index.js';
106
+ export { RecordDetail01 } from './blocks/record-detail-01/index.js';
107
+ export type { RecordDetail01Props, RecordDetail01Field, RecordDetail01Relation, RecordDetail01RelationEmpty, } from './blocks/record-detail-01/index.js';
108
+ export { RecordWizard01 } from './blocks/record-wizard-01/index.js';
109
+ export type { RecordWizard01Props } from './blocks/record-wizard-01/index.js';
110
+ export { IndexDetail01 } from './blocks/index-detail-01/index.js';
111
+ export type { IndexDetail01Props } from './blocks/index-detail-01/index.js';
102
112
  export { SettingsPanel01 } from './blocks/settings-panel-01/index.js';
103
113
  export { AuthForm01 } from './blocks/auth-form-01/index.js';
104
114
  export { AppShell01 } from './blocks/app-shell-01/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -78,6 +78,12 @@ export { Pricing01 } from './blocks/pricing-01/index.js';
78
78
  export { Cta01 } from './blocks/cta-01/index.js';
79
79
  export { PageHeader01 } from './blocks/page-header-01/index.js';
80
80
  export { DataTable01 } from './blocks/data-table-01/index.js';
81
+ export { CardIndex01 } from './blocks/card-index-01/index.js';
82
+ export { RecordGrid01 } from './blocks/record-grid-01/index.js';
83
+ export { RecordForm01 } from './blocks/record-form-01/index.js';
84
+ export { RecordDetail01 } from './blocks/record-detail-01/index.js';
85
+ export { RecordWizard01 } from './blocks/record-wizard-01/index.js';
86
+ export { IndexDetail01 } from './blocks/index-detail-01/index.js';
81
87
  export { SettingsPanel01 } from './blocks/settings-panel-01/index.js';
82
88
  export { AuthForm01 } from './blocks/auth-form-01/index.js';
83
89
  export { AppShell01 } from './blocks/app-shell-01/index.js';
@@ -0,0 +1,107 @@
1
+ /**
2
+ * The control a field draws, and the shell every field carries, shared by every
3
+ * Block that takes the field specification.
4
+ *
5
+ * **It lives in `src/lib` because a field is one idea the screens share.** The
6
+ * record write form, the credential form, the contact form, the account creation
7
+ * and the provisioning run all take `FieldSpec`, and the vocabulary a consumer
8
+ * learns on one is the vocabulary on the rest. The map below covers every member
9
+ * of `FieldKind`, so a kind added to the union fails the compiler here until it is
10
+ * drawn, and the shell helpers are the part that has to be right on every field:
11
+ * a Block that drew a bespoke row per kind would have thirty places to get it
12
+ * wrong. `scripts/check-surface.mjs` holds the internal boundary: no published
13
+ * subpath reaches this module, so it is named in that gate's `INTERNAL` list with
14
+ * its reason rather than exposed.
15
+ *
16
+ * **It is plain rendering and holds no state of its own.** The values a controlled
17
+ * control needs are passed in and written back through `FieldContext`, so the Block
18
+ * that owns the screen owns the state, and this module is the same whether a form
19
+ * is uncontrolled and submits itself or holds a record across a step boundary.
20
+ */
21
+ import type { ReactNode } from 'react';
22
+ import type { FieldKind, FieldSpec } from './spec.js';
23
+ /**
24
+ * What every drawn control is handed, whatever kind it is.
25
+ *
26
+ * `controlled` is the one member a Block sets rather than derives. An uncontrolled
27
+ * form lets `Input`, `Textarea`, `NumberField` and `NativeSelect` submit
28
+ * themselves and holds state only for the controls the platform will not submit;
29
+ * a form that keeps a record across a step boundary or clears it on `done` drives
30
+ * those four from `values` and `setValue` instead. The choice is the Block's, and
31
+ * the control is drawn the same either way.
32
+ */
33
+ export type FieldContext = {
34
+ /** The control's own id, and the target of the drawn label's `htmlFor`. */
35
+ id: string;
36
+ /** The id of the drawn label, for a control that names itself by reference. */
37
+ labelId: string;
38
+ /** The ids the control should describe, or `undefined`. */
39
+ describedBy: string | undefined;
40
+ /** Whether the field has an issue drawn under it. */
41
+ invalid: boolean;
42
+ /** The field's label when it is a string, else its key, for a required string name. */
43
+ text: string;
44
+ /** The in-progress values, held for the controls the platform will not submit. */
45
+ values: Record<string, unknown>;
46
+ /** Sets one held value. */
47
+ setValue: (key: string, value: unknown) => void;
48
+ /** Whether the four native-like controls are driven from `values` rather than themselves. */
49
+ controlled?: boolean;
50
+ };
51
+ /** The label a Component that requires a `string` name can be given. */
52
+ export declare function fieldText(field: FieldSpec): string;
53
+ /** A held value as the text a form submits. */
54
+ export declare function serialize(value: unknown): string;
55
+ /**
56
+ * The kinds whose Component draws its own label.
57
+ *
58
+ * The rest have the Block's label drawn above the control, so a field has the
59
+ * same shell whether Prism drew the control or the caller did. These carry the
60
+ * label internally because their Component requires it, and drawing a second one
61
+ * would name the field twice.
62
+ */
63
+ export declare const SELF_LABELLED: ReadonlySet<Lowercase<FieldKind>>;
64
+ /**
65
+ * The kinds whose value is not submitted by the control itself.
66
+ *
67
+ * A hidden input carries the held value under the field's key so the form still
68
+ * submits one complete payload. A control that renders its own hidden input from
69
+ * `name` is absent: a second input would submit the key twice.
70
+ */
71
+ export declare const NEEDS_HIDDEN: ReadonlySet<Lowercase<FieldKind>>;
72
+ /**
73
+ * The kinds whose control is a set of choices, and therefore needs options.
74
+ *
75
+ * Exported so a Block that refuses a choice with no options reads the same list
76
+ * the renderer does, rather than keeping a second one free to disagree with it.
77
+ * A Block that spelled the member names itself would also be spelling a
78
+ * capitalized Component name as a literal in its own source, which the copy gate
79
+ * reads as copy; the vocabulary belongs here.
80
+ */
81
+ export declare const CHOICE_KINDS: ReadonlySet<FieldKind>;
82
+ /**
83
+ * The kind names a Block or Page may name directly in its own source.
84
+ *
85
+ * A `FieldSpec` names a Component with a capitalized string, and a Block that
86
+ * builds one from its own flat prop would otherwise spell a Component name as a
87
+ * string literal, which the copy gate reads as copy rather than as a machine
88
+ * value. Naming the constants here keeps the vocabulary in the module that owns
89
+ * it and leaves the renderer's `CONTROL` map the one place a kind is drawn.
90
+ */
91
+ export declare const FieldKindName: {
92
+ readonly input: "Input";
93
+ readonly textarea: "Textarea";
94
+ readonly nativeSelect: "NativeSelect";
95
+ readonly numberField: "NumberField";
96
+ readonly passwordField: "PasswordField";
97
+ readonly slot: "slot";
98
+ };
99
+ /**
100
+ * The control one field draws, whichever member of `FieldKind` it is.
101
+ *
102
+ * The kind is lowercased and looked up in the map above, so a kind the union
103
+ * grows is a compilation error at the map rather than a control that silently
104
+ * does not draw.
105
+ */
106
+ export declare function renderControl(field: FieldSpec, ctx: FieldContext): ReactNode;
107
+ //# sourceMappingURL=field-render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-render.d.ts","sourceRoot":"","sources":["../../src/lib/field-render.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAiCtC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAKlD;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,2EAA2E;IAC3E,EAAE,EAAE,MAAM,CAAA;IACV,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAA;IACf,2DAA2D;IAC3D,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAA;IAChB,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAA;IACZ,kFAAkF;IAClF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,2BAA2B;IAC3B,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAC/C,6FAA6F;IAC7F,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAElD;AAmED,+CAA+C;AAC/C,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOhD;AA2BD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAiB1D,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAUzD,CAAA;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,SAAS,CAQ9C,CAAA;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa;;;;;;;CAOhB,CAAA;AAuVV;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,GAAG,SAAS,CAG5E"}