@peripheries/core 0.1.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 (69) hide show
  1. package/README.md +9 -0
  2. package/index.css +1 -0
  3. package/index.d.ts +1 -0
  4. package/index.js +2213 -0
  5. package/package.json +24 -0
  6. package/types/core/Box/Box.d.ts +7 -0
  7. package/types/core/Center/Center.d.ts +8 -0
  8. package/types/core/Container/Container.d.ts +8 -0
  9. package/types/core/Divider/Divider.d.ts +8 -0
  10. package/types/core/Hide/Hide.d.ts +7 -0
  11. package/types/core/Inline/Inline.d.ts +12 -0
  12. package/types/core/Show/Show.d.ts +7 -0
  13. package/types/core/Spacer/Spacer.d.ts +7 -0
  14. package/types/core/Stack/Stack.d.ts +10 -0
  15. package/types/core/_shared/formatters.d.ts +15 -0
  16. package/types/core/_shared/props.d.ts +8 -0
  17. package/types/core/_shared/warn-once.d.ts +2 -0
  18. package/types/core/display/DataTable/DataTable.d.ts +32 -0
  19. package/types/core/display/DisclaimerBlock/DisclaimerBlock.d.ts +9 -0
  20. package/types/core/display/Eyebrow/Eyebrow.d.ts +18 -0
  21. package/types/core/display/HighlightBox/HighlightBox.d.ts +13 -0
  22. package/types/core/display/KpiCardGrid/KpiCardGrid.d.ts +32 -0
  23. package/types/core/display/OptionCard/OptionCard.d.ts +29 -0
  24. package/types/core/display/ProfileCard/ProfileCard.d.ts +23 -0
  25. package/types/core/display/SectionHeader/SectionHeader.d.ts +11 -0
  26. package/types/core/display/Stat/Stat.d.ts +26 -0
  27. package/types/core/display/StatStrip/StatStrip.d.ts +16 -0
  28. package/types/core/display/_shared/Reveal.d.ts +13 -0
  29. package/types/core/display/_shared/ValueBadge.d.ts +8 -0
  30. package/types/core/display/_shared/tone.d.ts +4 -0
  31. package/types/core/document/AnswerRows/AnswerRows.d.ts +18 -0
  32. package/types/core/document/Aside/Aside.d.ts +13 -0
  33. package/types/core/document/ComparisonBars/ComparisonBars.d.ts +19 -0
  34. package/types/core/document/Contents/Contents.d.ts +19 -0
  35. package/types/core/document/Definition/Definition.d.ts +16 -0
  36. package/types/core/document/DocumentBlocks/DocumentBlocks.d.ts +17 -0
  37. package/types/core/document/DocumentLabel/DocumentLabel.d.ts +12 -0
  38. package/types/core/document/DocumentSection/DocumentSection.d.ts +28 -0
  39. package/types/core/document/DocumentShell/DocumentShell.d.ts +11 -0
  40. package/types/core/document/DocumentTable/DocumentTable.d.ts +17 -0
  41. package/types/core/document/ExecutionBlock/ExecutionBlock.d.ts +21 -0
  42. package/types/core/document/Figure/Figure.d.ts +11 -0
  43. package/types/core/document/Footnote/Footnote.d.ts +5 -0
  44. package/types/core/document/Masthead/Masthead.d.ts +12 -0
  45. package/types/core/document/Math/Math.d.ts +7 -0
  46. package/types/core/document/MetaRail/MetaRail.d.ts +14 -0
  47. package/types/core/document/NextSteps/NextSteps.d.ts +15 -0
  48. package/types/core/document/Notes/Notes.d.ts +12 -0
  49. package/types/core/document/PageBreak/PageBreak.d.ts +5 -0
  50. package/types/core/document/Prose/Prose.d.ts +11 -0
  51. package/types/core/document/Quote/Quote.d.ts +8 -0
  52. package/types/core/document/Reference/Reference.d.ts +18 -0
  53. package/types/core/document/RowList/RowList.d.ts +19 -0
  54. package/types/core/document/RunningFooter/RunningFooter.d.ts +12 -0
  55. package/types/core/document/SkippedSection/SkippedSection.d.ts +11 -0
  56. package/types/core/document/TalkItThrough/TalkItThrough.d.ts +18 -0
  57. package/types/core/document/WriteInField/WriteInField.d.ts +13 -0
  58. package/types/core/document/_shared/block-schemas.d.ts +3 -0
  59. package/types/core/document/_shared/blocks.d.ts +88 -0
  60. package/types/core/document/_shared/footnote-context.d.ts +19 -0
  61. package/types/core/document/_shared/host.d.ts +15 -0
  62. package/types/core/document/_shared/ordinal-format.d.ts +7 -0
  63. package/types/core/document/_shared/profile.d.ts +15 -0
  64. package/types/core/document/_shared/section-anchors.d.ts +1 -0
  65. package/types/core/document/profiles/builtin.d.ts +5 -0
  66. package/types/core/document/profiles/profile.d.ts +68 -0
  67. package/types/core/document/profiles/registry.d.ts +9 -0
  68. package/types/core/document/profiles/tokens.d.ts +3 -0
  69. package/types/index.core.d.ts +54 -0
package/package.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "@peripheries/core",
3
+ "version": "0.1.0",
4
+ "description": "The shared core lineage: layout, the document kit and the display cells, on the semantic tokens",
5
+ "type": "module",
6
+ "license": "UNLICENSED",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/peripheries-components/stack-components.git"
10
+ },
11
+ "sideEffects": [
12
+ "*.css"
13
+ ],
14
+ "exports": {
15
+ ".": {
16
+ "types": "./index.d.ts",
17
+ "default": "./index.js"
18
+ },
19
+ "./index.css": "./index.css"
20
+ },
21
+ "peerDependencies": {
22
+ "react": "^19.2.4"
23
+ }
24
+ }
@@ -0,0 +1,7 @@
1
+ import type { ElementType, ReactNode } from 'react';
2
+ import { type PolymorphicProps } from '../_shared/props';
3
+ export type BoxProps<C extends ElementType = 'div'> = PolymorphicProps<C, {
4
+ children?: ReactNode;
5
+ className?: string;
6
+ }>;
7
+ export declare function Box<C extends ElementType = 'div'>({ as, className, children, ...rest }: BoxProps<C>): import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import type { ElementType, ReactNode } from 'react';
2
+ import { type PolymorphicProps } from '../_shared/props';
3
+ export type CenterProps<C extends ElementType = 'div'> = PolymorphicProps<C, {
4
+ children?: ReactNode;
5
+ minHeight?: number | string;
6
+ className?: string;
7
+ }>;
8
+ export declare function Center<C extends ElementType = 'div'>({ minHeight, className, style, children, ...rest }: CenterProps<C>): import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import type { ElementType, ReactNode } from 'react';
2
+ import { type PolymorphicProps } from '../_shared/props';
3
+ export type ContainerProps<C extends ElementType = 'div'> = PolymorphicProps<C, {
4
+ children?: ReactNode;
5
+ name?: string;
6
+ className?: string;
7
+ }>;
8
+ export declare function Container<C extends ElementType = 'div'>({ name, className, style, children, ...rest }: ContainerProps<C>): import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { type PolymorphicProps } from '../_shared/props';
2
+ export type DividerProps = PolymorphicProps<'hr', {
3
+ orientation?: 'horizontal' | 'vertical';
4
+ weight?: 'subtle' | 'strong';
5
+ spacing?: number | string;
6
+ className?: string;
7
+ }>;
8
+ export declare function Divider({ orientation, weight, spacing, className, style, ref, ...rest }: DividerProps): import("react").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import type { ReactNode } from 'react';
2
+ export type HideProps = {
3
+ when: 'narrow' | 'compact' | 'wide';
4
+ children?: ReactNode;
5
+ as?: 'span' | 'div';
6
+ };
7
+ export declare function Hide({ when, children, as: As }: HideProps): import("react").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import type { ElementType, ReactNode } from 'react';
2
+ import { type PolymorphicProps } from '../_shared/props';
3
+ export type InlineProps<C extends ElementType = 'div'> = PolymorphicProps<C, {
4
+ children?: ReactNode;
5
+ gap?: number | string;
6
+ align?: 'stretch' | 'start' | 'center' | 'end' | 'baseline';
7
+ justify?: 'start' | 'center' | 'end' | 'between' | 'around';
8
+ wrap?: boolean;
9
+ stackWhen?: 'narrow' | 'compact' | 'wide';
10
+ className?: string;
11
+ }>;
12
+ export declare function Inline<C extends ElementType = 'div'>({ gap, align, justify, wrap, stackWhen, className, style, children, ...rest }: InlineProps<C>): import("react").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import type { ReactNode } from 'react';
2
+ export type ShowProps = {
3
+ when: 'narrow' | 'compact' | 'wide';
4
+ children?: ReactNode;
5
+ as?: 'span' | 'div';
6
+ };
7
+ export declare function Show({ when, children, as: As }: ShowProps): import("react").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import type { CSSProperties } from 'react';
2
+ export type SpacerProps = {
3
+ size?: number | string;
4
+ className?: string;
5
+ style?: CSSProperties;
6
+ };
7
+ export declare function Spacer({ size, className, style }: SpacerProps): import("react").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import type { ElementType, ReactNode } from 'react';
2
+ import { type PolymorphicProps } from '../_shared/props';
3
+ export type StackProps<C extends ElementType = 'div'> = PolymorphicProps<C, {
4
+ children?: ReactNode;
5
+ gap?: number | string;
6
+ align?: 'stretch' | 'start' | 'center' | 'end';
7
+ justify?: 'start' | 'center' | 'end' | 'between' | 'around';
8
+ className?: string;
9
+ }>;
10
+ export declare function Stack<C extends ElementType = 'div'>({ gap, align, justify, className, style, children, ...rest }: StackProps<C>): import("react").JSX.Element;
@@ -0,0 +1,15 @@
1
+ export type FormatterToken = 'currency' | 'currency-k' | 'currency-m' | 'currency-compact' | 'currency-monthly' | 'percent' | 'age' | 'years' | 'number';
2
+ export interface FormatOpts {
3
+ precision?: number;
4
+ signed?: boolean;
5
+ }
6
+ export interface ValueSpec {
7
+ value: number;
8
+ format: FormatterToken;
9
+ precision?: number;
10
+ signed?: boolean;
11
+ unit?: string;
12
+ }
13
+ export type FormattableValue = string | ValueSpec;
14
+ export declare function renderFormatted(v: FormattableValue | undefined): string;
15
+ export declare function formatValue(token: FormatterToken | undefined, value: number, opts?: FormatOpts): string;
@@ -0,0 +1,8 @@
1
+ import type { ComponentPropsWithRef, CSSProperties, ElementType } from 'react';
2
+ export type PolymorphicProps<C extends ElementType, Own> = Own & {
3
+ as?: C;
4
+ } & Omit<ComponentPropsWithRef<C>, keyof Own | 'as'>;
5
+ export declare function domProps<T extends Record<string, unknown>>(props: T): T;
6
+ export declare const cx: (...names: Array<string | false | null | undefined>) => string | undefined;
7
+ export declare const length: (v: number | string | undefined) => string | undefined;
8
+ export declare function vars(values: Record<string, string | undefined>, style?: CSSProperties): CSSProperties | undefined;
@@ -0,0 +1,2 @@
1
+ export declare function warnOnce(key: string, message: string): void;
2
+ export declare function resetWarnOnce(): void;
@@ -0,0 +1,32 @@
1
+ import { type CSSProperties, type ReactElement, type ReactNode } from 'react';
2
+ import { type FormattableValue } from '../../_shared/formatters';
3
+ import { type Tone } from '../_shared/tone';
4
+ export type DataTableAlign = 'left' | 'right' | 'center';
5
+ export interface DataTableColumn {
6
+ key: string;
7
+ header?: ReactNode;
8
+ sublabel?: ReactNode;
9
+ align?: DataTableAlign;
10
+ minWidth?: number;
11
+ label?: ReactNode;
12
+ }
13
+ export interface DataTableCell {
14
+ value: FormattableValue | ReactNode;
15
+ tone?: Tone | string;
16
+ }
17
+ export type DataTableCellInput = DataTableCell | FormattableValue | ReactNode;
18
+ export interface DataTableRow {
19
+ cells: ReadonlyArray<DataTableCellInput> | Readonly<Record<string, DataTableCellInput>>;
20
+ highlighted?: boolean;
21
+ total?: boolean;
22
+ tone?: 'default' | 'total' | 'highlight' | string;
23
+ }
24
+ export interface DataTableProps {
25
+ title?: string;
26
+ subtitle?: string;
27
+ columns: ReadonlyArray<DataTableColumn>;
28
+ rows: ReadonlyArray<DataTableRow>;
29
+ className?: string;
30
+ style?: CSSProperties;
31
+ }
32
+ export declare function DataTable({ title, subtitle, columns, rows, className, style }: DataTableProps): ReactElement;
@@ -0,0 +1,9 @@
1
+ import type { CSSProperties, ReactElement, ReactNode } from 'react';
2
+ export interface DisclaimerBlockProps {
3
+ label?: string;
4
+ leadIn?: string;
5
+ children?: ReactNode;
6
+ className?: string;
7
+ style?: CSSProperties;
8
+ }
9
+ export declare function DisclaimerBlock({ label, leadIn, children, className, style }: DisclaimerBlockProps): ReactElement;
@@ -0,0 +1,18 @@
1
+ import type { CSSProperties, ReactElement, ReactNode } from 'react';
2
+ import { type Tone } from '../_shared/tone';
3
+ export type EyebrowAs = 'span' | 'div' | 'p' | 'dt' | 'figcaption';
4
+ export type InkTone = Tone | 'subtle' | 'on-dark' | 'inherit';
5
+ export declare function inkToneOf(value: unknown, fallback: InkTone): InkTone;
6
+ export declare function inkAttrs(tone: InkTone): {
7
+ 'data-tone': InkTone;
8
+ toned: boolean;
9
+ };
10
+ export interface EyebrowProps {
11
+ children?: ReactNode;
12
+ as?: EyebrowAs;
13
+ tone?: InkTone | string;
14
+ tabular?: boolean;
15
+ className?: string;
16
+ style?: CSSProperties;
17
+ }
18
+ export declare function Eyebrow({ children, as: Tag, tone, tabular, className, style }: EyebrowProps): ReactElement;
@@ -0,0 +1,13 @@
1
+ import type { CSSProperties, ReactElement, ReactNode } from 'react';
2
+ import { type Tone } from '../_shared/tone';
3
+ export interface HighlightBoxProps {
4
+ tone?: Tone | string;
5
+ variant?: string;
6
+ label?: string;
7
+ headline?: ReactNode;
8
+ children?: ReactNode;
9
+ trailing?: ReactNode;
10
+ className?: string;
11
+ style?: CSSProperties;
12
+ }
13
+ export declare function HighlightBox({ tone, variant, label, headline, children, trailing, className, style }: HighlightBoxProps): ReactElement;
@@ -0,0 +1,32 @@
1
+ import type { CSSProperties, ReactElement } from 'react';
2
+ import { type FormattableValue } from '../../_shared/formatters';
3
+ import { type Tone } from '../_shared/tone';
4
+ export interface KpiCardBadge {
5
+ text: FormattableValue;
6
+ tone?: Tone | string;
7
+ }
8
+ export interface KpiCard {
9
+ label: string;
10
+ value: FormattableValue;
11
+ subtitle?: FormattableValue;
12
+ tone?: Tone | string;
13
+ delta?: FormattableValue;
14
+ badge?: KpiCardBadge;
15
+ caption?: FormattableValue;
16
+ borderColor?: string;
17
+ tag?: {
18
+ label: FormattableValue;
19
+ tone?: string;
20
+ };
21
+ }
22
+ export interface KpiCardGridProps {
23
+ cards?: ReadonlyArray<KpiCard>;
24
+ columns?: number;
25
+ gap?: 'tight' | 'normal';
26
+ minColumnWidth?: number;
27
+ className?: string;
28
+ style?: CSSProperties;
29
+ items?: ReadonlyArray<KpiCard>;
30
+ }
31
+ export declare function KpiCardGrid(props: KpiCardGridProps): ReactElement;
32
+ export declare const KpiGrid: typeof KpiCardGrid;
@@ -0,0 +1,29 @@
1
+ import type { CSSProperties, ReactElement } from 'react';
2
+ import { type FormattableValue } from '../../_shared/formatters';
3
+ import { type Tone } from '../_shared/tone';
4
+ export interface OptionCardBar {
5
+ label: string;
6
+ value: FormattableValue;
7
+ fillPercent: number;
8
+ tone?: Tone | string;
9
+ valueTone?: Tone | string;
10
+ color?: string;
11
+ accent?: string;
12
+ }
13
+ export interface OptionCardProps {
14
+ number?: number | string;
15
+ title?: string;
16
+ description?: string;
17
+ badgeText?: FormattableValue;
18
+ badgeTone?: Tone | string;
19
+ bars?: ReadonlyArray<OptionCardBar>;
20
+ tone?: Tone | string;
21
+ isSelected?: boolean;
22
+ className?: string;
23
+ style?: CSSProperties;
24
+ name?: string;
25
+ badge?: FormattableValue;
26
+ badgeVariant?: string;
27
+ accent?: string;
28
+ }
29
+ export declare function OptionCard(props: OptionCardProps): ReactElement;
@@ -0,0 +1,23 @@
1
+ import type { CSSProperties, ReactElement } from 'react';
2
+ import { type FormattableValue } from '../../_shared/formatters';
3
+ import { type Tone } from '../_shared/tone';
4
+ export interface ProfileRowBadge {
5
+ text: FormattableValue;
6
+ tone?: Tone | string;
7
+ variant?: string;
8
+ }
9
+ export interface ProfileRow {
10
+ label: string;
11
+ value: FormattableValue;
12
+ badge?: ProfileRowBadge;
13
+ }
14
+ export interface ProfileCardProps {
15
+ title: string;
16
+ subtitle?: string;
17
+ tone?: Tone | 'none' | string;
18
+ rows?: ReadonlyArray<ProfileRow>;
19
+ className?: string;
20
+ style?: CSSProperties;
21
+ headerAccent?: string;
22
+ }
23
+ export declare function ProfileCard(props: ProfileCardProps): ReactElement;
@@ -0,0 +1,11 @@
1
+ import type { CSSProperties, ReactElement, ReactNode } from 'react';
2
+ export interface SectionHeaderProps {
3
+ eyebrow?: string;
4
+ title: string;
5
+ description?: string;
6
+ trailing?: ReactNode;
7
+ revealDelay?: number;
8
+ className?: string;
9
+ style?: CSSProperties;
10
+ }
11
+ export declare function SectionHeader({ eyebrow, title, description, trailing, revealDelay, className, style }: SectionHeaderProps): ReactElement;
@@ -0,0 +1,26 @@
1
+ import type { CSSProperties, ReactElement, ReactNode } from 'react';
2
+ import { type ValueSpec } from '../../_shared/formatters';
3
+ import { type InkTone } from '../Eyebrow/Eyebrow';
4
+ export type StatSize = 'md' | 'lg' | 'xl';
5
+ export declare function clampPercent(value: unknown): number;
6
+ export interface StatProps {
7
+ value: ReactNode | ValueSpec;
8
+ label?: ReactNode;
9
+ size?: StatSize;
10
+ tone?: InkTone | string;
11
+ progress?: number;
12
+ progressLabel?: string;
13
+ autoStepDown?: boolean;
14
+ className?: string;
15
+ style?: CSSProperties;
16
+ }
17
+ export declare function Stat({ value, label, size, tone, progress, progressLabel, autoStepDown, className, style, }: StatProps): ReactElement;
18
+ export interface StatGroupProps {
19
+ children?: ReactNode;
20
+ minColumnWidth?: number;
21
+ maxColumns?: number;
22
+ gap?: number;
23
+ className?: string;
24
+ style?: CSSProperties;
25
+ }
26
+ export declare function StatGroup({ children, minColumnWidth, maxColumns, gap, className, style }: StatGroupProps): ReactElement;
@@ -0,0 +1,16 @@
1
+ import type { CSSProperties, ReactElement } from 'react';
2
+ import { type FormattableValue } from '../../_shared/formatters';
3
+ import { type Tone } from '../_shared/tone';
4
+ export interface StatStripProps {
5
+ label: string;
6
+ value: FormattableValue;
7
+ fillPercent?: number;
8
+ subtitle?: FormattableValue;
9
+ tone?: Tone | string;
10
+ accentColor?: string;
11
+ accent?: string;
12
+ caption?: FormattableValue;
13
+ className?: string;
14
+ style?: CSSProperties;
15
+ }
16
+ export declare function StatStrip({ label, value, fillPercent, subtitle, tone, accentColor, accent, caption, className, style }: StatStripProps): ReactElement;
@@ -0,0 +1,13 @@
1
+ import { type CSSProperties, type ReactNode } from 'react';
2
+ export type RevealDirection = 'up' | 'left' | 'right' | 'none';
3
+ export interface RevealProps {
4
+ direction?: RevealDirection;
5
+ delay?: number;
6
+ duration?: number;
7
+ threshold?: number;
8
+ once?: boolean;
9
+ className?: string;
10
+ style?: CSSProperties;
11
+ children: ReactNode;
12
+ }
13
+ export declare function Reveal({ direction, delay, duration, threshold, once, className, style, children }: RevealProps): import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { type FormattableValue } from '../../_shared/formatters';
2
+ import { type Tone } from './tone';
3
+ export interface ValueBadgeProps {
4
+ text: FormattableValue;
5
+ tone?: Tone | string;
6
+ className?: string;
7
+ }
8
+ export declare function ValueBadge({ text, tone, className }: ValueBadgeProps): import("react").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export type Tone = 'neutral' | 'strong' | 'accent' | 'info' | 'success' | 'warning' | 'danger';
2
+ export declare const TONES: ReadonlyArray<Tone>;
3
+ export declare function toneOf(value: unknown, fallback?: Tone): Tone;
4
+ export declare const isToneAlias: (value: unknown) => boolean;
@@ -0,0 +1,18 @@
1
+ import type { CSSProperties, ReactElement } from 'react';
2
+ import { type DocumentProfile, type ProfileId } from '../_shared/profile';
3
+ export declare const ANSWER_COLUMN_PX = 190;
4
+ export interface AnswerRowItem {
5
+ reference?: string;
6
+ question: string;
7
+ answer?: string;
8
+ }
9
+ export interface AnswerRowsProps {
10
+ items: ReadonlyArray<AnswerRowItem>;
11
+ profileId?: ProfileId;
12
+ profile?: DocumentProfile;
13
+ missingLabel?: string;
14
+ answerWidth?: number;
15
+ className?: string;
16
+ style?: CSSProperties;
17
+ }
18
+ export declare function AnswerRows({ items, profileId, profile, missingLabel, answerWidth, className, style, }: AnswerRowsProps): ReactElement | null;
@@ -0,0 +1,13 @@
1
+ import type { CSSProperties, ReactElement, ReactNode } from 'react';
2
+ import { type DocumentProfile, type ProfileId } from '../_shared/profile';
3
+ export type AsideTone = 'note' | 'tip' | 'warning' | 'important';
4
+ export interface AsideProps {
5
+ children?: ReactNode;
6
+ tone?: AsideTone;
7
+ title?: ReactNode;
8
+ profileId?: ProfileId;
9
+ profile?: DocumentProfile;
10
+ className?: string;
11
+ style?: CSSProperties;
12
+ }
13
+ export declare function Aside({ children, tone, title, profileId, profile, className, style }: AsideProps): ReactElement;
@@ -0,0 +1,19 @@
1
+ import type { CSSProperties, ReactElement } from 'react';
2
+ import { type FormattableValue } from '../../_shared/formatters';
3
+ import { type DocumentProfile, type ProfileId } from '../_shared/profile';
4
+ export interface ComparisonBar {
5
+ label: string;
6
+ value: number;
7
+ display: FormattableValue;
8
+ }
9
+ export interface ComparisonBarsProps {
10
+ bars: ReadonlyArray<ComparisonBar>;
11
+ target?: number;
12
+ targetLabel?: string;
13
+ max?: number;
14
+ profileId?: ProfileId;
15
+ profile?: DocumentProfile;
16
+ className?: string;
17
+ style?: CSSProperties;
18
+ }
19
+ export declare function ComparisonBars({ bars, target, targetLabel, max, profileId, profile, className, style }: ComparisonBarsProps): ReactElement | null;
@@ -0,0 +1,19 @@
1
+ import type { CSSProperties, ReactElement } from 'react';
2
+ import { type DocumentProfile, type ProfileId } from '../_shared/profile';
3
+ export interface ContentsEntry {
4
+ id: string;
5
+ title: string;
6
+ level: number;
7
+ ordinal?: ReadonlyArray<number>;
8
+ page?: number;
9
+ }
10
+ export interface ContentsProps {
11
+ entries: ReadonlyArray<ContentsEntry>;
12
+ depth?: number;
13
+ title?: string;
14
+ profileId?: ProfileId;
15
+ profile?: DocumentProfile;
16
+ className?: string;
17
+ style?: CSSProperties;
18
+ }
19
+ export declare function Contents({ entries, depth, title, profileId, profile, className, style }: ContentsProps): ReactElement | null;
@@ -0,0 +1,16 @@
1
+ import type { CSSProperties, ReactElement, ReactNode } from 'react';
2
+ import { type DocumentProfile, type ProfileId } from '../_shared/profile';
3
+ export interface DefinitionPair {
4
+ term: ReactNode;
5
+ description: ReactNode;
6
+ }
7
+ export interface DefinitionProps {
8
+ term?: ReactNode;
9
+ description?: ReactNode;
10
+ pairs?: DefinitionPair[];
11
+ profileId?: ProfileId;
12
+ profile?: DocumentProfile;
13
+ className?: string;
14
+ style?: CSSProperties;
15
+ }
16
+ export declare function Definition({ term, description, pairs, profileId, profile, className, style }: DefinitionProps): ReactElement;
@@ -0,0 +1,17 @@
1
+ import type { CSSProperties, ReactElement } from 'react';
2
+ import type { Block } from '../_shared/blocks';
3
+ import type { SectionReference } from '../_shared/host';
4
+ import { type ProfileId } from '../_shared/profile';
5
+ export interface DocumentBlocksProps {
6
+ blocks: ReadonlyArray<Block>;
7
+ profileId?: ProfileId;
8
+ sectionNumbers?: Readonly<Record<string, ReadonlyArray<number>>>;
9
+ sectionAnchors?: Readonly<Record<string, string>>;
10
+ sectionTitles?: Readonly<Record<string, string>>;
11
+ sectionReferences?: Readonly<Record<string, SectionReference>>;
12
+ sectionOrdinal?: ReadonlyArray<number>;
13
+ className?: string;
14
+ style?: CSSProperties;
15
+ }
16
+ export declare function DocumentBlocks({ blocks, profileId, sectionNumbers, sectionAnchors, sectionTitles, sectionReferences, sectionOrdinal, className, style, }: DocumentBlocksProps): ReactElement | null;
17
+ export default DocumentBlocks;
@@ -0,0 +1,12 @@
1
+ import type { CSSProperties, ElementType, ReactElement, ReactNode } from 'react';
2
+ import { type DocumentProfile, type ProfileId } from '../_shared/profile';
3
+ export interface DocumentLabelProps {
4
+ children: ReactNode;
5
+ as?: ElementType;
6
+ profileId?: ProfileId;
7
+ profile?: DocumentProfile;
8
+ tone?: 'subtle' | 'accent';
9
+ className?: string;
10
+ style?: CSSProperties;
11
+ }
12
+ export declare function DocumentLabel({ children, as: As, profileId, profile, tone, className, style }: DocumentLabelProps): ReactElement;
@@ -0,0 +1,28 @@
1
+ import type { CSSProperties, ReactElement, ReactNode } from 'react';
2
+ import type { Block } from '../_shared/blocks';
3
+ import type { SectionReference } from '../_shared/host';
4
+ import { type DocumentProfile, type ProfileId } from '../_shared/profile';
5
+ export interface DocumentSectionProps {
6
+ sectionId: string;
7
+ title: string;
8
+ level?: number;
9
+ ordinal?: ReadonlyArray<number>;
10
+ sectionNumbers?: Readonly<Record<string, ReadonlyArray<number>>>;
11
+ sectionAnchors?: Readonly<Record<string, string>>;
12
+ sectionTitles?: Readonly<Record<string, string>>;
13
+ sectionReferences?: Readonly<Record<string, SectionReference>>;
14
+ sectionLevels?: Readonly<Record<string, number>>;
15
+ continued?: boolean;
16
+ continuedCount?: {
17
+ from: number;
18
+ to: number;
19
+ of: number;
20
+ };
21
+ children?: ReactNode;
22
+ blocks?: ReadonlyArray<Block>;
23
+ profileId?: ProfileId;
24
+ profile?: DocumentProfile;
25
+ className?: string;
26
+ style?: CSSProperties;
27
+ }
28
+ export declare function DocumentSection({ sectionId, title, level: levelProp, ordinal: ordinalProp, sectionNumbers, sectionAnchors, sectionTitles, sectionReferences, sectionLevels, continued, continuedCount, children, blocks, profileId, profile, className, style, }: DocumentSectionProps): ReactElement;
@@ -0,0 +1,11 @@
1
+ import type { CSSProperties, ReactElement, ReactNode } from 'react';
2
+ import { type DocumentProfile, type ProfileId } from '../_shared/profile';
3
+ export interface DocumentShellProps {
4
+ children?: ReactNode;
5
+ rail?: ReactNode;
6
+ profileId?: ProfileId;
7
+ profile?: DocumentProfile;
8
+ className?: string;
9
+ style?: CSSProperties;
10
+ }
11
+ export declare function DocumentShell({ children, rail, profileId, profile, className, style }: DocumentShellProps): ReactElement;
@@ -0,0 +1,17 @@
1
+ import type { CSSProperties, ReactElement, ReactNode } from 'react';
2
+ import { type DocumentProfile, type ProfileId } from '../_shared/profile';
3
+ export interface DocumentTableColumn {
4
+ header: ReactNode;
5
+ align?: 'left' | 'right' | 'center';
6
+ }
7
+ export interface DocumentTableProps {
8
+ columns: ReadonlyArray<DocumentTableColumn>;
9
+ rows: ReadonlyArray<ReadonlyArray<ReactNode>>;
10
+ caption?: ReactNode;
11
+ profileId?: ProfileId;
12
+ profile?: DocumentProfile;
13
+ className?: string;
14
+ style?: CSSProperties;
15
+ }
16
+ export declare function DocumentTable({ columns, rows, caption, profileId, profile, className, style }: DocumentTableProps): ReactElement | null;
17
+ export default DocumentTable;
@@ -0,0 +1,21 @@
1
+ import type { CSSProperties, ReactElement, ReactNode } from 'react';
2
+ import { type DocumentProfile, type ProfileId } from '../_shared/profile';
3
+ export interface ExecutionSignatory {
4
+ name?: string;
5
+ role?: string;
6
+ detail?: string;
7
+ dated?: boolean;
8
+ }
9
+ export interface ExecutionBlockProps {
10
+ attestation?: ReactNode;
11
+ label?: string;
12
+ signatories: ReadonlyArray<ExecutionSignatory>;
13
+ columns?: 1 | 2;
14
+ profileId?: ProfileId;
15
+ profile?: DocumentProfile;
16
+ note?: ReactNode;
17
+ className?: string;
18
+ style?: CSSProperties;
19
+ }
20
+ export declare function ExecutionBlock({ attestation, label, signatories, columns, note, profileId, profile, className, style }: ExecutionBlockProps): ReactElement;
21
+ export default ExecutionBlock;
@@ -0,0 +1,11 @@
1
+ import type { CSSProperties, ReactElement, ReactNode } from 'react';
2
+ import { type DocumentProfile, type ProfileId } from '../_shared/profile';
3
+ export interface FigureProps {
4
+ children?: ReactNode;
5
+ caption?: ReactNode;
6
+ profileId?: ProfileId;
7
+ profile?: DocumentProfile;
8
+ className?: string;
9
+ style?: CSSProperties;
10
+ }
11
+ export declare function Figure({ children, caption, profileId, profile, className, style }: FigureProps): ReactElement;
@@ -0,0 +1,5 @@
1
+ import { type ReactNode } from 'react';
2
+ export interface FootnoteProps {
3
+ children: ReactNode;
4
+ }
5
+ export declare function Footnote({ children }: FootnoteProps): import("react").JSX.Element | null;
@@ -0,0 +1,12 @@
1
+ import type { CSSProperties, ReactElement, ReactNode } from 'react';
2
+ import { type DocumentProfile, type ProfileId } from '../_shared/profile';
3
+ export interface MastheadProps {
4
+ mark?: ReactNode;
5
+ identity?: ReactNode;
6
+ codes?: ReactNode;
7
+ profileId?: ProfileId;
8
+ profile?: DocumentProfile;
9
+ className?: string;
10
+ style?: CSSProperties;
11
+ }
12
+ export declare function Masthead({ mark, identity, codes, profileId, profile, className, style }: MastheadProps): ReactElement | null;