@joewinke/jatui 0.37.0 → 0.38.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/dist/artifact-blocks/AttachmentChip.svelte +66 -0
- package/dist/artifact-blocks/AttachmentChip.svelte.d.ts +7 -0
- package/dist/artifact-blocks/BlockComments.svelte +309 -0
- package/dist/artifact-blocks/BlockComments.svelte.d.ts +33 -0
- package/dist/artifact-blocks/BlockRenderer.svelte +674 -0
- package/dist/artifact-blocks/BlockRenderer.svelte.d.ts +55 -0
- package/dist/artifact-blocks/BlockVerdict.svelte +151 -0
- package/dist/artifact-blocks/BlockVerdict.svelte.d.ts +13 -0
- package/dist/artifact-blocks/BlocksArtifactView.svelte +1616 -0
- package/dist/artifact-blocks/BlocksArtifactView.svelte.d.ts +113 -0
- package/dist/artifact-blocks/CONTRACT.md +225 -0
- package/dist/artifact-blocks/CommentPill.svelte +49 -0
- package/dist/artifact-blocks/CommentPill.svelte.d.ts +16 -0
- package/dist/artifact-blocks/FoldedRounds.svelte +95 -0
- package/dist/artifact-blocks/FoldedRounds.svelte.d.ts +9 -0
- package/dist/artifact-blocks/Glyph.svelte +54 -0
- package/dist/artifact-blocks/Glyph.svelte.d.ts +10 -0
- package/dist/artifact-blocks/HistoryScrubber.svelte +500 -0
- package/dist/artifact-blocks/HistoryScrubber.svelte.d.ts +15 -0
- package/dist/artifact-blocks/Markdown.svelte +186 -0
- package/dist/artifact-blocks/Markdown.svelte.d.ts +30 -0
- package/dist/artifact-blocks/NoteComposer.svelte +31 -0
- package/dist/artifact-blocks/NoteComposer.svelte.d.ts +8 -0
- package/dist/artifact-blocks/PlainComposer.svelte +200 -0
- package/dist/artifact-blocks/PlainComposer.svelte.d.ts +15 -0
- package/dist/artifact-blocks/SectionTools.svelte +102 -0
- package/dist/artifact-blocks/SectionTools.svelte.d.ts +19 -0
- package/dist/artifact-blocks/adapter.d.ts +13 -0
- package/dist/artifact-blocks/adapter.js +31 -0
- package/dist/artifact-blocks/autoSend.d.ts +49 -0
- package/dist/artifact-blocks/autoSend.js +103 -0
- package/dist/artifact-blocks/blocks/actions/ActionsBlock.svelte +557 -0
- package/dist/artifact-blocks/blocks/actions/ActionsBlock.svelte.d.ts +48 -0
- package/dist/artifact-blocks/blocks/actions/block.d.ts +8 -0
- package/dist/artifact-blocks/blocks/actions/block.js +74 -0
- package/dist/artifact-blocks/blocks/actions/requests.d.ts +62 -0
- package/dist/artifact-blocks/blocks/actions/requests.js +26 -0
- package/dist/artifact-blocks/blocks/actions/schema.d.ts +168 -0
- package/dist/artifact-blocks/blocks/actions/schema.js +253 -0
- package/dist/artifact-blocks/blocks/callout/CalloutBlock.svelte +779 -0
- package/dist/artifact-blocks/blocks/callout/CalloutBlock.svelte.d.ts +40 -0
- package/dist/artifact-blocks/blocks/callout/block.d.ts +7 -0
- package/dist/artifact-blocks/blocks/callout/block.js +39 -0
- package/dist/artifact-blocks/blocks/callout/schema.d.ts +72 -0
- package/dist/artifact-blocks/blocks/callout/schema.js +115 -0
- package/dist/artifact-blocks/blocks/chart/ChartBlock.svelte +875 -0
- package/dist/artifact-blocks/blocks/chart/ChartBlock.svelte.d.ts +59 -0
- package/dist/artifact-blocks/blocks/chart/block.d.ts +9 -0
- package/dist/artifact-blocks/blocks/chart/block.js +70 -0
- package/dist/artifact-blocks/blocks/chart/schema.d.ts +171 -0
- package/dist/artifact-blocks/blocks/chart/schema.js +498 -0
- package/dist/artifact-blocks/blocks/chart/thumb.d.ts +2 -0
- package/dist/artifact-blocks/blocks/chart/thumb.js +201 -0
- package/dist/artifact-blocks/blocks/checklist/ChecklistBlock.svelte +1048 -0
- package/dist/artifact-blocks/blocks/checklist/ChecklistBlock.svelte.d.ts +16 -0
- package/dist/artifact-blocks/blocks/checklist/Icon.svelte +105 -0
- package/dist/artifact-blocks/blocks/checklist/Icon.svelte.d.ts +17 -0
- package/dist/artifact-blocks/blocks/checklist/block.d.ts +10 -0
- package/dist/artifact-blocks/blocks/checklist/block.js +63 -0
- package/dist/artifact-blocks/blocks/checklist/itemReview.d.ts +16 -0
- package/dist/artifact-blocks/blocks/checklist/itemReview.js +63 -0
- package/dist/artifact-blocks/blocks/checklist/labels.d.ts +62 -0
- package/dist/artifact-blocks/blocks/checklist/labels.js +96 -0
- package/dist/artifact-blocks/blocks/checklist/retest.d.ts +43 -0
- package/dist/artifact-blocks/blocks/checklist/retest.js +68 -0
- package/dist/artifact-blocks/blocks/checklist/schema.d.ts +84 -0
- package/dist/artifact-blocks/blocks/checklist/schema.js +91 -0
- package/dist/artifact-blocks/blocks/code/CodeBlock.svelte +128 -0
- package/dist/artifact-blocks/blocks/code/CodeBlock.svelte.d.ts +12 -0
- package/dist/artifact-blocks/blocks/code/block.d.ts +8 -0
- package/dist/artifact-blocks/blocks/code/block.js +31 -0
- package/dist/artifact-blocks/blocks/code/highlight.d.ts +34 -0
- package/dist/artifact-blocks/blocks/code/highlight.js +280 -0
- package/dist/artifact-blocks/blocks/code/schema.d.ts +32 -0
- package/dist/artifact-blocks/blocks/code/schema.js +39 -0
- package/dist/artifact-blocks/blocks/collage/CollageBlock.svelte +290 -0
- package/dist/artifact-blocks/blocks/collage/CollageBlock.svelte.d.ts +29 -0
- package/dist/artifact-blocks/blocks/collage/block.d.ts +9 -0
- package/dist/artifact-blocks/blocks/collage/block.js +29 -0
- package/dist/artifact-blocks/blocks/collage/schema.d.ts +52 -0
- package/dist/artifact-blocks/blocks/collage/schema.js +86 -0
- package/dist/artifact-blocks/blocks/compare/CompareBlock.svelte +484 -0
- package/dist/artifact-blocks/blocks/compare/CompareBlock.svelte.d.ts +25 -0
- package/dist/artifact-blocks/blocks/compare/block.d.ts +9 -0
- package/dist/artifact-blocks/blocks/compare/block.js +32 -0
- package/dist/artifact-blocks/blocks/compare/schema.d.ts +74 -0
- package/dist/artifact-blocks/blocks/compare/schema.js +148 -0
- package/dist/artifact-blocks/blocks/diagram/DiagramBlock.svelte +392 -0
- package/dist/artifact-blocks/blocks/diagram/DiagramBlock.svelte.d.ts +30 -0
- package/dist/artifact-blocks/blocks/diagram/block.d.ts +9 -0
- package/dist/artifact-blocks/blocks/diagram/block.js +50 -0
- package/dist/artifact-blocks/blocks/diagram/constants.d.ts +48 -0
- package/dist/artifact-blocks/blocks/diagram/constants.js +53 -0
- package/dist/artifact-blocks/blocks/diagram/schema.d.ts +161 -0
- package/dist/artifact-blocks/blocks/diagram/schema.js +621 -0
- package/dist/artifact-blocks/blocks/diagram/thumb.d.ts +2 -0
- package/dist/artifact-blocks/blocks/diagram/thumb.js +157 -0
- package/dist/artifact-blocks/blocks/diagram/types.d.ts +74 -0
- package/dist/artifact-blocks/blocks/diagram/types.js +1 -0
- package/dist/artifact-blocks/blocks/diff/DiffBlock.svelte +81 -0
- package/dist/artifact-blocks/blocks/diff/DiffBlock.svelte.d.ts +10 -0
- package/dist/artifact-blocks/blocks/diff/block.d.ts +7 -0
- package/dist/artifact-blocks/blocks/diff/block.js +36 -0
- package/dist/artifact-blocks/blocks/diff/schema.d.ts +18 -0
- package/dist/artifact-blocks/blocks/diff/schema.js +35 -0
- package/dist/artifact-blocks/blocks/diff-review/DiffReviewBlock.svelte +1055 -0
- package/dist/artifact-blocks/blocks/diff-review/DiffReviewBlock.svelte.d.ts +5 -0
- package/dist/artifact-blocks/blocks/diff-review/block.d.ts +15 -0
- package/dist/artifact-blocks/blocks/diff-review/block.js +64 -0
- package/dist/artifact-blocks/blocks/diff-review/decisions.d.ts +57 -0
- package/dist/artifact-blocks/blocks/diff-review/decisions.js +80 -0
- package/dist/artifact-blocks/blocks/diff-review/schema.d.ts +13 -0
- package/dist/artifact-blocks/blocks/diff-review/schema.js +84 -0
- package/dist/artifact-blocks/blocks/diff-review/types.d.ts +35 -0
- package/dist/artifact-blocks/blocks/diff-review/types.js +1 -0
- package/dist/artifact-blocks/blocks/explainer/ExplainerBlock.svelte +145 -0
- package/dist/artifact-blocks/blocks/explainer/ExplainerBlock.svelte.d.ts +5 -0
- package/dist/artifact-blocks/blocks/explainer/block.d.ts +8 -0
- package/dist/artifact-blocks/blocks/explainer/block.js +21 -0
- package/dist/artifact-blocks/blocks/explainer/schema.d.ts +26 -0
- package/dist/artifact-blocks/blocks/explainer/schema.js +69 -0
- package/dist/artifact-blocks/blocks/group-content.d.ts +10 -0
- package/dist/artifact-blocks/blocks/group-content.js +16 -0
- package/dist/artifact-blocks/blocks/group-data.d.ts +10 -0
- package/dist/artifact-blocks/blocks/group-data.js +7 -0
- package/dist/artifact-blocks/blocks/group-review.d.ts +10 -0
- package/dist/artifact-blocks/blocks/group-review.js +12 -0
- package/dist/artifact-blocks/blocks/group-visual.d.ts +17 -0
- package/dist/artifact-blocks/blocks/group-visual.js +14 -0
- package/dist/artifact-blocks/blocks/map/MapBlock.svelte +413 -0
- package/dist/artifact-blocks/blocks/map/MapBlock.svelte.d.ts +53 -0
- package/dist/artifact-blocks/blocks/map/block.d.ts +9 -0
- package/dist/artifact-blocks/blocks/map/block.js +62 -0
- package/dist/artifact-blocks/blocks/map/schema.d.ts +123 -0
- package/dist/artifact-blocks/blocks/map/schema.js +113 -0
- package/dist/artifact-blocks/blocks/map/thumb.d.ts +2 -0
- package/dist/artifact-blocks/blocks/map/thumb.js +69 -0
- package/dist/artifact-blocks/blocks/markdown/MarkdownBlock.svelte +33 -0
- package/dist/artifact-blocks/blocks/markdown/MarkdownBlock.svelte.d.ts +15 -0
- package/dist/artifact-blocks/blocks/markdown/block.d.ts +7 -0
- package/dist/artifact-blocks/blocks/markdown/block.js +28 -0
- package/dist/artifact-blocks/blocks/markdown/render.d.ts +17 -0
- package/dist/artifact-blocks/blocks/markdown/render.js +115 -0
- package/dist/artifact-blocks/blocks/markdown/schema.d.ts +10 -0
- package/dist/artifact-blocks/blocks/markdown/schema.js +23 -0
- package/dist/artifact-blocks/blocks/media-picker/MediaPickerBlock.svelte +2112 -0
- package/dist/artifact-blocks/blocks/media-picker/MediaPickerBlock.svelte.d.ts +5 -0
- package/dist/artifact-blocks/blocks/media-picker/block.d.ts +24 -0
- package/dist/artifact-blocks/blocks/media-picker/block.js +137 -0
- package/dist/artifact-blocks/blocks/media-picker/choices.d.ts +28 -0
- package/dist/artifact-blocks/blocks/media-picker/choices.js +35 -0
- package/dist/artifact-blocks/blocks/media-picker/decisions.d.ts +51 -0
- package/dist/artifact-blocks/blocks/media-picker/decisions.js +75 -0
- package/dist/artifact-blocks/blocks/media-picker/schema.d.ts +7 -0
- package/dist/artifact-blocks/blocks/media-picker/schema.js +199 -0
- package/dist/artifact-blocks/blocks/media-picker/types.d.ts +92 -0
- package/dist/artifact-blocks/blocks/media-picker/types.js +1 -0
- package/dist/artifact-blocks/blocks/media-picker/versions.d.ts +51 -0
- package/dist/artifact-blocks/blocks/media-picker/versions.js +118 -0
- package/dist/artifact-blocks/blocks/mockup/MockupBlock.svelte +213 -0
- package/dist/artifact-blocks/blocks/mockup/MockupBlock.svelte.d.ts +5 -0
- package/dist/artifact-blocks/blocks/mockup/block.d.ts +26 -0
- package/dist/artifact-blocks/blocks/mockup/block.js +52 -0
- package/dist/artifact-blocks/blocks/mockup/doc.d.ts +24 -0
- package/dist/artifact-blocks/blocks/mockup/doc.js +44 -0
- package/dist/artifact-blocks/blocks/mockup/sandbox.d.ts +21 -0
- package/dist/artifact-blocks/blocks/mockup/sandbox.js +27 -0
- package/dist/artifact-blocks/blocks/mockup/schema.d.ts +7 -0
- package/dist/artifact-blocks/blocks/mockup/schema.js +90 -0
- package/dist/artifact-blocks/blocks/mockup/types.d.ts +36 -0
- package/dist/artifact-blocks/blocks/mockup/types.js +17 -0
- package/dist/artifact-blocks/blocks/program/ProgramBlock.svelte +359 -0
- package/dist/artifact-blocks/blocks/program/ProgramBlock.svelte.d.ts +32 -0
- package/dist/artifact-blocks/blocks/program/block.d.ts +35 -0
- package/dist/artifact-blocks/blocks/program/block.js +68 -0
- package/dist/artifact-blocks/blocks/program/schema.d.ts +132 -0
- package/dist/artifact-blocks/blocks/program/schema.js +268 -0
- package/dist/artifact-blocks/blocks/stats/StatsBlock.svelte +315 -0
- package/dist/artifact-blocks/blocks/stats/StatsBlock.svelte.d.ts +24 -0
- package/dist/artifact-blocks/blocks/stats/block.d.ts +7 -0
- package/dist/artifact-blocks/blocks/stats/block.js +49 -0
- package/dist/artifact-blocks/blocks/stats/schema.d.ts +82 -0
- package/dist/artifact-blocks/blocks/stats/schema.js +43 -0
- package/dist/artifact-blocks/blocks/stats/thumb.d.ts +2 -0
- package/dist/artifact-blocks/blocks/stats/thumb.js +102 -0
- package/dist/artifact-blocks/blocks/table/TableBlock.svelte +490 -0
- package/dist/artifact-blocks/blocks/table/TableBlock.svelte.d.ts +28 -0
- package/dist/artifact-blocks/blocks/table/block.d.ts +9 -0
- package/dist/artifact-blocks/blocks/table/block.js +100 -0
- package/dist/artifact-blocks/blocks/table/schema.d.ts +143 -0
- package/dist/artifact-blocks/blocks/table/schema.js +278 -0
- package/dist/artifact-blocks/blocks/timeline/TimelineBlock.svelte +347 -0
- package/dist/artifact-blocks/blocks/timeline/TimelineBlock.svelte.d.ts +42 -0
- package/dist/artifact-blocks/blocks/timeline/block.d.ts +9 -0
- package/dist/artifact-blocks/blocks/timeline/block.js +96 -0
- package/dist/artifact-blocks/blocks/timeline/constants.d.ts +26 -0
- package/dist/artifact-blocks/blocks/timeline/constants.js +27 -0
- package/dist/artifact-blocks/blocks/timeline/schema.d.ts +102 -0
- package/dist/artifact-blocks/blocks/timeline/schema.js +405 -0
- package/dist/artifact-blocks/blocks/timeline/thumb.d.ts +2 -0
- package/dist/artifact-blocks/blocks/timeline/thumb.js +117 -0
- package/dist/artifact-blocks/blocks/timeline/types.d.ts +66 -0
- package/dist/artifact-blocks/blocks/timeline/types.js +1 -0
- package/dist/artifact-blocks/blocks/transcript/TranscriptBlock.svelte +169 -0
- package/dist/artifact-blocks/blocks/transcript/TranscriptBlock.svelte.d.ts +26 -0
- package/dist/artifact-blocks/blocks/transcript/block.d.ts +9 -0
- package/dist/artifact-blocks/blocks/transcript/block.js +86 -0
- package/dist/artifact-blocks/blocks/transcript/schema.d.ts +114 -0
- package/dist/artifact-blocks/blocks/transcript/schema.js +126 -0
- package/dist/artifact-blocks/builtins.d.ts +40 -0
- package/dist/artifact-blocks/builtins.js +22 -0
- package/dist/artifact-blocks/contractBlocks.d.ts +92 -0
- package/dist/artifact-blocks/contractBlocks.js +279 -0
- package/dist/artifact-blocks/history.d.ts +140 -0
- package/dist/artifact-blocks/history.js +363 -0
- package/dist/artifact-blocks/index.d.ts +40 -0
- package/dist/artifact-blocks/index.js +46 -0
- package/dist/artifact-blocks/listen/context.d.ts +30 -0
- package/dist/artifact-blocks/listen/context.js +30 -0
- package/dist/artifact-blocks/liveData.d.ts +78 -0
- package/dist/artifact-blocks/liveData.js +137 -0
- package/dist/artifact-blocks/liveDataPoller.d.ts +41 -0
- package/dist/artifact-blocks/liveDataPoller.js +140 -0
- package/dist/artifact-blocks/openNav.d.ts +46 -0
- package/dist/artifact-blocks/openNav.js +106 -0
- package/dist/artifact-blocks/pageReviewKeys.d.ts +17 -0
- package/dist/artifact-blocks/pageReviewKeys.js +115 -0
- package/dist/artifact-blocks/params.d.ts +98 -0
- package/dist/artifact-blocks/params.js +159 -0
- package/dist/artifact-blocks/registry.d.ts +27 -0
- package/dist/artifact-blocks/registry.js +83 -0
- package/dist/artifact-blocks/review/BlockIcon.svelte +99 -0
- package/dist/artifact-blocks/review/BlockIcon.svelte.d.ts +17 -0
- package/dist/artifact-blocks/review/BulkRejectForm.svelte +94 -0
- package/dist/artifact-blocks/review/BulkRejectForm.svelte.d.ts +11 -0
- package/dist/artifact-blocks/review/BulkUndoBar.svelte +40 -0
- package/dist/artifact-blocks/review/BulkUndoBar.svelte.d.ts +9 -0
- package/dist/artifact-blocks/review/ItemNote.svelte +193 -0
- package/dist/artifact-blocks/review/ItemNote.svelte.d.ts +33 -0
- package/dist/artifact-blocks/review/NoteToggle.svelte +52 -0
- package/dist/artifact-blocks/review/NoteToggle.svelte.d.ts +12 -0
- package/dist/artifact-blocks/review/TeamChip.svelte +71 -0
- package/dist/artifact-blocks/review/TeamChip.svelte.d.ts +8 -0
- package/dist/artifact-blocks/review/attachments.d.ts +10 -0
- package/dist/artifact-blocks/review/attachments.js +37 -0
- package/dist/artifact-blocks/review/bulk.d.ts +52 -0
- package/dist/artifact-blocks/review/bulk.js +61 -0
- package/dist/artifact-blocks/review/itemReview.d.ts +33 -0
- package/dist/artifact-blocks/review/itemReview.js +112 -0
- package/dist/artifact-blocks/review/roundLines.d.ts +14 -0
- package/dist/artifact-blocks/review/roundLines.js +20 -0
- package/dist/artifact-blocks/review/rounds.d.ts +86 -0
- package/dist/artifact-blocks/review/rounds.js +302 -0
- package/dist/artifact-blocks/review/saver.d.ts +23 -0
- package/dist/artifact-blocks/review/saver.js +48 -0
- package/dist/artifact-blocks/review/team.d.ts +31 -0
- package/dist/artifact-blocks/review/team.js +42 -0
- package/dist/artifact-blocks/review/visualOrder.d.ts +29 -0
- package/dist/artifact-blocks/review/visualOrder.js +66 -0
- package/dist/artifact-blocks/review.d.ts +180 -0
- package/dist/artifact-blocks/review.js +716 -0
- package/dist/artifact-blocks/thumb-kit.d.ts +80 -0
- package/dist/artifact-blocks/thumb-kit.js +149 -0
- package/dist/artifact-blocks/types.d.ts +513 -0
- package/dist/artifact-blocks/types.js +1 -0
- package/package.json +11 -2
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diagram block — layout constants (pure numbers, no colors).
|
|
3
|
+
*
|
|
4
|
+
* schema.ts sizes boxes from a deterministic text estimate so SSR and the
|
|
5
|
+
* client agree byte-for-byte without a canvas; the renderer maps tones to
|
|
6
|
+
* theme-token classes (never literals). All values are px unless noted.
|
|
7
|
+
*/
|
|
8
|
+
// ── Caps (untrusted-input bounds) ─────────────────────────────────────────
|
|
9
|
+
export const MAX_NODES = 50;
|
|
10
|
+
export const MAX_EDGES = 80;
|
|
11
|
+
/** Node label / sublabel and edge label text caps (chars). */
|
|
12
|
+
export const NODE_TEXT_MAX = 200;
|
|
13
|
+
export const EDGE_TEXT_MAX = 200;
|
|
14
|
+
// ── Dagre spacing defaults ────────────────────────────────────────────────
|
|
15
|
+
export const DEFAULT_RANKSEP = 60;
|
|
16
|
+
export const DEFAULT_NODESEP = 28;
|
|
17
|
+
export const DEFAULT_EDGESEP = 14;
|
|
18
|
+
export const MIN_RANKSEP = 24;
|
|
19
|
+
export const MIN_NODESEP = 12;
|
|
20
|
+
// ── Node box sizing (from the deterministic text estimate) ────────────────
|
|
21
|
+
export const NODE_PAD_X = 16;
|
|
22
|
+
export const NODE_PAD_Y = 11;
|
|
23
|
+
export const NODE_LINE_H = 18;
|
|
24
|
+
/** ≈ average glyph width of 13px system-ui semibold. */
|
|
25
|
+
export const NODE_CHAR_W = 7.0;
|
|
26
|
+
/** ≈ average glyph width of the 11px regular sublabel. */
|
|
27
|
+
export const SUB_CHAR_W = 6.0;
|
|
28
|
+
export const NODE_MAX_LINES = 3;
|
|
29
|
+
export const NODE_MIN_W = 92;
|
|
30
|
+
export const NODE_MAX_W = 280;
|
|
31
|
+
export const NODE_MIN_H = 36;
|
|
32
|
+
/** Fraction of a diamond's width the centered text may occupy. */
|
|
33
|
+
export const DIAMOND_TEXT_FACTOR = 0.6;
|
|
34
|
+
export const CIRCLE_MIN = 72;
|
|
35
|
+
// ── Sequence mode ─────────────────────────────────────────────────────────
|
|
36
|
+
export const SEQ_ACTOR_H = 36;
|
|
37
|
+
export const SEQ_ACTOR_PAD_X = 18;
|
|
38
|
+
export const SEQ_ACTOR_MIN_W = 96;
|
|
39
|
+
export const SEQ_ACTOR_MAX_W = 220;
|
|
40
|
+
export const SEQ_MSG_GAP_DEFAULT = 48;
|
|
41
|
+
export const SEQ_MSG_GAP_MIN = 24;
|
|
42
|
+
export const SEQ_ROW_PAD = 18;
|
|
43
|
+
export const SEQ_PAD_X = 20;
|
|
44
|
+
export const SEQ_COL_MIN = 150;
|
|
45
|
+
export const SEQ_LABEL_CHAR_W = 5.9;
|
|
46
|
+
export const SEQ_WIDTH_DEFAULT = 900;
|
|
47
|
+
export const SEQ_WIDTH_MIN = 320;
|
|
48
|
+
export const SEQ_WIDTH_MAX = 2200;
|
|
49
|
+
// ── Edge label box handed to dagre ────────────────────────────────────────
|
|
50
|
+
export const EDGE_LABEL_W = 80;
|
|
51
|
+
export const EDGE_LABEL_H = 20;
|
|
52
|
+
/** Viewport padding around the laid-out graph. */
|
|
53
|
+
export const VIEW_PAD = 14;
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Diagram block — params schema, validation and layout (mos-d70v4).
|
|
3
|
+
*
|
|
4
|
+
* Pure functions only (no DOM, no canvas): box sizing comes from a
|
|
5
|
+
* deterministic char-count estimate so SSR and the client agree without a
|
|
6
|
+
* measurement pass, and colors NEVER appear here — the renderer maps tones
|
|
7
|
+
* to theme-token classes. dagre is NOT imported at module level: the
|
|
8
|
+
* renderer resolves it (resolveDagre) and passes the engine in, so this
|
|
9
|
+
* file stays testable without the dependency and the build doesn't hard-
|
|
10
|
+
* wire a transitive package. The layered fallback (layoutLayered) keeps
|
|
11
|
+
* publishing alive even if dagre is unavailable.
|
|
12
|
+
*
|
|
13
|
+
* Untrusted-input rules (CONTRACT.md): text params are length-capped
|
|
14
|
+
* strings, arrays are capped (50 nodes / 80 edges), ids are validated.
|
|
15
|
+
*/
|
|
16
|
+
import { z } from "zod";
|
|
17
|
+
import { type ToneToken } from "../../params";
|
|
18
|
+
import type { DiagramMode, NodeShape, NodeKind, Point, FlowLayout, SeqLayout } from "./types";
|
|
19
|
+
export declare const diagramParamsSchema: z.ZodObject<{
|
|
20
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
21
|
+
flow: "flow";
|
|
22
|
+
sequence: "sequence";
|
|
23
|
+
}>>;
|
|
24
|
+
title: z.ZodOptional<z.ZodString>;
|
|
25
|
+
subtitle: z.ZodOptional<z.ZodString>;
|
|
26
|
+
direction: z.ZodDefault<z.ZodEnum<{
|
|
27
|
+
BT: "BT";
|
|
28
|
+
LR: "LR";
|
|
29
|
+
RL: "RL";
|
|
30
|
+
TB: "TB";
|
|
31
|
+
}>>;
|
|
32
|
+
nodes: z.ZodArray<z.ZodObject<{
|
|
33
|
+
id: z.ZodString;
|
|
34
|
+
label: z.ZodString;
|
|
35
|
+
sublabel: z.ZodOptional<z.ZodString>;
|
|
36
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
37
|
+
data: "data";
|
|
38
|
+
input: "input";
|
|
39
|
+
output: "output";
|
|
40
|
+
note: "note";
|
|
41
|
+
default: "default";
|
|
42
|
+
decision: "decision";
|
|
43
|
+
external: "external";
|
|
44
|
+
terminal: "terminal";
|
|
45
|
+
process: "process";
|
|
46
|
+
subroutine: "subroutine";
|
|
47
|
+
}>>;
|
|
48
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
49
|
+
error: "error";
|
|
50
|
+
warning: "warning";
|
|
51
|
+
info: "info";
|
|
52
|
+
success: "success";
|
|
53
|
+
primary: "primary";
|
|
54
|
+
secondary: "secondary";
|
|
55
|
+
neutral: "neutral";
|
|
56
|
+
accent: "accent";
|
|
57
|
+
}>>;
|
|
58
|
+
shape: z.ZodOptional<z.ZodEnum<{
|
|
59
|
+
circle: "circle";
|
|
60
|
+
rect: "rect";
|
|
61
|
+
stadium: "stadium";
|
|
62
|
+
pill: "pill";
|
|
63
|
+
diamond: "diamond";
|
|
64
|
+
}>>;
|
|
65
|
+
}, z.core.$strip>>;
|
|
66
|
+
edges: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
67
|
+
from: z.ZodString;
|
|
68
|
+
to: z.ZodString;
|
|
69
|
+
label: z.ZodOptional<z.ZodString>;
|
|
70
|
+
dashed: z.ZodOptional<z.ZodBoolean>;
|
|
71
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
72
|
+
error: "error";
|
|
73
|
+
warning: "warning";
|
|
74
|
+
info: "info";
|
|
75
|
+
success: "success";
|
|
76
|
+
primary: "primary";
|
|
77
|
+
secondary: "secondary";
|
|
78
|
+
neutral: "neutral";
|
|
79
|
+
accent: "accent";
|
|
80
|
+
}>>;
|
|
81
|
+
}, z.core.$strip>>>;
|
|
82
|
+
edgeLabels: z.ZodDefault<z.ZodBoolean>;
|
|
83
|
+
ranksep: z.ZodOptional<z.ZodNumber>;
|
|
84
|
+
nodesep: z.ZodOptional<z.ZodNumber>;
|
|
85
|
+
edgesep: z.ZodOptional<z.ZodNumber>;
|
|
86
|
+
sequenceWidth: z.ZodOptional<z.ZodNumber>;
|
|
87
|
+
msgGap: z.ZodOptional<z.ZodNumber>;
|
|
88
|
+
}, z.core.$strip>;
|
|
89
|
+
export type DiagramParamsInput = z.input<typeof diagramParamsSchema>;
|
|
90
|
+
export type DiagramParams = z.output<typeof diagramParamsSchema>;
|
|
91
|
+
export type { DiagramMode, NodeShape, NodeKind };
|
|
92
|
+
export interface DagreGraph {
|
|
93
|
+
setGraph(o: Record<string, unknown>): unknown;
|
|
94
|
+
setDefaultEdgeLabel(fn: () => object): unknown;
|
|
95
|
+
setNode(id: string, o: object): unknown;
|
|
96
|
+
setEdge(from: string, to: string, o?: object): unknown;
|
|
97
|
+
node(id: string): {
|
|
98
|
+
x?: number;
|
|
99
|
+
y?: number;
|
|
100
|
+
width?: number;
|
|
101
|
+
height?: number;
|
|
102
|
+
};
|
|
103
|
+
edge(from: string, to: string): {
|
|
104
|
+
points?: Point[];
|
|
105
|
+
labelPoint?: Point;
|
|
106
|
+
x?: number;
|
|
107
|
+
y?: number;
|
|
108
|
+
width?: number;
|
|
109
|
+
height?: number;
|
|
110
|
+
};
|
|
111
|
+
graph(): {
|
|
112
|
+
width?: number;
|
|
113
|
+
height?: number;
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
export interface DagreEngine {
|
|
117
|
+
graphlib: {
|
|
118
|
+
Graph: new () => DagreGraph;
|
|
119
|
+
};
|
|
120
|
+
layout: (g: DagreGraph) => void;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Pull the dagre engine out of whatever the renderer imported. Handles both
|
|
124
|
+
* the ESM default export (`{ graphlib, layout }` — what @dagrejs/dagre
|
|
125
|
+
* actually ships) and a namespace import. Returns null when dagre isn't
|
|
126
|
+
* there — the caller falls back to the layered layout.
|
|
127
|
+
*/
|
|
128
|
+
export declare function resolveDagre(mod: unknown): DagreEngine | null;
|
|
129
|
+
/** Char-count text width estimate. Deliberately NOT a canvas measure: the
|
|
130
|
+
* layout must be byte-identical between SSR and hydration. */
|
|
131
|
+
export declare function textWidth(text: string, charW: number): number;
|
|
132
|
+
/** Default shape for a node kind (explicit `shape` wins). */
|
|
133
|
+
export declare function kindShape(kind: NodeKind | undefined): NodeShape;
|
|
134
|
+
/** Dashed border for note/external kinds unless the shape is a diamond. */
|
|
135
|
+
export declare function kindDashed(kind: NodeKind | undefined): boolean;
|
|
136
|
+
export interface NodeSize {
|
|
137
|
+
w: number;
|
|
138
|
+
h: number;
|
|
139
|
+
}
|
|
140
|
+
/** Text lines the renderer paints for a node (same budgets as nodeSizeFor
|
|
141
|
+
* so the box always fits its text). */
|
|
142
|
+
export declare function nodeTextLines(node: {
|
|
143
|
+
label: string;
|
|
144
|
+
sublabel?: string;
|
|
145
|
+
shape?: NodeShape;
|
|
146
|
+
kind?: NodeKind;
|
|
147
|
+
}, size: NodeSize): {
|
|
148
|
+
label: string[];
|
|
149
|
+
sub: string[];
|
|
150
|
+
};
|
|
151
|
+
/** Flow layout: dagre when an engine resolves, layered otherwise. */
|
|
152
|
+
export declare function layoutFlow(p: DiagramParams, engine: DagreEngine | null): FlowLayout;
|
|
153
|
+
export declare function layoutSequence(p: DiagramParams): SeqLayout;
|
|
154
|
+
export interface DiagramRow {
|
|
155
|
+
kind: "node" | "edge";
|
|
156
|
+
label: string;
|
|
157
|
+
detail: string;
|
|
158
|
+
}
|
|
159
|
+
/** Flat rows for the accessible data fallback (sr-only table). */
|
|
160
|
+
export declare function diagramRows(params: DiagramParams): DiagramRow[];
|
|
161
|
+
export type { ToneToken };
|