@oods/component-contracts 0.3.2 → 0.4.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.
- package/README.md +1 -1
- package/dist/index.cjs +826 -74
- package/dist/index.d.cts +183 -3
- package/dist/index.d.ts +183 -3
- package/dist/index.js +814 -75
- package/package.json +1 -1
- package/registry/component-capability-additions.v1.json +144 -0
- package/registry/component-capability-ledger.v1.json +143 -1
- package/registry/component-intake.v1.json +53 -1
- package/registry/component-obligation-scope.v1.json +2 -2
- package/registry/component-reconciliation.proposed.v2.json +40 -2
- package/registry/lifecycle-status-tones.json +55 -0
- package/registry/status-map.json +205 -0
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
declare const COMPONENT_CLASSIFICATIONS: readonly ["native", "recipe", "alias", "authoring-only", "merged", "retired"];
|
|
2
2
|
type ComponentClassification = (typeof COMPONENT_CLASSIFICATIONS)[number];
|
|
3
|
-
declare const NUCLEUS_COMPONENT_IDS: readonly ["AddressCollectionPanel", "AddressEditor", "AddressSummaryBadge", "AddressValidationTimeline", "ArchiveEvent", "ArchivePill", "ArchiveSummary", "ArchivedRowOverlay", "AuditEvent", "AuditSummaryCard", "AuditTimeline", "Badge", "Banner", "BillingAmountInput", "BillingCardMeta", "BillingIntervalSelector", "BillingSummaryBadge", "Button", "CancellationBadge", "CancellationEvent", "CancellationForm", "CancellationSummary", "Card", "CardHeader", "Checkbox", "ClassificationBadge", "ClassificationEditor", "ClassificationPanel", "ColorStatePicker", "ColorSwatch", "ColorizedBadge", "CommunicationDetailPanel", "CycleProgressCard", "DatePicker", "DetailHeader", "FilterPanel", "FormLabelGroup", "GeoFieldMappingForm", "GeoResolutionBadge", "GeocodablePreview", "Grid", "InlineLabel", "Input", "LabelCell", "MembershipAuditTimeline", "MembershipPanel", "MessageEventTimeline", "MessageStatusBadge", "OwnerBadge", "OwnershipMeta", "OwnershipSummary", "PaginationBar", "PaymentEventTimeline", "PaymentTimeline", "PreferenceEditor", "PreferencePanel", "PreferenceSummaryBadge", "PreferenceTimeline", "PriceBadge", "PriceCardMeta", "PriceSummary", "RelativeTimestamp", "RoleAssignmentForm", "RoleBadgeList", "SearchInput", "Select", "SortIndicator", "Stack", "StateTransitionEvent", "StatusBadge", "StatusColorLegend", "StatusSelector", "StatusTimeline", "Table", "Tabs", "TagInput", "TagManager", "TagPills", "TagSummary", "TemplatePicker", "Text", "Textarea", "TimelineEntryLabel", "VizAreaControls", "VizAreaPreview", "VizAxisControls", "VizAxisSummary", "VizColorControls", "VizColorLegendConfig", "VizEncodingBadge", "VizGraphPreview", "VizHeatmapControls", "VizHeatmapPreview", "VizLineControls", "VizLinePreview", "VizMarkControls", "VizMarkPreview", "VizOpacityControls", "VizOpacitySummary", "VizPointControls", "VizPointPreview", "VizRoleBadge", "VizScaleControls", "VizScaleSummary", "VizScatterControls", "VizScatterPreview", "VizShapeControls", "VizShapeLegend", "VizSizeControls", "VizSizeSummary"];
|
|
3
|
+
declare const NUCLEUS_COMPONENT_IDS: readonly ["AddressCollectionPanel", "AddressEditor", "AddressSummaryBadge", "AddressValidationTimeline", "ArchiveEvent", "ArchivePill", "ArchiveSummary", "ArchivedRowOverlay", "AuditEvent", "AuditSummaryCard", "AuditTimeline", "Badge", "Banner", "BillingAmountInput", "BillingCardMeta", "BillingIntervalSelector", "BillingSummaryBadge", "Button", "CancellationBadge", "CancellationEvent", "CancellationForm", "CancellationSummary", "Card", "CardHeader", "Checkbox", "ClassificationBadge", "ClassificationEditor", "ClassificationPanel", "ColorStatePicker", "ColorSwatch", "ColorizedBadge", "CommunicationDetailPanel", "CycleProgressCard", "DatePicker", "DetailHeader", "Dialog", "FilterPanel", "FormLabelGroup", "GeoFieldMappingForm", "GeoResolutionBadge", "GeocodablePreview", "Grid", "InlineLabel", "Input", "LabelCell", "MembershipAuditTimeline", "MembershipPanel", "MessageEventTimeline", "MessageStatusBadge", "OwnerBadge", "OwnershipMeta", "OwnershipSummary", "PaginationBar", "PaymentEventTimeline", "PaymentTimeline", "PreferenceEditor", "PreferencePanel", "PreferenceSummaryBadge", "PreferenceTimeline", "PriceBadge", "PriceCardMeta", "PriceSummary", "RelativeTimestamp", "RoleAssignmentForm", "RoleBadgeList", "SearchInput", "Select", "SortIndicator", "Stack", "StateTransitionEvent", "StatusBadge", "StatusColorLegend", "StatusSelector", "StatusTimeline", "Switch", "Table", "Tabs", "TagInput", "TagManager", "TagPills", "TagSummary", "TemplatePicker", "Text", "Textarea", "TimelineEntryLabel", "VizAreaControls", "VizAreaPreview", "VizAxisControls", "VizAxisSummary", "VizColorControls", "VizColorLegendConfig", "VizEncodingBadge", "VizGraphPreview", "VizHeatmapControls", "VizHeatmapPreview", "VizLineControls", "VizLinePreview", "VizMarkControls", "VizMarkPreview", "VizOpacityControls", "VizOpacitySummary", "VizPointControls", "VizPointPreview", "VizRoleBadge", "VizScaleControls", "VizScaleSummary", "VizScatterControls", "VizScatterPreview", "VizShapeControls", "VizShapeLegend", "VizSizeControls", "VizSizeSummary"];
|
|
4
4
|
type NucleusComponentId = (typeof NUCLEUS_COMPONENT_IDS)[number];
|
|
5
5
|
declare const HISTORICAL_PORTED_COMPONENT_IDS: readonly ["AuditTimeline", "CancellationSummary", "PaginationBar", "PriceBadge", "RelativeTimestamp", "SearchInput", "StatusBadge", "StatusTimeline"];
|
|
6
6
|
/** @deprecated Historical compatibility cohort; all members belong to NucleusComponentId. */
|
|
@@ -20,6 +20,12 @@ type ComponentContract = {
|
|
|
20
20
|
id: GovernedComponentId;
|
|
21
21
|
version: '1.0.0' | '1.1.0';
|
|
22
22
|
props: readonly string[];
|
|
23
|
+
/**
|
|
24
|
+
* s221-m02 (#2482 ruling 5): saved-schema composition directives the React and Vue components accept, which code
|
|
25
|
+
* generation consumes (a field binding, a pattern's parts) and the component reads no value from; listed apart from
|
|
26
|
+
* the props a consumer passes.
|
|
27
|
+
*/
|
|
28
|
+
directives?: readonly string[];
|
|
23
29
|
/** Public props needed to name or identify a field; substitution must preserve them. */
|
|
24
30
|
requiredProps?: readonly string[];
|
|
25
31
|
slots: readonly string[];
|
|
@@ -80,7 +86,7 @@ type ComponentBehavior = {
|
|
|
80
86
|
|
|
81
87
|
declare const COMPONENT_CONTRACT_VERSION: "1.1.0";
|
|
82
88
|
declare const COMPONENT_CONTRACT_VERSION_1_1: "1.1.0";
|
|
83
|
-
declare const componentContracts: Readonly<Record<"AddressCollectionPanel" | "AddressEditor" | "AddressSummaryBadge" | "AddressValidationTimeline" | "ArchiveEvent" | "ArchivePill" | "ArchiveSummary" | "ArchivedRowOverlay" | "AuditEvent" | "AuditSummaryCard" | "AuditTimeline" | "Badge" | "Banner" | "BillingAmountInput" | "BillingCardMeta" | "BillingIntervalSelector" | "BillingSummaryBadge" | "Button" | "CancellationBadge" | "CancellationEvent" | "CancellationForm" | "CancellationSummary" | "Card" | "CardHeader" | "Checkbox" | "ClassificationBadge" | "ClassificationEditor" | "ClassificationPanel" | "ColorStatePicker" | "ColorSwatch" | "ColorizedBadge" | "CommunicationDetailPanel" | "CycleProgressCard" | "DatePicker" | "DetailHeader" | "FilterPanel" | "FormLabelGroup" | "GeoFieldMappingForm" | "GeoResolutionBadge" | "GeocodablePreview" | "Grid" | "InlineLabel" | "Input" | "LabelCell" | "MembershipAuditTimeline" | "MembershipPanel" | "MessageEventTimeline" | "MessageStatusBadge" | "OwnerBadge" | "OwnershipMeta" | "OwnershipSummary" | "PaginationBar" | "PaymentEventTimeline" | "PaymentTimeline" | "PreferenceEditor" | "PreferencePanel" | "PreferenceSummaryBadge" | "PreferenceTimeline" | "PriceBadge" | "PriceCardMeta" | "PriceSummary" | "RelativeTimestamp" | "RoleAssignmentForm" | "RoleBadgeList" | "SearchInput" | "Select" | "SortIndicator" | "Stack" | "StateTransitionEvent" | "StatusBadge" | "StatusColorLegend" | "StatusSelector" | "StatusTimeline" | "Table" | "Tabs" | "TagInput" | "TagManager" | "TagPills" | "TagSummary" | "TemplatePicker" | "Text" | "Textarea" | "TimelineEntryLabel" | "VizAreaControls" | "VizAreaPreview" | "VizAxisControls" | "VizAxisSummary" | "VizColorControls" | "VizColorLegendConfig" | "VizEncodingBadge" | "VizGraphPreview" | "VizHeatmapControls" | "VizHeatmapPreview" | "VizLineControls" | "VizLinePreview" | "VizMarkControls" | "VizMarkPreview" | "VizOpacityControls" | "VizOpacitySummary" | "VizPointControls" | "VizPointPreview" | "VizRoleBadge" | "VizScaleControls" | "VizScaleSummary" | "VizScatterControls" | "VizScatterPreview" | "VizShapeControls" | "VizShapeLegend" | "VizSizeControls" | "VizSizeSummary", ComponentContract>>;
|
|
89
|
+
declare const componentContracts: Readonly<Record<"AddressCollectionPanel" | "AddressEditor" | "AddressSummaryBadge" | "AddressValidationTimeline" | "ArchiveEvent" | "ArchivePill" | "ArchiveSummary" | "ArchivedRowOverlay" | "AuditEvent" | "AuditSummaryCard" | "AuditTimeline" | "Badge" | "Banner" | "BillingAmountInput" | "BillingCardMeta" | "BillingIntervalSelector" | "BillingSummaryBadge" | "Button" | "CancellationBadge" | "CancellationEvent" | "CancellationForm" | "CancellationSummary" | "Card" | "CardHeader" | "Checkbox" | "ClassificationBadge" | "ClassificationEditor" | "ClassificationPanel" | "ColorStatePicker" | "ColorSwatch" | "ColorizedBadge" | "CommunicationDetailPanel" | "CycleProgressCard" | "DatePicker" | "DetailHeader" | "Dialog" | "FilterPanel" | "FormLabelGroup" | "GeoFieldMappingForm" | "GeoResolutionBadge" | "GeocodablePreview" | "Grid" | "InlineLabel" | "Input" | "LabelCell" | "MembershipAuditTimeline" | "MembershipPanel" | "MessageEventTimeline" | "MessageStatusBadge" | "OwnerBadge" | "OwnershipMeta" | "OwnershipSummary" | "PaginationBar" | "PaymentEventTimeline" | "PaymentTimeline" | "PreferenceEditor" | "PreferencePanel" | "PreferenceSummaryBadge" | "PreferenceTimeline" | "PriceBadge" | "PriceCardMeta" | "PriceSummary" | "RelativeTimestamp" | "RoleAssignmentForm" | "RoleBadgeList" | "SearchInput" | "Select" | "SortIndicator" | "Stack" | "StateTransitionEvent" | "StatusBadge" | "StatusColorLegend" | "StatusSelector" | "StatusTimeline" | "Switch" | "Table" | "Tabs" | "TagInput" | "TagManager" | "TagPills" | "TagSummary" | "TemplatePicker" | "Text" | "Textarea" | "TimelineEntryLabel" | "VizAreaControls" | "VizAreaPreview" | "VizAxisControls" | "VizAxisSummary" | "VizColorControls" | "VizColorLegendConfig" | "VizEncodingBadge" | "VizGraphPreview" | "VizHeatmapControls" | "VizHeatmapPreview" | "VizLineControls" | "VizLinePreview" | "VizMarkControls" | "VizMarkPreview" | "VizOpacityControls" | "VizOpacitySummary" | "VizPointControls" | "VizPointPreview" | "VizRoleBadge" | "VizScaleControls" | "VizScaleSummary" | "VizScatterControls" | "VizScatterPreview" | "VizShapeControls" | "VizShapeLegend" | "VizSizeControls" | "VizSizeSummary", ComponentContract>>;
|
|
84
90
|
|
|
85
91
|
/** Billable's declared defaults; object parameter overrides travel as runtime props. */
|
|
86
92
|
declare const BILLING_INTERVALS: readonly ["monthly", "quarterly", "annual"];
|
|
@@ -109,6 +115,11 @@ declare function formatPriceAmount(value: unknown, currency?: unknown, minorUnit
|
|
|
109
115
|
declare function formatPriceCode(value: unknown): string | undefined;
|
|
110
116
|
|
|
111
117
|
declare const sharedScenarios: readonly SharedScenario[];
|
|
118
|
+
/**
|
|
119
|
+
* s222-m03 (#2502 ruling 16): an empty value, which React, Vue and the HTML renderer must show alike, as "Unknown time"
|
|
120
|
+
* with no empty datetime. It stays out of sharedScenarios, which holds exactly one documented example per component.
|
|
121
|
+
*/
|
|
122
|
+
declare const relativeTimestampEmptyScenario: SharedScenario;
|
|
112
123
|
|
|
113
124
|
/** @deprecated Historical compatibility view; canonical definitions live in componentContracts. */
|
|
114
125
|
declare const portedComponentContracts: Readonly<Record<"AuditTimeline" | "CancellationSummary" | "PaginationBar" | "PriceBadge" | "RelativeTimestamp" | "SearchInput" | "StatusBadge" | "StatusTimeline", ComponentContract>>;
|
|
@@ -157,6 +168,64 @@ declare const RESULT_STATE_TONE: "neutral";
|
|
|
157
168
|
/** The tones that carry a verdict or a severity; a result state never resolves to any of their colours. */
|
|
158
169
|
declare const SEVERITY_TONES: readonly ["positive", "success", "warning", "critical", "danger"];
|
|
159
170
|
|
|
171
|
+
/**
|
|
172
|
+
* s222-m02 (#2502 ruling 11): status marks are SVG icons, not Unicode glyphs, so a badge or banner draws the same mark
|
|
173
|
+
* in every font and renderer. One 16-unit grid, stroked in the text colour (1.5 wide, round caps and joins), so each
|
|
174
|
+
* mark keeps the tone's graded text contrast and reads at a badge's 12px and a banner's 16px. React, Vue and HTML all
|
|
175
|
+
* draw from this table.
|
|
176
|
+
*/
|
|
177
|
+
type StatusIconName = 'check' | 'x' | 'alert' | 'info' | 'clock' | 'dots' | 'refresh' | 'pause' | 'ban' | 'pencil' | 'star' | 'undo' | 'lock' | 'unlock' | 'dot';
|
|
178
|
+
type StatusIconShape = {
|
|
179
|
+
readonly tag: 'path' | 'circle' | 'rect';
|
|
180
|
+
readonly attrs: Readonly<Record<string, string>>;
|
|
181
|
+
};
|
|
182
|
+
declare const STATUS_ICON_SHAPES: Readonly<Record<StatusIconName, readonly StatusIconShape[]>>;
|
|
183
|
+
/** The outer svg element's attributes, in the order every renderer writes them. It is 1em square, so it takes the size of
|
|
184
|
+
* the text it sits in wherever no stylesheet sizes it. */
|
|
185
|
+
declare const STATUS_ICON_SVG_ATTRS: Readonly<Record<string, string>>;
|
|
186
|
+
/** The mark for a registry icon name; an unknown name takes the neutral dot, and no name takes no mark. */
|
|
187
|
+
declare function resolveStatusIcon(iconName: string | undefined): StatusIconName | undefined;
|
|
188
|
+
/** The mark as markup, for renderers that write HTML strings. */
|
|
189
|
+
declare function statusIconMarkup(name: StatusIconName): string;
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* s222-m02 (#2502 ruling 11): the status registry and its presentation, shared by every renderer. It moved here from
|
|
193
|
+
* @oods/components-react (which re-exports it unchanged) so the HTML renderer labels, tones and marks a status exactly as
|
|
194
|
+
* the React components do. The map is the token package's saas-billing status map.
|
|
195
|
+
*
|
|
196
|
+
* s222-m03 (#2502 ruling 13): the lifecycle table (registry/lifecycle-status-tones.json) is the StatusBadge contract's
|
|
197
|
+
* lifecycle status-to-tone table: the `lifecycle` domain, and what any domain's badge reads for a status its own table does
|
|
198
|
+
* not know. A settled payment is a success and a failed one critical, not neutral.
|
|
199
|
+
*/
|
|
200
|
+
type StatusTone = 'neutral' | 'info' | 'accent' | 'positive' | 'success' | 'warning' | 'critical' | 'danger';
|
|
201
|
+
type StatusDomain = string;
|
|
202
|
+
type StatusTokenSet = {
|
|
203
|
+
readonly background: string;
|
|
204
|
+
readonly border: string;
|
|
205
|
+
readonly foreground: string;
|
|
206
|
+
};
|
|
207
|
+
type StatusPresentation = {
|
|
208
|
+
readonly domain: StatusDomain;
|
|
209
|
+
readonly status: string;
|
|
210
|
+
readonly label: string;
|
|
211
|
+
readonly description: string;
|
|
212
|
+
readonly tone: StatusTone;
|
|
213
|
+
readonly iconName?: string;
|
|
214
|
+
readonly badge: {
|
|
215
|
+
readonly subtle: StatusTokenSet;
|
|
216
|
+
readonly solid: StatusTokenSet;
|
|
217
|
+
};
|
|
218
|
+
readonly banner: {
|
|
219
|
+
readonly subtle: StatusTokenSet;
|
|
220
|
+
readonly solid: StatusTokenSet;
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
declare const STATUS_DOMAINS: readonly StatusDomain[];
|
|
224
|
+
declare function getStatusPresentation(domain: StatusDomain, status: string): StatusPresentation;
|
|
225
|
+
declare function listStatuses(domain: StatusDomain): readonly StatusPresentation[];
|
|
226
|
+
declare function getToneTokenSet(tone: StatusTone): StatusTokenSet;
|
|
227
|
+
declare function getBannerToneTokenSet(tone: StatusTone): StatusTokenSet;
|
|
228
|
+
|
|
160
229
|
interface BillingCycleValues {
|
|
161
230
|
progress?: number;
|
|
162
231
|
periodStart?: string;
|
|
@@ -260,6 +329,30 @@ declare function assertStaticSvg(svg: string): string;
|
|
|
260
329
|
* the title as a text element whose whole content is the title.
|
|
261
330
|
*/
|
|
262
331
|
declare function svgCarriesTitle(svg: string, title: string | undefined): boolean;
|
|
332
|
+
/** s222-m02 (#2502 ruling 12, F7): the props that carry a placed chart's dark and high-contrast renders. */
|
|
333
|
+
declare const VIZ_THEME_SVG_PROPS: readonly ["svgDark", "svgDarkNarrow", "svgDarkWide", "svgHc", "svgHcNarrow", "svgHcWide"];
|
|
334
|
+
type VizThemeSvgProp = (typeof VIZ_THEME_SVG_PROPS)[number];
|
|
335
|
+
/** Every render prop a placed chart carries: the light (or only) renders, then the dark and hc ones. */
|
|
336
|
+
declare const VIZ_SVG_PROPS: readonly ["svg", "svgNarrow", "svgWide", "svgDark", "svgDarkNarrow", "svgDarkWide", "svgHc", "svgHcNarrow", "svgHcWide"];
|
|
337
|
+
type VizPreviewTheme = 'light' | 'dark' | 'hc';
|
|
338
|
+
type VizRenderAttribute = 'data-viz-svg' | 'data-viz-svg-narrow' | 'data-viz-svg-wide';
|
|
339
|
+
/** One set of a chart's renders: the design size, then the narrow and wide sizes when present. */
|
|
340
|
+
interface VizPreviewLayer {
|
|
341
|
+
/** The theme the renders are drawn in; absent for a chart with no dark or hc renders, whose renders show in every theme. */
|
|
342
|
+
readonly theme?: VizPreviewTheme;
|
|
343
|
+
readonly narrow: boolean;
|
|
344
|
+
readonly wide: boolean;
|
|
345
|
+
/** Each render's wrapper attribute and its checked SVG, in document order. */
|
|
346
|
+
readonly renders: ReadonlyArray<readonly [VizRenderAttribute, string]>;
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* The renders a chart preview lays out, which React, Vue and the HTML renderer all read, so the three render one markup.
|
|
350
|
+
* Without a dark or hc render it is the one unthemed layer the figure has always shown (svg, svgNarrow, svgWide). With
|
|
351
|
+
* them, a layer per theme (light is svg*), each wrapped in [data-viz-theme]; component-styles shows the one matching the
|
|
352
|
+
* nearest [data-theme], and each wrapper repeats the figure's data-viz-narrow and data-viz-wide so the size rules apply
|
|
353
|
+
* inside it. Every SVG passes assertStaticSvg.
|
|
354
|
+
*/
|
|
355
|
+
declare function vizPreviewLayers(props: Readonly<Partial<Record<'svg' | 'svgNarrow' | 'svgWide' | VizThemeSvgProp, unknown>>>): VizPreviewLayer[];
|
|
263
356
|
|
|
264
357
|
declare const componentBehaviors: {
|
|
265
358
|
readonly VizAreaControls: {
|
|
@@ -1660,6 +1753,48 @@ declare const componentBehaviors: {
|
|
|
1660
1753
|
readonly interactionReason: "DetailHeader presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility.";
|
|
1661
1754
|
readonly event: readonly [];
|
|
1662
1755
|
};
|
|
1756
|
+
readonly Dialog: {
|
|
1757
|
+
readonly role: "button";
|
|
1758
|
+
readonly name: {
|
|
1759
|
+
readonly strategy: "aria-label";
|
|
1760
|
+
readonly target: "button[aria-label=\"Close\"]";
|
|
1761
|
+
};
|
|
1762
|
+
readonly keyboard: {
|
|
1763
|
+
readonly Tab: "Move focus to the named native control";
|
|
1764
|
+
readonly Enter: "Activate the control";
|
|
1765
|
+
readonly Escape: "Close the dialog";
|
|
1766
|
+
};
|
|
1767
|
+
readonly interaction: "interactive";
|
|
1768
|
+
readonly event: readonly [{
|
|
1769
|
+
readonly trigger: "keyboard";
|
|
1770
|
+
readonly target: "button[aria-label=\"Close\"]";
|
|
1771
|
+
readonly key: "Tab";
|
|
1772
|
+
readonly effect: {
|
|
1773
|
+
readonly kind: "focus";
|
|
1774
|
+
};
|
|
1775
|
+
}, {
|
|
1776
|
+
readonly trigger: "pointer";
|
|
1777
|
+
readonly target: "button[aria-label=\"Close\"]";
|
|
1778
|
+
readonly effect: {
|
|
1779
|
+
readonly kind: "event";
|
|
1780
|
+
};
|
|
1781
|
+
readonly action: "click";
|
|
1782
|
+
}, {
|
|
1783
|
+
readonly trigger: "keyboard";
|
|
1784
|
+
readonly target: "button[aria-label=\"Close\"]";
|
|
1785
|
+
readonly effect: {
|
|
1786
|
+
readonly kind: "event";
|
|
1787
|
+
};
|
|
1788
|
+
readonly key: "Enter";
|
|
1789
|
+
}, {
|
|
1790
|
+
readonly trigger: "keyboard";
|
|
1791
|
+
readonly target: "button[aria-label=\"Close\"]";
|
|
1792
|
+
readonly effect: {
|
|
1793
|
+
readonly kind: "event";
|
|
1794
|
+
};
|
|
1795
|
+
readonly key: "Escape";
|
|
1796
|
+
}];
|
|
1797
|
+
};
|
|
1663
1798
|
readonly FilterPanel: {
|
|
1664
1799
|
readonly role: "button";
|
|
1665
1800
|
readonly name: {
|
|
@@ -2155,6 +2290,51 @@ declare const componentBehaviors: {
|
|
|
2155
2290
|
readonly interactionReason: "StatusTimeline presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility.";
|
|
2156
2291
|
readonly event: readonly [];
|
|
2157
2292
|
};
|
|
2293
|
+
readonly Switch: {
|
|
2294
|
+
readonly role: "switch";
|
|
2295
|
+
readonly name: {
|
|
2296
|
+
readonly strategy: "label";
|
|
2297
|
+
readonly target: "button[role=\"switch\"]";
|
|
2298
|
+
};
|
|
2299
|
+
readonly keyboard: {
|
|
2300
|
+
readonly Tab: "Move focus to the named native control";
|
|
2301
|
+
readonly " ": "Toggle the switch";
|
|
2302
|
+
readonly Enter: "Toggle the switch";
|
|
2303
|
+
};
|
|
2304
|
+
readonly interaction: "interactive";
|
|
2305
|
+
readonly event: readonly [{
|
|
2306
|
+
readonly trigger: "keyboard";
|
|
2307
|
+
readonly target: "button[role=\"switch\"]";
|
|
2308
|
+
readonly key: "Tab";
|
|
2309
|
+
readonly effect: {
|
|
2310
|
+
readonly kind: "focus";
|
|
2311
|
+
};
|
|
2312
|
+
}, {
|
|
2313
|
+
readonly trigger: "pointer";
|
|
2314
|
+
readonly target: "button[role=\"switch\"]";
|
|
2315
|
+
readonly effect: {
|
|
2316
|
+
readonly kind: "event";
|
|
2317
|
+
readonly value: true;
|
|
2318
|
+
};
|
|
2319
|
+
readonly action: "click";
|
|
2320
|
+
}, {
|
|
2321
|
+
readonly trigger: "keyboard";
|
|
2322
|
+
readonly target: "button[role=\"switch\"]";
|
|
2323
|
+
readonly effect: {
|
|
2324
|
+
readonly kind: "event";
|
|
2325
|
+
readonly value: true;
|
|
2326
|
+
};
|
|
2327
|
+
readonly key: " ";
|
|
2328
|
+
}, {
|
|
2329
|
+
readonly trigger: "keyboard";
|
|
2330
|
+
readonly target: "button[role=\"switch\"]";
|
|
2331
|
+
readonly effect: {
|
|
2332
|
+
readonly kind: "event";
|
|
2333
|
+
readonly value: true;
|
|
2334
|
+
};
|
|
2335
|
+
readonly key: "Enter";
|
|
2336
|
+
}];
|
|
2337
|
+
};
|
|
2158
2338
|
readonly Table: {
|
|
2159
2339
|
readonly role: "button";
|
|
2160
2340
|
readonly name: {
|
|
@@ -3040,4 +3220,4 @@ declare function getBaselineCapability(componentId: string): {
|
|
|
3040
3220
|
};
|
|
3041
3221
|
} | undefined;
|
|
3042
3222
|
|
|
3043
|
-
export { type AuditSummaryValues, BILLING_AMOUNT_ERROR, BILLING_INTERVALS, BILLING_INTERVAL_ERROR, BILLING_MINOR_UNITS, type BillingAmountResult, type BillingCycleValues, type BillingPaymentValues, COMPONENT_CLASSIFICATIONS, COMPONENT_CONTRACT_VERSION, COMPONENT_CONTRACT_VERSION_1_1, type CollectionEvent, type ComponentBehavior, type ComponentClassification, type ComponentContract, DEFAULT_COLOR_STATES, EMISSION_ELIGIBILITY_EVIDENCE_CLASSES, type EmissionEligibilityEvidence, type EmissionEligibilityEvidenceClass, type EvidenceResult, type EvidenceStatus, FOUNDATION_V1_EVIDENCE_CLASSES, type FoundationV1Evidence, type FoundationV1EvidenceClass, GOVERNED_DEFINITION, GOVERNED_SURFACES, type GeoFieldMappingValue, type GovernedComponentId, type GovernedLedgerRow, NO_LAST_PAYMENT, NO_NEXT_PAYMENT, NUCLEUS_COMPONENT_IDS, type NucleusComponentId, type ObligationStatus, PORTED_COMPONENT_IDS, type PortedComponentId, RESULT_STATES, RESULT_STATE_TONE, type ResultState, SEVERITY_TONES, type ScenarioTrigger, type SharedScenario, type SortIndicatorValues, type SortState, type SubstitutionContractReport, type SubstitutionObligation, type TraitEventKind, type TraitEventValues, UI_WORKFLOW_STATES, type UiWorkflowState, VIZ_CONTROL_IDS, VIZ_CONTROL_TITLES, VIZ_PREVIEW_TYPES, VIZ_SUMMARY_IDS, type VizChannel, type VizChartType, type VizColorBinding, type VizControlField, type VizControlId, type VizFieldBinding, type VizIntentFragment, type VizScale, type VizSummaryId, ariaSort, assertStaticSvg, auditSummary, billingAmountMessage, billingAmountText, billingCycle, billingDate, billingIntervalMessage, billingPaymentRows, billingPaymentSummary, billingPeriodEnd, billingSummary, chronologicalEvents, componentBehaviors, componentCapabilityBaseline, componentContracts, componentIntake, componentReconciliationProposal, currencyMinorUnits, dateTimeInputValue, defaultVizIntent, deriveStartingComponentCount, editVizIntent, evaluateEmissionEligibility, evaluateFoundationV1, formatBillingAmount, formatDateTime, formatPriceAmount, formatPriceCode, formatReadOnlyValue, formatRecordLabel, formatReferenceLabel, geoFieldMapping, getBaselineCapability, initialSort, isGovernedComponent, isVizIntentFragment, nextSort, parseBillingAmount, portedComponentContracts, portedScenarios, recipeItemLabels, recordCollectionEvents, restartedBillingPeriod, sharedScenarios, substitutionContractReport, summarizeSubstitutionReport, summaryValue, svgCarriesTitle, traitEventRows, validMinorUnits, validateComponentIntakeDocument, vizControlFields, vizFieldValue, vizSummaryRows };
|
|
3223
|
+
export { type AuditSummaryValues, BILLING_AMOUNT_ERROR, BILLING_INTERVALS, BILLING_INTERVAL_ERROR, BILLING_MINOR_UNITS, type BillingAmountResult, type BillingCycleValues, type BillingPaymentValues, COMPONENT_CLASSIFICATIONS, COMPONENT_CONTRACT_VERSION, COMPONENT_CONTRACT_VERSION_1_1, type CollectionEvent, type ComponentBehavior, type ComponentClassification, type ComponentContract, DEFAULT_COLOR_STATES, EMISSION_ELIGIBILITY_EVIDENCE_CLASSES, type EmissionEligibilityEvidence, type EmissionEligibilityEvidenceClass, type EvidenceResult, type EvidenceStatus, FOUNDATION_V1_EVIDENCE_CLASSES, type FoundationV1Evidence, type FoundationV1EvidenceClass, GOVERNED_DEFINITION, GOVERNED_SURFACES, type GeoFieldMappingValue, type GovernedComponentId, type GovernedLedgerRow, NO_LAST_PAYMENT, NO_NEXT_PAYMENT, NUCLEUS_COMPONENT_IDS, type NucleusComponentId, type ObligationStatus, PORTED_COMPONENT_IDS, type PortedComponentId, RESULT_STATES, RESULT_STATE_TONE, type ResultState, SEVERITY_TONES, STATUS_DOMAINS, STATUS_ICON_SHAPES, STATUS_ICON_SVG_ATTRS, type ScenarioTrigger, type SharedScenario, type SortIndicatorValues, type SortState, type StatusDomain, type StatusIconName, type StatusIconShape, type StatusPresentation, type StatusTokenSet, type StatusTone, type SubstitutionContractReport, type SubstitutionObligation, type TraitEventKind, type TraitEventValues, UI_WORKFLOW_STATES, type UiWorkflowState, VIZ_CONTROL_IDS, VIZ_CONTROL_TITLES, VIZ_PREVIEW_TYPES, VIZ_SUMMARY_IDS, VIZ_SVG_PROPS, VIZ_THEME_SVG_PROPS, type VizChannel, type VizChartType, type VizColorBinding, type VizControlField, type VizControlId, type VizFieldBinding, type VizIntentFragment, type VizPreviewLayer, type VizPreviewTheme, type VizRenderAttribute, type VizScale, type VizSummaryId, type VizThemeSvgProp, ariaSort, assertStaticSvg, auditSummary, billingAmountMessage, billingAmountText, billingCycle, billingDate, billingIntervalMessage, billingPaymentRows, billingPaymentSummary, billingPeriodEnd, billingSummary, chronologicalEvents, componentBehaviors, componentCapabilityBaseline, componentContracts, componentIntake, componentReconciliationProposal, currencyMinorUnits, dateTimeInputValue, defaultVizIntent, deriveStartingComponentCount, editVizIntent, evaluateEmissionEligibility, evaluateFoundationV1, formatBillingAmount, formatDateTime, formatPriceAmount, formatPriceCode, formatReadOnlyValue, formatRecordLabel, formatReferenceLabel, geoFieldMapping, getBannerToneTokenSet, getBaselineCapability, getStatusPresentation, getToneTokenSet, initialSort, isGovernedComponent, isVizIntentFragment, listStatuses, nextSort, parseBillingAmount, portedComponentContracts, portedScenarios, recipeItemLabels, recordCollectionEvents, relativeTimestampEmptyScenario, resolveStatusIcon, restartedBillingPeriod, sharedScenarios, statusIconMarkup, substitutionContractReport, summarizeSubstitutionReport, summaryValue, svgCarriesTitle, traitEventRows, validMinorUnits, validateComponentIntakeDocument, vizControlFields, vizFieldValue, vizPreviewLayers, vizSummaryRows };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
declare const COMPONENT_CLASSIFICATIONS: readonly ["native", "recipe", "alias", "authoring-only", "merged", "retired"];
|
|
2
2
|
type ComponentClassification = (typeof COMPONENT_CLASSIFICATIONS)[number];
|
|
3
|
-
declare const NUCLEUS_COMPONENT_IDS: readonly ["AddressCollectionPanel", "AddressEditor", "AddressSummaryBadge", "AddressValidationTimeline", "ArchiveEvent", "ArchivePill", "ArchiveSummary", "ArchivedRowOverlay", "AuditEvent", "AuditSummaryCard", "AuditTimeline", "Badge", "Banner", "BillingAmountInput", "BillingCardMeta", "BillingIntervalSelector", "BillingSummaryBadge", "Button", "CancellationBadge", "CancellationEvent", "CancellationForm", "CancellationSummary", "Card", "CardHeader", "Checkbox", "ClassificationBadge", "ClassificationEditor", "ClassificationPanel", "ColorStatePicker", "ColorSwatch", "ColorizedBadge", "CommunicationDetailPanel", "CycleProgressCard", "DatePicker", "DetailHeader", "FilterPanel", "FormLabelGroup", "GeoFieldMappingForm", "GeoResolutionBadge", "GeocodablePreview", "Grid", "InlineLabel", "Input", "LabelCell", "MembershipAuditTimeline", "MembershipPanel", "MessageEventTimeline", "MessageStatusBadge", "OwnerBadge", "OwnershipMeta", "OwnershipSummary", "PaginationBar", "PaymentEventTimeline", "PaymentTimeline", "PreferenceEditor", "PreferencePanel", "PreferenceSummaryBadge", "PreferenceTimeline", "PriceBadge", "PriceCardMeta", "PriceSummary", "RelativeTimestamp", "RoleAssignmentForm", "RoleBadgeList", "SearchInput", "Select", "SortIndicator", "Stack", "StateTransitionEvent", "StatusBadge", "StatusColorLegend", "StatusSelector", "StatusTimeline", "Table", "Tabs", "TagInput", "TagManager", "TagPills", "TagSummary", "TemplatePicker", "Text", "Textarea", "TimelineEntryLabel", "VizAreaControls", "VizAreaPreview", "VizAxisControls", "VizAxisSummary", "VizColorControls", "VizColorLegendConfig", "VizEncodingBadge", "VizGraphPreview", "VizHeatmapControls", "VizHeatmapPreview", "VizLineControls", "VizLinePreview", "VizMarkControls", "VizMarkPreview", "VizOpacityControls", "VizOpacitySummary", "VizPointControls", "VizPointPreview", "VizRoleBadge", "VizScaleControls", "VizScaleSummary", "VizScatterControls", "VizScatterPreview", "VizShapeControls", "VizShapeLegend", "VizSizeControls", "VizSizeSummary"];
|
|
3
|
+
declare const NUCLEUS_COMPONENT_IDS: readonly ["AddressCollectionPanel", "AddressEditor", "AddressSummaryBadge", "AddressValidationTimeline", "ArchiveEvent", "ArchivePill", "ArchiveSummary", "ArchivedRowOverlay", "AuditEvent", "AuditSummaryCard", "AuditTimeline", "Badge", "Banner", "BillingAmountInput", "BillingCardMeta", "BillingIntervalSelector", "BillingSummaryBadge", "Button", "CancellationBadge", "CancellationEvent", "CancellationForm", "CancellationSummary", "Card", "CardHeader", "Checkbox", "ClassificationBadge", "ClassificationEditor", "ClassificationPanel", "ColorStatePicker", "ColorSwatch", "ColorizedBadge", "CommunicationDetailPanel", "CycleProgressCard", "DatePicker", "DetailHeader", "Dialog", "FilterPanel", "FormLabelGroup", "GeoFieldMappingForm", "GeoResolutionBadge", "GeocodablePreview", "Grid", "InlineLabel", "Input", "LabelCell", "MembershipAuditTimeline", "MembershipPanel", "MessageEventTimeline", "MessageStatusBadge", "OwnerBadge", "OwnershipMeta", "OwnershipSummary", "PaginationBar", "PaymentEventTimeline", "PaymentTimeline", "PreferenceEditor", "PreferencePanel", "PreferenceSummaryBadge", "PreferenceTimeline", "PriceBadge", "PriceCardMeta", "PriceSummary", "RelativeTimestamp", "RoleAssignmentForm", "RoleBadgeList", "SearchInput", "Select", "SortIndicator", "Stack", "StateTransitionEvent", "StatusBadge", "StatusColorLegend", "StatusSelector", "StatusTimeline", "Switch", "Table", "Tabs", "TagInput", "TagManager", "TagPills", "TagSummary", "TemplatePicker", "Text", "Textarea", "TimelineEntryLabel", "VizAreaControls", "VizAreaPreview", "VizAxisControls", "VizAxisSummary", "VizColorControls", "VizColorLegendConfig", "VizEncodingBadge", "VizGraphPreview", "VizHeatmapControls", "VizHeatmapPreview", "VizLineControls", "VizLinePreview", "VizMarkControls", "VizMarkPreview", "VizOpacityControls", "VizOpacitySummary", "VizPointControls", "VizPointPreview", "VizRoleBadge", "VizScaleControls", "VizScaleSummary", "VizScatterControls", "VizScatterPreview", "VizShapeControls", "VizShapeLegend", "VizSizeControls", "VizSizeSummary"];
|
|
4
4
|
type NucleusComponentId = (typeof NUCLEUS_COMPONENT_IDS)[number];
|
|
5
5
|
declare const HISTORICAL_PORTED_COMPONENT_IDS: readonly ["AuditTimeline", "CancellationSummary", "PaginationBar", "PriceBadge", "RelativeTimestamp", "SearchInput", "StatusBadge", "StatusTimeline"];
|
|
6
6
|
/** @deprecated Historical compatibility cohort; all members belong to NucleusComponentId. */
|
|
@@ -20,6 +20,12 @@ type ComponentContract = {
|
|
|
20
20
|
id: GovernedComponentId;
|
|
21
21
|
version: '1.0.0' | '1.1.0';
|
|
22
22
|
props: readonly string[];
|
|
23
|
+
/**
|
|
24
|
+
* s221-m02 (#2482 ruling 5): saved-schema composition directives the React and Vue components accept, which code
|
|
25
|
+
* generation consumes (a field binding, a pattern's parts) and the component reads no value from; listed apart from
|
|
26
|
+
* the props a consumer passes.
|
|
27
|
+
*/
|
|
28
|
+
directives?: readonly string[];
|
|
23
29
|
/** Public props needed to name or identify a field; substitution must preserve them. */
|
|
24
30
|
requiredProps?: readonly string[];
|
|
25
31
|
slots: readonly string[];
|
|
@@ -80,7 +86,7 @@ type ComponentBehavior = {
|
|
|
80
86
|
|
|
81
87
|
declare const COMPONENT_CONTRACT_VERSION: "1.1.0";
|
|
82
88
|
declare const COMPONENT_CONTRACT_VERSION_1_1: "1.1.0";
|
|
83
|
-
declare const componentContracts: Readonly<Record<"AddressCollectionPanel" | "AddressEditor" | "AddressSummaryBadge" | "AddressValidationTimeline" | "ArchiveEvent" | "ArchivePill" | "ArchiveSummary" | "ArchivedRowOverlay" | "AuditEvent" | "AuditSummaryCard" | "AuditTimeline" | "Badge" | "Banner" | "BillingAmountInput" | "BillingCardMeta" | "BillingIntervalSelector" | "BillingSummaryBadge" | "Button" | "CancellationBadge" | "CancellationEvent" | "CancellationForm" | "CancellationSummary" | "Card" | "CardHeader" | "Checkbox" | "ClassificationBadge" | "ClassificationEditor" | "ClassificationPanel" | "ColorStatePicker" | "ColorSwatch" | "ColorizedBadge" | "CommunicationDetailPanel" | "CycleProgressCard" | "DatePicker" | "DetailHeader" | "FilterPanel" | "FormLabelGroup" | "GeoFieldMappingForm" | "GeoResolutionBadge" | "GeocodablePreview" | "Grid" | "InlineLabel" | "Input" | "LabelCell" | "MembershipAuditTimeline" | "MembershipPanel" | "MessageEventTimeline" | "MessageStatusBadge" | "OwnerBadge" | "OwnershipMeta" | "OwnershipSummary" | "PaginationBar" | "PaymentEventTimeline" | "PaymentTimeline" | "PreferenceEditor" | "PreferencePanel" | "PreferenceSummaryBadge" | "PreferenceTimeline" | "PriceBadge" | "PriceCardMeta" | "PriceSummary" | "RelativeTimestamp" | "RoleAssignmentForm" | "RoleBadgeList" | "SearchInput" | "Select" | "SortIndicator" | "Stack" | "StateTransitionEvent" | "StatusBadge" | "StatusColorLegend" | "StatusSelector" | "StatusTimeline" | "Table" | "Tabs" | "TagInput" | "TagManager" | "TagPills" | "TagSummary" | "TemplatePicker" | "Text" | "Textarea" | "TimelineEntryLabel" | "VizAreaControls" | "VizAreaPreview" | "VizAxisControls" | "VizAxisSummary" | "VizColorControls" | "VizColorLegendConfig" | "VizEncodingBadge" | "VizGraphPreview" | "VizHeatmapControls" | "VizHeatmapPreview" | "VizLineControls" | "VizLinePreview" | "VizMarkControls" | "VizMarkPreview" | "VizOpacityControls" | "VizOpacitySummary" | "VizPointControls" | "VizPointPreview" | "VizRoleBadge" | "VizScaleControls" | "VizScaleSummary" | "VizScatterControls" | "VizScatterPreview" | "VizShapeControls" | "VizShapeLegend" | "VizSizeControls" | "VizSizeSummary", ComponentContract>>;
|
|
89
|
+
declare const componentContracts: Readonly<Record<"AddressCollectionPanel" | "AddressEditor" | "AddressSummaryBadge" | "AddressValidationTimeline" | "ArchiveEvent" | "ArchivePill" | "ArchiveSummary" | "ArchivedRowOverlay" | "AuditEvent" | "AuditSummaryCard" | "AuditTimeline" | "Badge" | "Banner" | "BillingAmountInput" | "BillingCardMeta" | "BillingIntervalSelector" | "BillingSummaryBadge" | "Button" | "CancellationBadge" | "CancellationEvent" | "CancellationForm" | "CancellationSummary" | "Card" | "CardHeader" | "Checkbox" | "ClassificationBadge" | "ClassificationEditor" | "ClassificationPanel" | "ColorStatePicker" | "ColorSwatch" | "ColorizedBadge" | "CommunicationDetailPanel" | "CycleProgressCard" | "DatePicker" | "DetailHeader" | "Dialog" | "FilterPanel" | "FormLabelGroup" | "GeoFieldMappingForm" | "GeoResolutionBadge" | "GeocodablePreview" | "Grid" | "InlineLabel" | "Input" | "LabelCell" | "MembershipAuditTimeline" | "MembershipPanel" | "MessageEventTimeline" | "MessageStatusBadge" | "OwnerBadge" | "OwnershipMeta" | "OwnershipSummary" | "PaginationBar" | "PaymentEventTimeline" | "PaymentTimeline" | "PreferenceEditor" | "PreferencePanel" | "PreferenceSummaryBadge" | "PreferenceTimeline" | "PriceBadge" | "PriceCardMeta" | "PriceSummary" | "RelativeTimestamp" | "RoleAssignmentForm" | "RoleBadgeList" | "SearchInput" | "Select" | "SortIndicator" | "Stack" | "StateTransitionEvent" | "StatusBadge" | "StatusColorLegend" | "StatusSelector" | "StatusTimeline" | "Switch" | "Table" | "Tabs" | "TagInput" | "TagManager" | "TagPills" | "TagSummary" | "TemplatePicker" | "Text" | "Textarea" | "TimelineEntryLabel" | "VizAreaControls" | "VizAreaPreview" | "VizAxisControls" | "VizAxisSummary" | "VizColorControls" | "VizColorLegendConfig" | "VizEncodingBadge" | "VizGraphPreview" | "VizHeatmapControls" | "VizHeatmapPreview" | "VizLineControls" | "VizLinePreview" | "VizMarkControls" | "VizMarkPreview" | "VizOpacityControls" | "VizOpacitySummary" | "VizPointControls" | "VizPointPreview" | "VizRoleBadge" | "VizScaleControls" | "VizScaleSummary" | "VizScatterControls" | "VizScatterPreview" | "VizShapeControls" | "VizShapeLegend" | "VizSizeControls" | "VizSizeSummary", ComponentContract>>;
|
|
84
90
|
|
|
85
91
|
/** Billable's declared defaults; object parameter overrides travel as runtime props. */
|
|
86
92
|
declare const BILLING_INTERVALS: readonly ["monthly", "quarterly", "annual"];
|
|
@@ -109,6 +115,11 @@ declare function formatPriceAmount(value: unknown, currency?: unknown, minorUnit
|
|
|
109
115
|
declare function formatPriceCode(value: unknown): string | undefined;
|
|
110
116
|
|
|
111
117
|
declare const sharedScenarios: readonly SharedScenario[];
|
|
118
|
+
/**
|
|
119
|
+
* s222-m03 (#2502 ruling 16): an empty value, which React, Vue and the HTML renderer must show alike, as "Unknown time"
|
|
120
|
+
* with no empty datetime. It stays out of sharedScenarios, which holds exactly one documented example per component.
|
|
121
|
+
*/
|
|
122
|
+
declare const relativeTimestampEmptyScenario: SharedScenario;
|
|
112
123
|
|
|
113
124
|
/** @deprecated Historical compatibility view; canonical definitions live in componentContracts. */
|
|
114
125
|
declare const portedComponentContracts: Readonly<Record<"AuditTimeline" | "CancellationSummary" | "PaginationBar" | "PriceBadge" | "RelativeTimestamp" | "SearchInput" | "StatusBadge" | "StatusTimeline", ComponentContract>>;
|
|
@@ -157,6 +168,64 @@ declare const RESULT_STATE_TONE: "neutral";
|
|
|
157
168
|
/** The tones that carry a verdict or a severity; a result state never resolves to any of their colours. */
|
|
158
169
|
declare const SEVERITY_TONES: readonly ["positive", "success", "warning", "critical", "danger"];
|
|
159
170
|
|
|
171
|
+
/**
|
|
172
|
+
* s222-m02 (#2502 ruling 11): status marks are SVG icons, not Unicode glyphs, so a badge or banner draws the same mark
|
|
173
|
+
* in every font and renderer. One 16-unit grid, stroked in the text colour (1.5 wide, round caps and joins), so each
|
|
174
|
+
* mark keeps the tone's graded text contrast and reads at a badge's 12px and a banner's 16px. React, Vue and HTML all
|
|
175
|
+
* draw from this table.
|
|
176
|
+
*/
|
|
177
|
+
type StatusIconName = 'check' | 'x' | 'alert' | 'info' | 'clock' | 'dots' | 'refresh' | 'pause' | 'ban' | 'pencil' | 'star' | 'undo' | 'lock' | 'unlock' | 'dot';
|
|
178
|
+
type StatusIconShape = {
|
|
179
|
+
readonly tag: 'path' | 'circle' | 'rect';
|
|
180
|
+
readonly attrs: Readonly<Record<string, string>>;
|
|
181
|
+
};
|
|
182
|
+
declare const STATUS_ICON_SHAPES: Readonly<Record<StatusIconName, readonly StatusIconShape[]>>;
|
|
183
|
+
/** The outer svg element's attributes, in the order every renderer writes them. It is 1em square, so it takes the size of
|
|
184
|
+
* the text it sits in wherever no stylesheet sizes it. */
|
|
185
|
+
declare const STATUS_ICON_SVG_ATTRS: Readonly<Record<string, string>>;
|
|
186
|
+
/** The mark for a registry icon name; an unknown name takes the neutral dot, and no name takes no mark. */
|
|
187
|
+
declare function resolveStatusIcon(iconName: string | undefined): StatusIconName | undefined;
|
|
188
|
+
/** The mark as markup, for renderers that write HTML strings. */
|
|
189
|
+
declare function statusIconMarkup(name: StatusIconName): string;
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* s222-m02 (#2502 ruling 11): the status registry and its presentation, shared by every renderer. It moved here from
|
|
193
|
+
* @oods/components-react (which re-exports it unchanged) so the HTML renderer labels, tones and marks a status exactly as
|
|
194
|
+
* the React components do. The map is the token package's saas-billing status map.
|
|
195
|
+
*
|
|
196
|
+
* s222-m03 (#2502 ruling 13): the lifecycle table (registry/lifecycle-status-tones.json) is the StatusBadge contract's
|
|
197
|
+
* lifecycle status-to-tone table: the `lifecycle` domain, and what any domain's badge reads for a status its own table does
|
|
198
|
+
* not know. A settled payment is a success and a failed one critical, not neutral.
|
|
199
|
+
*/
|
|
200
|
+
type StatusTone = 'neutral' | 'info' | 'accent' | 'positive' | 'success' | 'warning' | 'critical' | 'danger';
|
|
201
|
+
type StatusDomain = string;
|
|
202
|
+
type StatusTokenSet = {
|
|
203
|
+
readonly background: string;
|
|
204
|
+
readonly border: string;
|
|
205
|
+
readonly foreground: string;
|
|
206
|
+
};
|
|
207
|
+
type StatusPresentation = {
|
|
208
|
+
readonly domain: StatusDomain;
|
|
209
|
+
readonly status: string;
|
|
210
|
+
readonly label: string;
|
|
211
|
+
readonly description: string;
|
|
212
|
+
readonly tone: StatusTone;
|
|
213
|
+
readonly iconName?: string;
|
|
214
|
+
readonly badge: {
|
|
215
|
+
readonly subtle: StatusTokenSet;
|
|
216
|
+
readonly solid: StatusTokenSet;
|
|
217
|
+
};
|
|
218
|
+
readonly banner: {
|
|
219
|
+
readonly subtle: StatusTokenSet;
|
|
220
|
+
readonly solid: StatusTokenSet;
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
declare const STATUS_DOMAINS: readonly StatusDomain[];
|
|
224
|
+
declare function getStatusPresentation(domain: StatusDomain, status: string): StatusPresentation;
|
|
225
|
+
declare function listStatuses(domain: StatusDomain): readonly StatusPresentation[];
|
|
226
|
+
declare function getToneTokenSet(tone: StatusTone): StatusTokenSet;
|
|
227
|
+
declare function getBannerToneTokenSet(tone: StatusTone): StatusTokenSet;
|
|
228
|
+
|
|
160
229
|
interface BillingCycleValues {
|
|
161
230
|
progress?: number;
|
|
162
231
|
periodStart?: string;
|
|
@@ -260,6 +329,30 @@ declare function assertStaticSvg(svg: string): string;
|
|
|
260
329
|
* the title as a text element whose whole content is the title.
|
|
261
330
|
*/
|
|
262
331
|
declare function svgCarriesTitle(svg: string, title: string | undefined): boolean;
|
|
332
|
+
/** s222-m02 (#2502 ruling 12, F7): the props that carry a placed chart's dark and high-contrast renders. */
|
|
333
|
+
declare const VIZ_THEME_SVG_PROPS: readonly ["svgDark", "svgDarkNarrow", "svgDarkWide", "svgHc", "svgHcNarrow", "svgHcWide"];
|
|
334
|
+
type VizThemeSvgProp = (typeof VIZ_THEME_SVG_PROPS)[number];
|
|
335
|
+
/** Every render prop a placed chart carries: the light (or only) renders, then the dark and hc ones. */
|
|
336
|
+
declare const VIZ_SVG_PROPS: readonly ["svg", "svgNarrow", "svgWide", "svgDark", "svgDarkNarrow", "svgDarkWide", "svgHc", "svgHcNarrow", "svgHcWide"];
|
|
337
|
+
type VizPreviewTheme = 'light' | 'dark' | 'hc';
|
|
338
|
+
type VizRenderAttribute = 'data-viz-svg' | 'data-viz-svg-narrow' | 'data-viz-svg-wide';
|
|
339
|
+
/** One set of a chart's renders: the design size, then the narrow and wide sizes when present. */
|
|
340
|
+
interface VizPreviewLayer {
|
|
341
|
+
/** The theme the renders are drawn in; absent for a chart with no dark or hc renders, whose renders show in every theme. */
|
|
342
|
+
readonly theme?: VizPreviewTheme;
|
|
343
|
+
readonly narrow: boolean;
|
|
344
|
+
readonly wide: boolean;
|
|
345
|
+
/** Each render's wrapper attribute and its checked SVG, in document order. */
|
|
346
|
+
readonly renders: ReadonlyArray<readonly [VizRenderAttribute, string]>;
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* The renders a chart preview lays out, which React, Vue and the HTML renderer all read, so the three render one markup.
|
|
350
|
+
* Without a dark or hc render it is the one unthemed layer the figure has always shown (svg, svgNarrow, svgWide). With
|
|
351
|
+
* them, a layer per theme (light is svg*), each wrapped in [data-viz-theme]; component-styles shows the one matching the
|
|
352
|
+
* nearest [data-theme], and each wrapper repeats the figure's data-viz-narrow and data-viz-wide so the size rules apply
|
|
353
|
+
* inside it. Every SVG passes assertStaticSvg.
|
|
354
|
+
*/
|
|
355
|
+
declare function vizPreviewLayers(props: Readonly<Partial<Record<'svg' | 'svgNarrow' | 'svgWide' | VizThemeSvgProp, unknown>>>): VizPreviewLayer[];
|
|
263
356
|
|
|
264
357
|
declare const componentBehaviors: {
|
|
265
358
|
readonly VizAreaControls: {
|
|
@@ -1660,6 +1753,48 @@ declare const componentBehaviors: {
|
|
|
1660
1753
|
readonly interactionReason: "DetailHeader presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility.";
|
|
1661
1754
|
readonly event: readonly [];
|
|
1662
1755
|
};
|
|
1756
|
+
readonly Dialog: {
|
|
1757
|
+
readonly role: "button";
|
|
1758
|
+
readonly name: {
|
|
1759
|
+
readonly strategy: "aria-label";
|
|
1760
|
+
readonly target: "button[aria-label=\"Close\"]";
|
|
1761
|
+
};
|
|
1762
|
+
readonly keyboard: {
|
|
1763
|
+
readonly Tab: "Move focus to the named native control";
|
|
1764
|
+
readonly Enter: "Activate the control";
|
|
1765
|
+
readonly Escape: "Close the dialog";
|
|
1766
|
+
};
|
|
1767
|
+
readonly interaction: "interactive";
|
|
1768
|
+
readonly event: readonly [{
|
|
1769
|
+
readonly trigger: "keyboard";
|
|
1770
|
+
readonly target: "button[aria-label=\"Close\"]";
|
|
1771
|
+
readonly key: "Tab";
|
|
1772
|
+
readonly effect: {
|
|
1773
|
+
readonly kind: "focus";
|
|
1774
|
+
};
|
|
1775
|
+
}, {
|
|
1776
|
+
readonly trigger: "pointer";
|
|
1777
|
+
readonly target: "button[aria-label=\"Close\"]";
|
|
1778
|
+
readonly effect: {
|
|
1779
|
+
readonly kind: "event";
|
|
1780
|
+
};
|
|
1781
|
+
readonly action: "click";
|
|
1782
|
+
}, {
|
|
1783
|
+
readonly trigger: "keyboard";
|
|
1784
|
+
readonly target: "button[aria-label=\"Close\"]";
|
|
1785
|
+
readonly effect: {
|
|
1786
|
+
readonly kind: "event";
|
|
1787
|
+
};
|
|
1788
|
+
readonly key: "Enter";
|
|
1789
|
+
}, {
|
|
1790
|
+
readonly trigger: "keyboard";
|
|
1791
|
+
readonly target: "button[aria-label=\"Close\"]";
|
|
1792
|
+
readonly effect: {
|
|
1793
|
+
readonly kind: "event";
|
|
1794
|
+
};
|
|
1795
|
+
readonly key: "Escape";
|
|
1796
|
+
}];
|
|
1797
|
+
};
|
|
1663
1798
|
readonly FilterPanel: {
|
|
1664
1799
|
readonly role: "button";
|
|
1665
1800
|
readonly name: {
|
|
@@ -2155,6 +2290,51 @@ declare const componentBehaviors: {
|
|
|
2155
2290
|
readonly interactionReason: "StatusTimeline presents content and owns no focusable control or action; authored child actions remain the consumer's responsibility.";
|
|
2156
2291
|
readonly event: readonly [];
|
|
2157
2292
|
};
|
|
2293
|
+
readonly Switch: {
|
|
2294
|
+
readonly role: "switch";
|
|
2295
|
+
readonly name: {
|
|
2296
|
+
readonly strategy: "label";
|
|
2297
|
+
readonly target: "button[role=\"switch\"]";
|
|
2298
|
+
};
|
|
2299
|
+
readonly keyboard: {
|
|
2300
|
+
readonly Tab: "Move focus to the named native control";
|
|
2301
|
+
readonly " ": "Toggle the switch";
|
|
2302
|
+
readonly Enter: "Toggle the switch";
|
|
2303
|
+
};
|
|
2304
|
+
readonly interaction: "interactive";
|
|
2305
|
+
readonly event: readonly [{
|
|
2306
|
+
readonly trigger: "keyboard";
|
|
2307
|
+
readonly target: "button[role=\"switch\"]";
|
|
2308
|
+
readonly key: "Tab";
|
|
2309
|
+
readonly effect: {
|
|
2310
|
+
readonly kind: "focus";
|
|
2311
|
+
};
|
|
2312
|
+
}, {
|
|
2313
|
+
readonly trigger: "pointer";
|
|
2314
|
+
readonly target: "button[role=\"switch\"]";
|
|
2315
|
+
readonly effect: {
|
|
2316
|
+
readonly kind: "event";
|
|
2317
|
+
readonly value: true;
|
|
2318
|
+
};
|
|
2319
|
+
readonly action: "click";
|
|
2320
|
+
}, {
|
|
2321
|
+
readonly trigger: "keyboard";
|
|
2322
|
+
readonly target: "button[role=\"switch\"]";
|
|
2323
|
+
readonly effect: {
|
|
2324
|
+
readonly kind: "event";
|
|
2325
|
+
readonly value: true;
|
|
2326
|
+
};
|
|
2327
|
+
readonly key: " ";
|
|
2328
|
+
}, {
|
|
2329
|
+
readonly trigger: "keyboard";
|
|
2330
|
+
readonly target: "button[role=\"switch\"]";
|
|
2331
|
+
readonly effect: {
|
|
2332
|
+
readonly kind: "event";
|
|
2333
|
+
readonly value: true;
|
|
2334
|
+
};
|
|
2335
|
+
readonly key: "Enter";
|
|
2336
|
+
}];
|
|
2337
|
+
};
|
|
2158
2338
|
readonly Table: {
|
|
2159
2339
|
readonly role: "button";
|
|
2160
2340
|
readonly name: {
|
|
@@ -3040,4 +3220,4 @@ declare function getBaselineCapability(componentId: string): {
|
|
|
3040
3220
|
};
|
|
3041
3221
|
} | undefined;
|
|
3042
3222
|
|
|
3043
|
-
export { type AuditSummaryValues, BILLING_AMOUNT_ERROR, BILLING_INTERVALS, BILLING_INTERVAL_ERROR, BILLING_MINOR_UNITS, type BillingAmountResult, type BillingCycleValues, type BillingPaymentValues, COMPONENT_CLASSIFICATIONS, COMPONENT_CONTRACT_VERSION, COMPONENT_CONTRACT_VERSION_1_1, type CollectionEvent, type ComponentBehavior, type ComponentClassification, type ComponentContract, DEFAULT_COLOR_STATES, EMISSION_ELIGIBILITY_EVIDENCE_CLASSES, type EmissionEligibilityEvidence, type EmissionEligibilityEvidenceClass, type EvidenceResult, type EvidenceStatus, FOUNDATION_V1_EVIDENCE_CLASSES, type FoundationV1Evidence, type FoundationV1EvidenceClass, GOVERNED_DEFINITION, GOVERNED_SURFACES, type GeoFieldMappingValue, type GovernedComponentId, type GovernedLedgerRow, NO_LAST_PAYMENT, NO_NEXT_PAYMENT, NUCLEUS_COMPONENT_IDS, type NucleusComponentId, type ObligationStatus, PORTED_COMPONENT_IDS, type PortedComponentId, RESULT_STATES, RESULT_STATE_TONE, type ResultState, SEVERITY_TONES, type ScenarioTrigger, type SharedScenario, type SortIndicatorValues, type SortState, type SubstitutionContractReport, type SubstitutionObligation, type TraitEventKind, type TraitEventValues, UI_WORKFLOW_STATES, type UiWorkflowState, VIZ_CONTROL_IDS, VIZ_CONTROL_TITLES, VIZ_PREVIEW_TYPES, VIZ_SUMMARY_IDS, type VizChannel, type VizChartType, type VizColorBinding, type VizControlField, type VizControlId, type VizFieldBinding, type VizIntentFragment, type VizScale, type VizSummaryId, ariaSort, assertStaticSvg, auditSummary, billingAmountMessage, billingAmountText, billingCycle, billingDate, billingIntervalMessage, billingPaymentRows, billingPaymentSummary, billingPeriodEnd, billingSummary, chronologicalEvents, componentBehaviors, componentCapabilityBaseline, componentContracts, componentIntake, componentReconciliationProposal, currencyMinorUnits, dateTimeInputValue, defaultVizIntent, deriveStartingComponentCount, editVizIntent, evaluateEmissionEligibility, evaluateFoundationV1, formatBillingAmount, formatDateTime, formatPriceAmount, formatPriceCode, formatReadOnlyValue, formatRecordLabel, formatReferenceLabel, geoFieldMapping, getBaselineCapability, initialSort, isGovernedComponent, isVizIntentFragment, nextSort, parseBillingAmount, portedComponentContracts, portedScenarios, recipeItemLabels, recordCollectionEvents, restartedBillingPeriod, sharedScenarios, substitutionContractReport, summarizeSubstitutionReport, summaryValue, svgCarriesTitle, traitEventRows, validMinorUnits, validateComponentIntakeDocument, vizControlFields, vizFieldValue, vizSummaryRows };
|
|
3223
|
+
export { type AuditSummaryValues, BILLING_AMOUNT_ERROR, BILLING_INTERVALS, BILLING_INTERVAL_ERROR, BILLING_MINOR_UNITS, type BillingAmountResult, type BillingCycleValues, type BillingPaymentValues, COMPONENT_CLASSIFICATIONS, COMPONENT_CONTRACT_VERSION, COMPONENT_CONTRACT_VERSION_1_1, type CollectionEvent, type ComponentBehavior, type ComponentClassification, type ComponentContract, DEFAULT_COLOR_STATES, EMISSION_ELIGIBILITY_EVIDENCE_CLASSES, type EmissionEligibilityEvidence, type EmissionEligibilityEvidenceClass, type EvidenceResult, type EvidenceStatus, FOUNDATION_V1_EVIDENCE_CLASSES, type FoundationV1Evidence, type FoundationV1EvidenceClass, GOVERNED_DEFINITION, GOVERNED_SURFACES, type GeoFieldMappingValue, type GovernedComponentId, type GovernedLedgerRow, NO_LAST_PAYMENT, NO_NEXT_PAYMENT, NUCLEUS_COMPONENT_IDS, type NucleusComponentId, type ObligationStatus, PORTED_COMPONENT_IDS, type PortedComponentId, RESULT_STATES, RESULT_STATE_TONE, type ResultState, SEVERITY_TONES, STATUS_DOMAINS, STATUS_ICON_SHAPES, STATUS_ICON_SVG_ATTRS, type ScenarioTrigger, type SharedScenario, type SortIndicatorValues, type SortState, type StatusDomain, type StatusIconName, type StatusIconShape, type StatusPresentation, type StatusTokenSet, type StatusTone, type SubstitutionContractReport, type SubstitutionObligation, type TraitEventKind, type TraitEventValues, UI_WORKFLOW_STATES, type UiWorkflowState, VIZ_CONTROL_IDS, VIZ_CONTROL_TITLES, VIZ_PREVIEW_TYPES, VIZ_SUMMARY_IDS, VIZ_SVG_PROPS, VIZ_THEME_SVG_PROPS, type VizChannel, type VizChartType, type VizColorBinding, type VizControlField, type VizControlId, type VizFieldBinding, type VizIntentFragment, type VizPreviewLayer, type VizPreviewTheme, type VizRenderAttribute, type VizScale, type VizSummaryId, type VizThemeSvgProp, ariaSort, assertStaticSvg, auditSummary, billingAmountMessage, billingAmountText, billingCycle, billingDate, billingIntervalMessage, billingPaymentRows, billingPaymentSummary, billingPeriodEnd, billingSummary, chronologicalEvents, componentBehaviors, componentCapabilityBaseline, componentContracts, componentIntake, componentReconciliationProposal, currencyMinorUnits, dateTimeInputValue, defaultVizIntent, deriveStartingComponentCount, editVizIntent, evaluateEmissionEligibility, evaluateFoundationV1, formatBillingAmount, formatDateTime, formatPriceAmount, formatPriceCode, formatReadOnlyValue, formatRecordLabel, formatReferenceLabel, geoFieldMapping, getBannerToneTokenSet, getBaselineCapability, getStatusPresentation, getToneTokenSet, initialSort, isGovernedComponent, isVizIntentFragment, listStatuses, nextSort, parseBillingAmount, portedComponentContracts, portedScenarios, recipeItemLabels, recordCollectionEvents, relativeTimestampEmptyScenario, resolveStatusIcon, restartedBillingPeriod, sharedScenarios, statusIconMarkup, substitutionContractReport, summarizeSubstitutionReport, summaryValue, svgCarriesTitle, traitEventRows, validMinorUnits, validateComponentIntakeDocument, vizControlFields, vizFieldValue, vizPreviewLayers, vizSummaryRows };
|