@cristianormazabal/triton-core 0.1.0 → 0.1.2
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/contracts/anchors.js +20 -0
- package/dist/contracts/anchors.js.map +1 -0
- package/dist/contracts/animations.d.ts +5 -0
- package/dist/contracts/animations.d.ts.map +1 -0
- package/dist/contracts/animations.js +15 -0
- package/dist/contracts/animations.js.map +1 -0
- package/dist/contracts/crosslink.d.ts +21 -41
- package/dist/contracts/crosslink.d.ts.map +1 -1
- package/dist/contracts/crosslink.js +17 -0
- package/dist/contracts/crosslink.js.map +1 -0
- package/dist/contracts/diagram.js +24 -0
- package/dist/contracts/diagram.js.map +1 -0
- package/dist/contracts/index.d.ts +6 -3
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +21 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/overlay.js +22 -0
- package/dist/contracts/overlay.js.map +1 -0
- package/dist/contracts/primitives.js +13 -0
- package/dist/contracts/primitives.js.map +1 -0
- package/dist/contracts/renderer.js +15 -0
- package/dist/contracts/renderer.js.map +1 -0
- package/dist/contracts/result.js +26 -0
- package/dist/contracts/result.js.map +1 -0
- package/dist/contracts/routing.d.ts +4 -0
- package/dist/contracts/routing.d.ts.map +1 -1
- package/dist/contracts/routing.js +14 -0
- package/dist/contracts/routing.js.map +1 -0
- package/dist/contracts/scene.d.ts +5 -1
- package/dist/contracts/scene.d.ts.map +1 -1
- package/dist/contracts/scene.js +18 -0
- package/dist/contracts/scene.js.map +1 -0
- package/dist/contracts/theme.js +18 -0
- package/dist/contracts/theme.js.map +1 -0
- package/dist/crosslink/connectors.d.ts +66 -0
- package/dist/crosslink/connectors.d.ts.map +1 -0
- package/dist/crosslink/connectors.js +130 -0
- package/dist/crosslink/connectors.js.map +1 -0
- package/dist/crosslink/engine2.d.ts +2 -2
- package/dist/crosslink/engine2.d.ts.map +1 -1
- package/dist/crosslink/engine2.js +783 -0
- package/dist/crosslink/engine2.js.map +1 -0
- package/dist/crosslink/engine3.d.ts +2 -2
- package/dist/crosslink/engine3.d.ts.map +1 -1
- package/dist/crosslink/engine3.js +968 -0
- package/dist/crosslink/engine3.js.map +1 -0
- package/dist/crosslink/index.d.ts +2 -0
- package/dist/crosslink/index.d.ts.map +1 -1
- package/dist/crosslink/index.js +4 -0
- package/dist/crosslink/index.js.map +1 -0
- package/dist/crosslink/render.d.ts +2 -2
- package/dist/crosslink/render.d.ts.map +1 -1
- package/dist/crosslink/render.js +997 -0
- package/dist/crosslink/render.js.map +1 -0
- package/dist/crosslink/resolve.js +331 -0
- package/dist/crosslink/resolve.js.map +1 -0
- package/dist/diagrams/{c4 → mermaid/c4}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/c4/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/c4/index.js +14 -0
- package/dist/diagrams/mermaid/c4/index.js.map +1 -0
- package/dist/diagrams/{c4 → mermaid/c4}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/c4/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/c4/ir.js +2 -0
- package/dist/diagrams/mermaid/c4/ir.js.map +1 -0
- package/dist/diagrams/{c4 → mermaid/c4}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/c4/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/c4/layout.js +110 -0
- package/dist/diagrams/mermaid/c4/layout.js.map +1 -0
- package/dist/diagrams/{class → mermaid/class}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/class/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/class/index.js +14 -0
- package/dist/diagrams/mermaid/class/index.js.map +1 -0
- package/dist/diagrams/{class → mermaid/class}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/class/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/class/ir.js +2 -0
- package/dist/diagrams/mermaid/class/ir.js.map +1 -0
- package/dist/diagrams/{class → mermaid/class}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/class/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/class/layout.js +877 -0
- package/dist/diagrams/mermaid/class/layout.js.map +1 -0
- package/dist/diagrams/{er → mermaid/er}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/er/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/er/index.js +14 -0
- package/dist/diagrams/mermaid/er/index.js.map +1 -0
- package/dist/diagrams/{er → mermaid/er}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/er/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/er/ir.js +2 -0
- package/dist/diagrams/mermaid/er/ir.js.map +1 -0
- package/dist/diagrams/{er → mermaid/er}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/er/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/er/layout.js +116 -0
- package/dist/diagrams/mermaid/er/layout.js.map +1 -0
- package/dist/diagrams/{flowchart → mermaid/flowchart}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/flowchart/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/flowchart/index.js +24 -0
- package/dist/diagrams/mermaid/flowchart/index.js.map +1 -0
- package/dist/diagrams/{flowchart → mermaid/flowchart}/ir.d.ts +7 -1
- package/dist/diagrams/mermaid/flowchart/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/flowchart/ir.js +2 -0
- package/dist/diagrams/mermaid/flowchart/ir.js.map +1 -0
- package/dist/diagrams/mermaid/flowchart/layout.d.ts +5 -0
- package/dist/diagrams/mermaid/flowchart/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/flowchart/layout.js +652 -0
- package/dist/diagrams/mermaid/flowchart/layout.js.map +1 -0
- package/dist/diagrams/{gantt → mermaid/gantt}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/gantt/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/gantt/index.js +89 -0
- package/dist/diagrams/mermaid/gantt/index.js.map +1 -0
- package/dist/diagrams/{gantt → mermaid/gantt}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/gantt/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/gantt/ir.js +2 -0
- package/dist/diagrams/mermaid/gantt/ir.js.map +1 -0
- package/dist/diagrams/{gantt → mermaid/gantt}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/gantt/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/gantt/layout.js +95 -0
- package/dist/diagrams/mermaid/gantt/layout.js.map +1 -0
- package/dist/diagrams/{gitgraph → mermaid/gitgraph}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/gitgraph/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/gitgraph/index.js +58 -0
- package/dist/diagrams/mermaid/gitgraph/index.js.map +1 -0
- package/dist/diagrams/{gitgraph → mermaid/gitgraph}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/gitgraph/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/gitgraph/ir.js +2 -0
- package/dist/diagrams/mermaid/gitgraph/ir.js.map +1 -0
- package/dist/diagrams/{gitgraph → mermaid/gitgraph}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/gitgraph/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/gitgraph/layout.js +89 -0
- package/dist/diagrams/mermaid/gitgraph/layout.js.map +1 -0
- package/dist/diagrams/{journey → mermaid/journey}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/journey/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/journey/index.js +14 -0
- package/dist/diagrams/mermaid/journey/index.js.map +1 -0
- package/dist/diagrams/{journey → mermaid/journey}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/journey/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/journey/ir.js +2 -0
- package/dist/diagrams/mermaid/journey/ir.js.map +1 -0
- package/dist/diagrams/{journey → mermaid/journey}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/journey/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/journey/layout.js +92 -0
- package/dist/diagrams/mermaid/journey/layout.js.map +1 -0
- package/dist/diagrams/{kanban → mermaid/kanban}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/kanban/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/kanban/index.js +14 -0
- package/dist/diagrams/mermaid/kanban/index.js.map +1 -0
- package/dist/diagrams/{kanban → mermaid/kanban}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/kanban/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/kanban/ir.js +2 -0
- package/dist/diagrams/mermaid/kanban/ir.js.map +1 -0
- package/dist/diagrams/{kanban → mermaid/kanban}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/kanban/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/kanban/layout.js +68 -0
- package/dist/diagrams/mermaid/kanban/layout.js.map +1 -0
- package/dist/diagrams/{mindmap → mermaid/mindmap}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/mindmap/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/mindmap/index.js +52 -0
- package/dist/diagrams/mermaid/mindmap/index.js.map +1 -0
- package/dist/diagrams/{mindmap → mermaid/mindmap}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/mindmap/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/mindmap/ir.js +2 -0
- package/dist/diagrams/mermaid/mindmap/ir.js.map +1 -0
- package/dist/diagrams/{mindmap → mermaid/mindmap}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/mindmap/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/mindmap/layout.js +100 -0
- package/dist/diagrams/mermaid/mindmap/layout.js.map +1 -0
- package/dist/diagrams/{pie → mermaid/pie}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/pie/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/pie/index.js +14 -0
- package/dist/diagrams/mermaid/pie/index.js.map +1 -0
- package/dist/diagrams/{pie → mermaid/pie}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/pie/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/pie/ir.js +2 -0
- package/dist/diagrams/mermaid/pie/ir.js.map +1 -0
- package/dist/diagrams/{pie → mermaid/pie}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/pie/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/pie/layout.js +84 -0
- package/dist/diagrams/mermaid/pie/layout.js.map +1 -0
- package/dist/diagrams/{quadrant → mermaid/quadrant}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/quadrant/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/quadrant/index.js +14 -0
- package/dist/diagrams/mermaid/quadrant/index.js.map +1 -0
- package/dist/diagrams/{quadrant → mermaid/quadrant}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/quadrant/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/quadrant/ir.js +2 -0
- package/dist/diagrams/mermaid/quadrant/ir.js.map +1 -0
- package/dist/diagrams/{quadrant → mermaid/quadrant}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/quadrant/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/quadrant/layout.js +83 -0
- package/dist/diagrams/mermaid/quadrant/layout.js.map +1 -0
- package/dist/diagrams/{radar → mermaid/radar}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/radar/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/radar/index.js +14 -0
- package/dist/diagrams/mermaid/radar/index.js.map +1 -0
- package/dist/diagrams/{radar → mermaid/radar}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/radar/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/radar/ir.js +2 -0
- package/dist/diagrams/mermaid/radar/ir.js.map +1 -0
- package/dist/diagrams/{radar → mermaid/radar}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/radar/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/radar/layout.js +91 -0
- package/dist/diagrams/mermaid/radar/layout.js.map +1 -0
- package/dist/diagrams/{requirement → mermaid/requirement}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/requirement/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/requirement/index.js +14 -0
- package/dist/diagrams/mermaid/requirement/index.js.map +1 -0
- package/dist/diagrams/{requirement → mermaid/requirement}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/requirement/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/requirement/ir.js +2 -0
- package/dist/diagrams/mermaid/requirement/ir.js.map +1 -0
- package/dist/diagrams/{requirement → mermaid/requirement}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/requirement/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/requirement/layout.js +79 -0
- package/dist/diagrams/mermaid/requirement/layout.js.map +1 -0
- package/dist/diagrams/{sankey → mermaid/sankey}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/sankey/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/sankey/index.js +14 -0
- package/dist/diagrams/mermaid/sankey/index.js.map +1 -0
- package/dist/diagrams/{sankey → mermaid/sankey}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/sankey/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/sankey/ir.js +2 -0
- package/dist/diagrams/mermaid/sankey/ir.js.map +1 -0
- package/dist/diagrams/{sankey → mermaid/sankey}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/sankey/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/sankey/layout.js +124 -0
- package/dist/diagrams/mermaid/sankey/layout.js.map +1 -0
- package/dist/diagrams/{sequence → mermaid/sequence}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/sequence/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/sequence/index.js +14 -0
- package/dist/diagrams/mermaid/sequence/index.js.map +1 -0
- package/dist/diagrams/{sequence → mermaid/sequence}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/sequence/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/sequence/ir.js +2 -0
- package/dist/diagrams/mermaid/sequence/ir.js.map +1 -0
- package/dist/diagrams/{sequence → mermaid/sequence}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/sequence/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/sequence/layout.js +168 -0
- package/dist/diagrams/mermaid/sequence/layout.js.map +1 -0
- package/dist/diagrams/{state → mermaid/state}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/state/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/state/index.js +14 -0
- package/dist/diagrams/mermaid/state/index.js.map +1 -0
- package/dist/diagrams/{state → mermaid/state}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/state/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/state/ir.js +2 -0
- package/dist/diagrams/mermaid/state/ir.js.map +1 -0
- package/dist/diagrams/{state → mermaid/state}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/state/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/state/layout.js +172 -0
- package/dist/diagrams/mermaid/state/layout.js.map +1 -0
- package/dist/diagrams/{timeline → mermaid/timeline}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/timeline/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/timeline/index.js +23 -0
- package/dist/diagrams/mermaid/timeline/index.js.map +1 -0
- package/dist/diagrams/{timeline → mermaid/timeline}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/timeline/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/timeline/ir.js +2 -0
- package/dist/diagrams/mermaid/timeline/ir.js.map +1 -0
- package/dist/diagrams/mermaid/timeline/layout.d.ts +5 -0
- package/dist/diagrams/mermaid/timeline/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/timeline/layout.js +228 -0
- package/dist/diagrams/mermaid/timeline/layout.js.map +1 -0
- package/dist/diagrams/{timeline → mermaid/timeline}/numbered.d.ts +2 -2
- package/dist/diagrams/mermaid/timeline/numbered.d.ts.map +1 -0
- package/dist/diagrams/mermaid/timeline/numbered.js +112 -0
- package/dist/diagrams/mermaid/timeline/numbered.js.map +1 -0
- package/dist/diagrams/{timeline → mermaid/timeline}/roadmap.d.ts +2 -2
- package/dist/diagrams/mermaid/timeline/roadmap.d.ts.map +1 -0
- package/dist/diagrams/mermaid/timeline/roadmap.js +125 -0
- package/dist/diagrams/mermaid/timeline/roadmap.js.map +1 -0
- package/dist/diagrams/{timeline → mermaid/timeline}/serpentine.d.ts +2 -2
- package/dist/diagrams/mermaid/timeline/serpentine.d.ts.map +1 -0
- package/dist/diagrams/mermaid/timeline/serpentine.js +152 -0
- package/dist/diagrams/mermaid/timeline/serpentine.js.map +1 -0
- package/dist/diagrams/{timeline → mermaid/timeline}/shared.d.ts +1 -1
- package/dist/diagrams/mermaid/timeline/shared.d.ts.map +1 -0
- package/dist/diagrams/mermaid/timeline/shared.js +47 -0
- package/dist/diagrams/mermaid/timeline/shared.js.map +1 -0
- package/dist/diagrams/{timeline → mermaid/timeline}/timeline-columns.d.ts +2 -2
- package/dist/diagrams/mermaid/timeline/timeline-columns.d.ts.map +1 -0
- package/dist/diagrams/mermaid/timeline/timeline-columns.js +136 -0
- package/dist/diagrams/mermaid/timeline/timeline-columns.js.map +1 -0
- package/dist/diagrams/{timeline → mermaid/timeline}/vertical-spine.d.ts +2 -2
- package/dist/diagrams/mermaid/timeline/vertical-spine.d.ts.map +1 -0
- package/dist/diagrams/mermaid/timeline/vertical-spine.js +136 -0
- package/dist/diagrams/mermaid/timeline/vertical-spine.js.map +1 -0
- package/dist/diagrams/{xychart → mermaid/xychart}/index.d.ts +1 -1
- package/dist/diagrams/mermaid/xychart/index.d.ts.map +1 -0
- package/dist/diagrams/mermaid/xychart/index.js +14 -0
- package/dist/diagrams/mermaid/xychart/index.js.map +1 -0
- package/dist/diagrams/{xychart → mermaid/xychart}/ir.d.ts +1 -1
- package/dist/diagrams/mermaid/xychart/ir.d.ts.map +1 -0
- package/dist/diagrams/mermaid/xychart/ir.js +2 -0
- package/dist/diagrams/mermaid/xychart/ir.js.map +1 -0
- package/dist/diagrams/{xychart → mermaid/xychart}/layout.d.ts +2 -2
- package/dist/diagrams/mermaid/xychart/layout.d.ts.map +1 -0
- package/dist/diagrams/mermaid/xychart/layout.js +120 -0
- package/dist/diagrams/mermaid/xychart/layout.js.map +1 -0
- package/dist/diagrams/{architecture → triton/architecture}/index.d.ts +1 -1
- package/dist/diagrams/triton/architecture/index.d.ts.map +1 -0
- package/dist/diagrams/triton/architecture/index.js +14 -0
- package/dist/diagrams/triton/architecture/index.js.map +1 -0
- package/dist/diagrams/{architecture → triton/architecture}/ir.d.ts +1 -1
- package/dist/diagrams/triton/architecture/ir.d.ts.map +1 -0
- package/dist/diagrams/triton/architecture/ir.js +2 -0
- package/dist/diagrams/triton/architecture/ir.js.map +1 -0
- package/dist/diagrams/{architecture → triton/architecture}/layout.d.ts +2 -2
- package/dist/diagrams/triton/architecture/layout.d.ts.map +1 -0
- package/dist/diagrams/triton/architecture/layout.js +124 -0
- package/dist/diagrams/triton/architecture/layout.js.map +1 -0
- package/dist/diagrams/{block → triton/block}/index.d.ts +1 -1
- package/dist/diagrams/triton/block/index.d.ts.map +1 -0
- package/dist/diagrams/triton/block/index.js +14 -0
- package/dist/diagrams/triton/block/index.js.map +1 -0
- package/dist/diagrams/{block → triton/block}/ir.d.ts +1 -1
- package/dist/diagrams/triton/block/ir.d.ts.map +1 -0
- package/dist/diagrams/triton/block/ir.js +2 -0
- package/dist/diagrams/triton/block/ir.js.map +1 -0
- package/dist/diagrams/{block → triton/block}/layout.d.ts +2 -2
- package/dist/diagrams/triton/block/layout.d.ts.map +1 -0
- package/dist/diagrams/triton/block/layout.js +73 -0
- package/dist/diagrams/triton/block/layout.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/graph/graph.d.ts +1 -1
- package/dist/diagrams/triton/ds/graph/graph.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/graph/graph.js +140 -0
- package/dist/diagrams/triton/ds/graph/graph.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/hashmap/hashmap.d.ts +1 -1
- package/dist/diagrams/triton/ds/hashmap/hashmap.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/hashmap/hashmap.js +131 -0
- package/dist/diagrams/triton/ds/hashmap/hashmap.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/matrix/matrix.d.ts +1 -1
- package/dist/diagrams/triton/ds/matrix/matrix.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/matrix/matrix.js +113 -0
- package/dist/diagrams/triton/ds/matrix/matrix.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/queue/cqueue.d.ts +5 -3
- package/dist/diagrams/triton/ds/queue/cqueue.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/queue/cqueue.js +195 -0
- package/dist/diagrams/triton/ds/queue/cqueue.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/queue/deque.d.ts +3 -1
- package/dist/diagrams/triton/ds/queue/deque.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/queue/deque.js +118 -0
- package/dist/diagrams/triton/ds/queue/deque.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/queue/pqueue.d.ts +5 -3
- package/dist/diagrams/triton/ds/queue/pqueue.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/queue/pqueue.js +129 -0
- package/dist/diagrams/triton/ds/queue/pqueue.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/queue/queue.d.ts +3 -1
- package/dist/diagrams/triton/ds/queue/queue.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/queue/queue.js +128 -0
- package/dist/diagrams/triton/ds/queue/queue.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/queue/shared.d.ts +18 -2
- package/dist/diagrams/triton/ds/queue/shared.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/queue/shared.js +186 -0
- package/dist/diagrams/triton/ds/queue/shared.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/stack/stack.d.ts +3 -1
- package/dist/diagrams/triton/ds/stack/stack.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/stack/stack.js +119 -0
- package/dist/diagrams/triton/ds/stack/stack.js.map +1 -0
- package/dist/diagrams/triton/ds/struct/array.d.ts +52 -0
- package/dist/diagrams/triton/ds/struct/array.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/struct/array.js +491 -0
- package/dist/diagrams/triton/ds/struct/array.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/struct/linkedlist.d.ts +1 -1
- package/dist/diagrams/triton/ds/struct/linkedlist.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/struct/linkedlist.js +99 -0
- package/dist/diagrams/triton/ds/struct/linkedlist.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/struct/memory.d.ts +1 -1
- package/dist/diagrams/triton/ds/struct/memory.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/struct/memory.js +172 -0
- package/dist/diagrams/triton/ds/struct/memory.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/struct/page.d.ts +1 -1
- package/dist/diagrams/triton/ds/struct/page.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/struct/page.js +137 -0
- package/dist/diagrams/triton/ds/struct/page.js.map +1 -0
- package/dist/diagrams/triton/ds/struct/shared.d.ts +17 -0
- package/dist/diagrams/triton/ds/struct/shared.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/struct/shared.js +60 -0
- package/dist/diagrams/triton/ds/struct/shared.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/avl.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/avl.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/avl.js +87 -0
- package/dist/diagrams/triton/ds/tree/avl.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/btree.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/btree.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/btree.js +76 -0
- package/dist/diagrams/triton/ds/tree/btree.js.map +1 -0
- package/dist/diagrams/triton/ds/tree/build.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/build.js +51 -0
- package/dist/diagrams/triton/ds/tree/build.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/heap.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/heap.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/heap.js +48 -0
- package/dist/diagrams/triton/ds/tree/heap.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/index.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/index.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/index.js +20 -0
- package/dist/diagrams/triton/ds/tree/index.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/ir.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/ir.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/ir.js +10 -0
- package/dist/diagrams/triton/ds/tree/ir.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/layout.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/layout.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/layout.js +281 -0
- package/dist/diagrams/triton/ds/tree/layout.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/plan.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/plan.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/plan.js +48 -0
- package/dist/diagrams/triton/ds/tree/plan.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/radix.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/radix.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/radix.js +88 -0
- package/dist/diagrams/triton/ds/tree/radix.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/rbtree.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/rbtree.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/rbtree.js +78 -0
- package/dist/diagrams/triton/ds/tree/rbtree.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/tree/segtree.d.ts +1 -1
- package/dist/diagrams/triton/ds/tree/segtree.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/tree/segtree.js +51 -0
- package/dist/diagrams/triton/ds/tree/segtree.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/trie/trie.d.ts +1 -1
- package/dist/diagrams/triton/ds/trie/trie.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/trie/trie.js +58 -0
- package/dist/diagrams/triton/ds/trie/trie.js.map +1 -0
- package/dist/diagrams/{ds → triton/ds}/unionfind/unionfind.d.ts +1 -1
- package/dist/diagrams/triton/ds/unionfind/unionfind.d.ts.map +1 -0
- package/dist/diagrams/triton/ds/unionfind/unionfind.js +110 -0
- package/dist/diagrams/triton/ds/unionfind/unionfind.js.map +1 -0
- package/dist/diagrams/{packet → triton/packet}/index.d.ts +1 -1
- package/dist/diagrams/triton/packet/index.d.ts.map +1 -0
- package/dist/diagrams/triton/packet/index.js +14 -0
- package/dist/diagrams/triton/packet/index.js.map +1 -0
- package/dist/diagrams/{packet → triton/packet}/ir.d.ts +1 -1
- package/dist/diagrams/triton/packet/ir.d.ts.map +1 -0
- package/dist/diagrams/triton/packet/ir.js +2 -0
- package/dist/diagrams/triton/packet/ir.js.map +1 -0
- package/dist/diagrams/{packet → triton/packet}/layout.d.ts +2 -2
- package/dist/diagrams/triton/packet/layout.d.ts.map +1 -0
- package/dist/diagrams/triton/packet/layout.js +69 -0
- package/dist/diagrams/triton/packet/layout.js.map +1 -0
- package/dist/diagrams/{poster → triton/poster}/index.d.ts +1 -1
- package/dist/diagrams/triton/poster/index.d.ts.map +1 -0
- package/dist/diagrams/triton/poster/index.js +127 -0
- package/dist/diagrams/triton/poster/index.js.map +1 -0
- package/dist/diagrams/{poster → triton/poster}/ir.d.ts +1 -3
- package/dist/diagrams/{poster → triton/poster}/ir.d.ts.map +1 -1
- package/dist/diagrams/triton/poster/ir.js +2 -0
- package/dist/diagrams/triton/poster/ir.js.map +1 -0
- package/dist/diagrams/{poster → triton/poster}/layout.d.ts +2 -2
- package/dist/diagrams/triton/poster/layout.d.ts.map +1 -0
- package/dist/diagrams/triton/poster/layout.js +517 -0
- package/dist/diagrams/triton/poster/layout.js.map +1 -0
- package/dist/diagrams/{topology → triton/topology}/topology.d.ts +2 -2
- package/dist/diagrams/triton/topology/topology.d.ts.map +1 -0
- package/dist/diagrams/triton/topology/topology.js +198 -0
- package/dist/diagrams/triton/topology/topology.js.map +1 -0
- package/dist/frontend/detect.js +94 -0
- package/dist/frontend/detect.js.map +1 -0
- package/dist/frontend/index.d.ts +4 -4
- package/dist/frontend/index.d.ts.map +1 -1
- package/dist/frontend/index.js +196 -0
- package/dist/frontend/index.js.map +1 -0
- package/dist/frontend/preprocess.d.ts +28 -0
- package/dist/frontend/preprocess.d.ts.map +1 -0
- package/dist/frontend/preprocess.js +60 -0
- package/dist/frontend/preprocess.js.map +1 -0
- package/dist/frontend/registry.js +25 -0
- package/dist/frontend/registry.js.map +1 -0
- package/dist/graph/connect.js +44 -0
- package/dist/graph/connect.js.map +1 -0
- package/dist/graph/layered.d.ts +65 -5
- package/dist/graph/layered.d.ts.map +1 -1
- package/dist/graph/layered.js +936 -0
- package/dist/graph/layered.js.map +1 -0
- package/dist/graph/tree.js +107 -0
- package/dist/graph/tree.js.map +1 -0
- package/dist/index.js +4691 -2735
- package/dist/index.js.map +4 -4
- package/dist/overlay/apply.js +22 -0
- package/dist/overlay/apply.js.map +1 -0
- package/dist/overlay/compiler.js +48 -0
- package/dist/overlay/compiler.js.map +1 -0
- package/dist/overlay/layout.js +242 -0
- package/dist/overlay/layout.js.map +1 -0
- package/dist/palette/categorical.js +21 -0
- package/dist/palette/categorical.js.map +1 -0
- package/dist/render/registry.js +22 -0
- package/dist/render/registry.js.map +1 -0
- package/dist/render/svg.d.ts.map +1 -1
- package/dist/render/svg.js +287 -0
- package/dist/render/svg.js.map +1 -0
- package/dist/routing/d3-curves.d.ts +31 -0
- package/dist/routing/d3-curves.d.ts.map +1 -0
- package/dist/routing/d3-curves.js +58 -0
- package/dist/routing/d3-curves.js.map +1 -0
- package/dist/routing/registry.js +22 -0
- package/dist/routing/registry.js.map +1 -0
- package/dist/routing/router.d.ts +3 -0
- package/dist/routing/router.d.ts.map +1 -1
- package/dist/routing/router.js +849 -0
- package/dist/routing/router.js.map +1 -0
- package/dist/scene/build.d.ts +3 -1
- package/dist/scene/build.d.ts.map +1 -1
- package/dist/scene/build.js +57 -0
- package/dist/scene/build.js.map +1 -0
- package/dist/scene/strip.js +46 -0
- package/dist/scene/strip.js.map +1 -0
- package/dist/style/cost.js +39 -0
- package/dist/style/cost.js.map +1 -0
- package/dist/text/metrics.js +62 -0
- package/dist/text/metrics.js.map +1 -0
- package/dist/text/wrap.js +84 -0
- package/dist/text/wrap.js.map +1 -0
- package/dist/theme/preset.d.ts +2 -0
- package/dist/theme/preset.d.ts.map +1 -1
- package/dist/theme/preset.js +295 -0
- package/dist/theme/preset.js.map +1 -0
- package/dist/theme/resolver.js +15 -0
- package/dist/theme/resolver.js.map +1 -0
- package/dist/time/dates.js +301 -0
- package/dist/time/dates.js.map +1 -0
- package/dist/util/round.js +17 -0
- package/dist/util/round.js.map +1 -0
- package/package.json +1 -1
- package/dist/diagrams/architecture/index.d.ts.map +0 -1
- package/dist/diagrams/architecture/ir.d.ts.map +0 -1
- package/dist/diagrams/architecture/layout.d.ts.map +0 -1
- package/dist/diagrams/block/index.d.ts.map +0 -1
- package/dist/diagrams/block/ir.d.ts.map +0 -1
- package/dist/diagrams/block/layout.d.ts.map +0 -1
- package/dist/diagrams/c4/index.d.ts.map +0 -1
- package/dist/diagrams/c4/ir.d.ts.map +0 -1
- package/dist/diagrams/c4/layout.d.ts.map +0 -1
- package/dist/diagrams/class/index.d.ts.map +0 -1
- package/dist/diagrams/class/ir.d.ts.map +0 -1
- package/dist/diagrams/class/layout.d.ts.map +0 -1
- package/dist/diagrams/ds/graph/graph.d.ts.map +0 -1
- package/dist/diagrams/ds/hashmap/hashmap.d.ts.map +0 -1
- package/dist/diagrams/ds/matrix/matrix.d.ts.map +0 -1
- package/dist/diagrams/ds/queue/cqueue.d.ts.map +0 -1
- package/dist/diagrams/ds/queue/deque.d.ts.map +0 -1
- package/dist/diagrams/ds/queue/pqueue.d.ts.map +0 -1
- package/dist/diagrams/ds/queue/queue.d.ts.map +0 -1
- package/dist/diagrams/ds/queue/shared.d.ts.map +0 -1
- package/dist/diagrams/ds/stack/stack.d.ts.map +0 -1
- package/dist/diagrams/ds/struct/array.d.ts +0 -28
- package/dist/diagrams/ds/struct/array.d.ts.map +0 -1
- package/dist/diagrams/ds/struct/linkedlist.d.ts.map +0 -1
- package/dist/diagrams/ds/struct/memory.d.ts.map +0 -1
- package/dist/diagrams/ds/struct/page.d.ts.map +0 -1
- package/dist/diagrams/ds/struct/shared.d.ts +0 -9
- package/dist/diagrams/ds/struct/shared.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/avl.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/btree.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/build.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/heap.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/index.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/ir.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/layout.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/plan.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/radix.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/rbtree.d.ts.map +0 -1
- package/dist/diagrams/ds/tree/segtree.d.ts.map +0 -1
- package/dist/diagrams/ds/trie/trie.d.ts.map +0 -1
- package/dist/diagrams/ds/unionfind/unionfind.d.ts.map +0 -1
- package/dist/diagrams/er/index.d.ts.map +0 -1
- package/dist/diagrams/er/ir.d.ts.map +0 -1
- package/dist/diagrams/er/layout.d.ts.map +0 -1
- package/dist/diagrams/flowchart/index.d.ts.map +0 -1
- package/dist/diagrams/flowchart/ir.d.ts.map +0 -1
- package/dist/diagrams/flowchart/layout.d.ts +0 -5
- package/dist/diagrams/flowchart/layout.d.ts.map +0 -1
- package/dist/diagrams/gantt/index.d.ts.map +0 -1
- package/dist/diagrams/gantt/ir.d.ts.map +0 -1
- package/dist/diagrams/gantt/layout.d.ts.map +0 -1
- package/dist/diagrams/gitgraph/index.d.ts.map +0 -1
- package/dist/diagrams/gitgraph/ir.d.ts.map +0 -1
- package/dist/diagrams/gitgraph/layout.d.ts.map +0 -1
- package/dist/diagrams/journey/index.d.ts.map +0 -1
- package/dist/diagrams/journey/ir.d.ts.map +0 -1
- package/dist/diagrams/journey/layout.d.ts.map +0 -1
- package/dist/diagrams/kanban/index.d.ts.map +0 -1
- package/dist/diagrams/kanban/ir.d.ts.map +0 -1
- package/dist/diagrams/kanban/layout.d.ts.map +0 -1
- package/dist/diagrams/mindmap/index.d.ts.map +0 -1
- package/dist/diagrams/mindmap/ir.d.ts.map +0 -1
- package/dist/diagrams/mindmap/layout.d.ts.map +0 -1
- package/dist/diagrams/packet/index.d.ts.map +0 -1
- package/dist/diagrams/packet/ir.d.ts.map +0 -1
- package/dist/diagrams/packet/layout.d.ts.map +0 -1
- package/dist/diagrams/pie/index.d.ts.map +0 -1
- package/dist/diagrams/pie/ir.d.ts.map +0 -1
- package/dist/diagrams/pie/layout.d.ts.map +0 -1
- package/dist/diagrams/poster/index.d.ts.map +0 -1
- package/dist/diagrams/poster/layout.d.ts.map +0 -1
- package/dist/diagrams/quadrant/index.d.ts.map +0 -1
- package/dist/diagrams/quadrant/ir.d.ts.map +0 -1
- package/dist/diagrams/quadrant/layout.d.ts.map +0 -1
- package/dist/diagrams/radar/index.d.ts.map +0 -1
- package/dist/diagrams/radar/ir.d.ts.map +0 -1
- package/dist/diagrams/radar/layout.d.ts.map +0 -1
- package/dist/diagrams/requirement/index.d.ts.map +0 -1
- package/dist/diagrams/requirement/ir.d.ts.map +0 -1
- package/dist/diagrams/requirement/layout.d.ts.map +0 -1
- package/dist/diagrams/sankey/index.d.ts.map +0 -1
- package/dist/diagrams/sankey/ir.d.ts.map +0 -1
- package/dist/diagrams/sankey/layout.d.ts.map +0 -1
- package/dist/diagrams/sequence/index.d.ts.map +0 -1
- package/dist/diagrams/sequence/ir.d.ts.map +0 -1
- package/dist/diagrams/sequence/layout.d.ts.map +0 -1
- package/dist/diagrams/state/index.d.ts.map +0 -1
- package/dist/diagrams/state/ir.d.ts.map +0 -1
- package/dist/diagrams/state/layout.d.ts.map +0 -1
- package/dist/diagrams/timeline/index.d.ts.map +0 -1
- package/dist/diagrams/timeline/ir.d.ts.map +0 -1
- package/dist/diagrams/timeline/layout.d.ts +0 -5
- package/dist/diagrams/timeline/layout.d.ts.map +0 -1
- package/dist/diagrams/timeline/numbered.d.ts.map +0 -1
- package/dist/diagrams/timeline/roadmap.d.ts.map +0 -1
- package/dist/diagrams/timeline/serpentine.d.ts.map +0 -1
- package/dist/diagrams/timeline/shared.d.ts.map +0 -1
- package/dist/diagrams/timeline/timeline-columns.d.ts.map +0 -1
- package/dist/diagrams/timeline/vertical-spine.d.ts.map +0 -1
- package/dist/diagrams/topology/topology.d.ts.map +0 -1
- package/dist/diagrams/xychart/index.d.ts.map +0 -1
- package/dist/diagrams/xychart/ir.d.ts.map +0 -1
- package/dist/diagrams/xychart/layout.d.ts.map +0 -1
- /package/dist/diagrams/{ds → triton/ds}/tree/build.d.ts +0 -0
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
// ─── Shared base tokens (typography / spacing / edges) ──────────────────────────
|
|
2
|
+
// Palettes vary per theme; structure stays constant so every diagram responds
|
|
3
|
+
// identically to a theme switch.
|
|
4
|
+
const SANS = 'Inter, system-ui, -apple-system, sans-serif';
|
|
5
|
+
const SERIF = 'Georgia, "Times New Roman", serif';
|
|
6
|
+
const MONO = 'JetBrains Mono, Fira Code, monospace';
|
|
7
|
+
const baseTypography = {
|
|
8
|
+
fontFamily: SANS,
|
|
9
|
+
monoFamily: MONO,
|
|
10
|
+
baseFontSize: 14,
|
|
11
|
+
titleFontSize: 18,
|
|
12
|
+
smallFontSize: 11,
|
|
13
|
+
lineHeight: 1.4,
|
|
14
|
+
};
|
|
15
|
+
const baseSpacing = {
|
|
16
|
+
unit: 8,
|
|
17
|
+
nodePadding: 12,
|
|
18
|
+
nodeGap: 40,
|
|
19
|
+
diagramMargin: 24,
|
|
20
|
+
};
|
|
21
|
+
const baseEdges = {
|
|
22
|
+
strokeWidth: 1.5,
|
|
23
|
+
arrowSize: 8,
|
|
24
|
+
labelFontSize: 12,
|
|
25
|
+
curveTension: 0.4,
|
|
26
|
+
};
|
|
27
|
+
// Default panel/cell-title chrome: plain text, top-left, inside the frame.
|
|
28
|
+
const basePanel = {
|
|
29
|
+
titleAlign: 'left',
|
|
30
|
+
titlePosition: 'inside',
|
|
31
|
+
titleChrome: 'none',
|
|
32
|
+
};
|
|
33
|
+
// ─── Themes ─────────────────────────────────────────────────────────────────────
|
|
34
|
+
export const defaultTheme = {
|
|
35
|
+
name: 'default',
|
|
36
|
+
palette: {
|
|
37
|
+
primary: '#4A90D9',
|
|
38
|
+
secondary: '#7C3AED',
|
|
39
|
+
background: '#FFFFFF',
|
|
40
|
+
surface: '#F8FAFC',
|
|
41
|
+
border: '#CBD5E1',
|
|
42
|
+
text: '#1E293B',
|
|
43
|
+
textMuted: '#64748B',
|
|
44
|
+
success: '#22C55E',
|
|
45
|
+
warning: '#F59E0B',
|
|
46
|
+
error: '#EF4444',
|
|
47
|
+
},
|
|
48
|
+
typography: baseTypography,
|
|
49
|
+
spacing: baseSpacing,
|
|
50
|
+
edges: baseEdges,
|
|
51
|
+
panel: basePanel,
|
|
52
|
+
};
|
|
53
|
+
/** Boardroom / presentation aesthetic — deep navy canvas, light text. */
|
|
54
|
+
export const executiveTheme = {
|
|
55
|
+
name: 'executive',
|
|
56
|
+
palette: {
|
|
57
|
+
primary: '#3A86C8',
|
|
58
|
+
secondary: '#7986CB',
|
|
59
|
+
background: '#0D1B2A',
|
|
60
|
+
surface: '#16263B',
|
|
61
|
+
border: '#2A4060',
|
|
62
|
+
text: '#E8EEF5',
|
|
63
|
+
textMuted: '#8BAAC8',
|
|
64
|
+
success: '#2DD4BF',
|
|
65
|
+
warning: '#F4A742',
|
|
66
|
+
error: '#E05252',
|
|
67
|
+
},
|
|
68
|
+
typography: { ...baseTypography, fontFamily: SERIF },
|
|
69
|
+
spacing: baseSpacing,
|
|
70
|
+
edges: baseEdges,
|
|
71
|
+
panel: { titleAlign: 'center', titlePosition: 'on-border', titleChrome: 'box' },
|
|
72
|
+
};
|
|
73
|
+
/** Greyscale, ink-on-paper minimalism. */
|
|
74
|
+
export const minimalTheme = {
|
|
75
|
+
name: 'minimal',
|
|
76
|
+
palette: {
|
|
77
|
+
primary: '#525252',
|
|
78
|
+
secondary: '#A3A3A3',
|
|
79
|
+
background: '#FFFFFF',
|
|
80
|
+
surface: '#F5F5F5',
|
|
81
|
+
border: '#E5E5E5',
|
|
82
|
+
text: '#171717',
|
|
83
|
+
textMuted: '#737373',
|
|
84
|
+
success: '#737373',
|
|
85
|
+
warning: '#A3A3A3',
|
|
86
|
+
error: '#404040',
|
|
87
|
+
},
|
|
88
|
+
typography: baseTypography,
|
|
89
|
+
spacing: baseSpacing,
|
|
90
|
+
edges: baseEdges,
|
|
91
|
+
panel: basePanel,
|
|
92
|
+
};
|
|
93
|
+
/** Navy + amber on white — classic consulting deck. */
|
|
94
|
+
export const consultingTheme = {
|
|
95
|
+
name: 'consulting',
|
|
96
|
+
palette: {
|
|
97
|
+
primary: '#1F497D',
|
|
98
|
+
secondary: '#D97706',
|
|
99
|
+
background: '#FFFFFF',
|
|
100
|
+
surface: '#F4F6FA',
|
|
101
|
+
border: '#D6DEE8',
|
|
102
|
+
text: '#111111',
|
|
103
|
+
textMuted: '#555555',
|
|
104
|
+
success: '#1F8A5B',
|
|
105
|
+
warning: '#D97706',
|
|
106
|
+
error: '#DC2626',
|
|
107
|
+
},
|
|
108
|
+
typography: { ...baseTypography, fontFamily: SERIF },
|
|
109
|
+
spacing: baseSpacing,
|
|
110
|
+
edges: baseEdges,
|
|
111
|
+
panel: { titleAlign: 'left', titlePosition: 'on-border', titleChrome: 'none' },
|
|
112
|
+
};
|
|
113
|
+
/** Modern SaaS product — violet + blue on white. */
|
|
114
|
+
export const productTheme = {
|
|
115
|
+
name: 'product',
|
|
116
|
+
palette: {
|
|
117
|
+
primary: '#3B82F6',
|
|
118
|
+
secondary: '#8B5CF6',
|
|
119
|
+
background: '#FFFFFF',
|
|
120
|
+
surface: '#F9FAFB',
|
|
121
|
+
border: '#E5E7EB',
|
|
122
|
+
text: '#111827',
|
|
123
|
+
textMuted: '#6B7280',
|
|
124
|
+
success: '#10B981',
|
|
125
|
+
warning: '#F59E0B',
|
|
126
|
+
error: '#EF4444',
|
|
127
|
+
},
|
|
128
|
+
typography: baseTypography,
|
|
129
|
+
spacing: baseSpacing,
|
|
130
|
+
edges: baseEdges,
|
|
131
|
+
panel: { titleAlign: 'center', titlePosition: 'inside', titleChrome: 'pill' },
|
|
132
|
+
};
|
|
133
|
+
/** Release-management palette — vivid status hues. */
|
|
134
|
+
export const releaseTheme = {
|
|
135
|
+
name: 'release',
|
|
136
|
+
palette: {
|
|
137
|
+
primary: '#2563EB',
|
|
138
|
+
secondary: '#16A34A',
|
|
139
|
+
background: '#FFFFFF',
|
|
140
|
+
surface: '#F8FAFC',
|
|
141
|
+
border: '#E2E8F0',
|
|
142
|
+
text: '#111111',
|
|
143
|
+
textMuted: '#6B7280',
|
|
144
|
+
success: '#16A34A',
|
|
145
|
+
warning: '#D97706',
|
|
146
|
+
error: '#DC2626',
|
|
147
|
+
},
|
|
148
|
+
typography: baseTypography,
|
|
149
|
+
spacing: baseSpacing,
|
|
150
|
+
edges: baseEdges,
|
|
151
|
+
panel: { titleAlign: 'left', titlePosition: 'inside', titleChrome: 'box' },
|
|
152
|
+
};
|
|
153
|
+
/** Indigo accent on near-white — the AI-timeline editorial look. */
|
|
154
|
+
export const aiTimelineTheme = {
|
|
155
|
+
name: 'ai-timeline',
|
|
156
|
+
palette: {
|
|
157
|
+
primary: '#5B4FCF',
|
|
158
|
+
secondary: '#0EA5A8',
|
|
159
|
+
background: '#F8F9FF',
|
|
160
|
+
surface: '#FFFFFF',
|
|
161
|
+
border: '#C0C4DF',
|
|
162
|
+
text: '#1A1A2E',
|
|
163
|
+
textMuted: '#4A4A6A',
|
|
164
|
+
success: '#2D9E67',
|
|
165
|
+
warning: '#D97706',
|
|
166
|
+
error: '#E05B5B',
|
|
167
|
+
},
|
|
168
|
+
typography: baseTypography,
|
|
169
|
+
spacing: baseSpacing,
|
|
170
|
+
edges: baseEdges,
|
|
171
|
+
panel: { titleAlign: 'left', titlePosition: 'above', titleChrome: 'none' },
|
|
172
|
+
};
|
|
173
|
+
/** ByteByteGo-style dark infographic — navy canvas, vivid teal accent. */
|
|
174
|
+
export const byteByteGoTheme = {
|
|
175
|
+
name: 'bytebytego',
|
|
176
|
+
palette: {
|
|
177
|
+
primary: '#2DD4BF',
|
|
178
|
+
secondary: '#4D9AFF',
|
|
179
|
+
background: '#111827',
|
|
180
|
+
surface: '#1F2937',
|
|
181
|
+
border: '#374151',
|
|
182
|
+
text: '#F9FAFB',
|
|
183
|
+
textMuted: '#9CA3AF',
|
|
184
|
+
success: '#2DD4BF',
|
|
185
|
+
warning: '#FFB800',
|
|
186
|
+
error: '#FF4D6D',
|
|
187
|
+
},
|
|
188
|
+
typography: baseTypography,
|
|
189
|
+
spacing: baseSpacing,
|
|
190
|
+
edges: baseEdges,
|
|
191
|
+
panel: { titleAlign: 'center', titlePosition: 'on-border', titleChrome: 'pill' },
|
|
192
|
+
};
|
|
193
|
+
/** Gitline dark-card look — deep navy canvas, periwinkle-blue accent. */
|
|
194
|
+
export const gitlineTheme = {
|
|
195
|
+
name: 'gitline',
|
|
196
|
+
palette: {
|
|
197
|
+
primary: '#4D9AFF',
|
|
198
|
+
secondary: '#2C6EA8',
|
|
199
|
+
background: '#0A1628',
|
|
200
|
+
surface: '#132035',
|
|
201
|
+
border: '#1C3558',
|
|
202
|
+
text: '#E8EDF5',
|
|
203
|
+
textMuted: '#6B8FAF',
|
|
204
|
+
success: '#3FB950',
|
|
205
|
+
warning: '#D29922',
|
|
206
|
+
error: '#F85149',
|
|
207
|
+
},
|
|
208
|
+
typography: baseTypography,
|
|
209
|
+
spacing: baseSpacing,
|
|
210
|
+
edges: baseEdges,
|
|
211
|
+
panel: { titleAlign: 'left', titlePosition: 'on-border', titleChrome: 'box' },
|
|
212
|
+
};
|
|
213
|
+
/** "Our Timeline" infographic — white canvas, navy + amber. */
|
|
214
|
+
export const ourTimelineTheme = {
|
|
215
|
+
name: 'our-timeline',
|
|
216
|
+
palette: {
|
|
217
|
+
primary: '#1F497D',
|
|
218
|
+
secondary: '#D97706',
|
|
219
|
+
background: '#FFFFFF',
|
|
220
|
+
surface: '#F4F6FA',
|
|
221
|
+
border: '#CCCCCC',
|
|
222
|
+
text: '#111111',
|
|
223
|
+
textMuted: '#555555',
|
|
224
|
+
success: '#1F8A5B',
|
|
225
|
+
warning: '#D97706',
|
|
226
|
+
error: '#DC2626',
|
|
227
|
+
},
|
|
228
|
+
typography: baseTypography,
|
|
229
|
+
spacing: baseSpacing,
|
|
230
|
+
edges: baseEdges,
|
|
231
|
+
panel: { titleAlign: 'center', titlePosition: 'above', titleChrome: 'none' },
|
|
232
|
+
};
|
|
233
|
+
/** Subject Timeline dark theme — deep navy, vivid cyan + pink accents. */
|
|
234
|
+
export const subjectTimelineTheme = {
|
|
235
|
+
name: 'subject-timeline',
|
|
236
|
+
palette: {
|
|
237
|
+
primary: '#22D3EE',
|
|
238
|
+
secondary: '#EC4899',
|
|
239
|
+
background: '#1A1A2E',
|
|
240
|
+
surface: '#2A2A48',
|
|
241
|
+
border: '#3A3A5C',
|
|
242
|
+
text: '#E8EEF4',
|
|
243
|
+
textMuted: '#8A9BB0',
|
|
244
|
+
success: '#34D399',
|
|
245
|
+
warning: '#F59E0B',
|
|
246
|
+
error: '#EC4899',
|
|
247
|
+
},
|
|
248
|
+
typography: baseTypography,
|
|
249
|
+
spacing: baseSpacing,
|
|
250
|
+
edges: baseEdges,
|
|
251
|
+
panel: { titleAlign: 'center', titlePosition: 'on-border', titleChrome: 'pill' },
|
|
252
|
+
};
|
|
253
|
+
/** Showcase Tier-3 aesthetic — deep navy canvas, electric-cyan accent. */
|
|
254
|
+
export const showcaseTheme = {
|
|
255
|
+
name: 'showcase',
|
|
256
|
+
palette: {
|
|
257
|
+
primary: '#00D4FF',
|
|
258
|
+
secondary: '#9B8FDF',
|
|
259
|
+
background: '#0D1B2A',
|
|
260
|
+
surface: '#132035',
|
|
261
|
+
border: '#1E3A5A',
|
|
262
|
+
text: '#E8EEF5',
|
|
263
|
+
textMuted: '#7AACCC',
|
|
264
|
+
success: '#00CC88',
|
|
265
|
+
warning: '#FFB800',
|
|
266
|
+
error: '#FF4D6D',
|
|
267
|
+
},
|
|
268
|
+
typography: baseTypography,
|
|
269
|
+
spacing: baseSpacing,
|
|
270
|
+
edges: baseEdges,
|
|
271
|
+
panel: { titleAlign: 'center', titlePosition: 'on-border', titleChrome: 'box' },
|
|
272
|
+
};
|
|
273
|
+
// ─── Registry ─────────────────────────────────────────────────────────────────
|
|
274
|
+
/** Named theme presets. Selected via a diagram's `theme:` / metadata.theme. */
|
|
275
|
+
export const THEMES = {
|
|
276
|
+
default: defaultTheme,
|
|
277
|
+
executive: executiveTheme,
|
|
278
|
+
minimal: minimalTheme,
|
|
279
|
+
consulting: consultingTheme,
|
|
280
|
+
product: productTheme,
|
|
281
|
+
release: releaseTheme,
|
|
282
|
+
'ai-timeline': aiTimelineTheme,
|
|
283
|
+
bytebytego: byteByteGoTheme,
|
|
284
|
+
gitline: gitlineTheme,
|
|
285
|
+
'our-timeline': ourTimelineTheme,
|
|
286
|
+
'subject-timeline': subjectTimelineTheme,
|
|
287
|
+
showcase: showcaseTheme,
|
|
288
|
+
};
|
|
289
|
+
/** Ordered names of every built-in theme preset. */
|
|
290
|
+
export const themePresetNames = Object.freeze(Object.keys(THEMES));
|
|
291
|
+
/** Resolve a theme preset by name, falling back to the default theme. */
|
|
292
|
+
export function getThemePreset(name) {
|
|
293
|
+
return (name !== undefined && THEMES[name]) || defaultTheme;
|
|
294
|
+
}
|
|
295
|
+
//# sourceMappingURL=preset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preset.js","sourceRoot":"","sources":["../../../../src/theme/preset.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Merge a partial ThemeInput over a base ResolvedTheme.
|
|
3
|
+
* Only present fields override the base — absent fields keep the base value.
|
|
4
|
+
*/
|
|
5
|
+
export function resolveTheme(input, base) {
|
|
6
|
+
return {
|
|
7
|
+
name: input.name ?? base.name,
|
|
8
|
+
palette: { ...base.palette, ...input.palette },
|
|
9
|
+
typography: { ...base.typography, ...input.typography },
|
|
10
|
+
spacing: { ...base.spacing, ...input.spacing },
|
|
11
|
+
edges: { ...base.edges, ...input.edges },
|
|
12
|
+
panel: { ...base.panel, ...input.panel },
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../../src/theme/resolver.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAAiB,EAAE,IAAmB;IACjE,OAAO;QACL,IAAI,EAAQ,KAAK,CAAC,IAAI,IAAU,IAAI,CAAC,IAAI;QACzC,OAAO,EAAK,EAAE,GAAG,IAAI,CAAC,OAAO,EAAK,GAAG,KAAK,CAAC,OAAO,EAAE;QACpD,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE;QACvD,OAAO,EAAK,EAAE,GAAG,IAAI,CAAC,OAAO,EAAK,GAAG,KAAK,CAAC,OAAO,EAAE;QACpD,KAAK,EAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAO,GAAG,KAAK,CAAC,KAAK,EAAE;QAClD,KAAK,EAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAO,GAAG,KAAK,CAAC,KAAK,EAAE;KACnD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file time/dates.ts — Deterministic date arithmetic.
|
|
3
|
+
*
|
|
4
|
+
* General utility for any time-based diagram (timeline, gantt, roadmap).
|
|
5
|
+
* All functions are pure: no system clock, no locale. The day-ordinal
|
|
6
|
+
* representation (integer days since 2000-01-01 = day 0) underpins every
|
|
7
|
+
* time→coordinate calculation.
|
|
8
|
+
*
|
|
9
|
+
* Ported from packages/core/src/layout/dates.ts.
|
|
10
|
+
*/
|
|
11
|
+
// ─── Calendar helpers ──────────────────────────────────────────────────────────
|
|
12
|
+
export function isLeapYear(year) {
|
|
13
|
+
return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
|
|
14
|
+
}
|
|
15
|
+
export function daysInMonth(year, month) {
|
|
16
|
+
const table = [31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
|
17
|
+
return table[month - 1] ?? 30;
|
|
18
|
+
}
|
|
19
|
+
function daysInYear(year) {
|
|
20
|
+
return isLeapYear(year) ? 366 : 365;
|
|
21
|
+
}
|
|
22
|
+
// ─── Day ordinal (days since 2000-01-01 = 0) ───────────────────────────────────
|
|
23
|
+
export function dateToOrdinal(year, month, day) {
|
|
24
|
+
let ord = 0;
|
|
25
|
+
if (year >= 2000) {
|
|
26
|
+
for (let y = 2000; y < year; y++)
|
|
27
|
+
ord += daysInYear(y);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
for (let y = year; y < 2000; y++)
|
|
31
|
+
ord -= daysInYear(y);
|
|
32
|
+
}
|
|
33
|
+
for (let m = 1; m < month; m++)
|
|
34
|
+
ord += daysInMonth(year, m);
|
|
35
|
+
ord += day - 1;
|
|
36
|
+
return ord;
|
|
37
|
+
}
|
|
38
|
+
export function ordinalToDate(ord) {
|
|
39
|
+
let year = 2000;
|
|
40
|
+
let remaining = ord;
|
|
41
|
+
if (remaining >= 0) {
|
|
42
|
+
while (remaining >= daysInYear(year)) {
|
|
43
|
+
remaining -= daysInYear(year);
|
|
44
|
+
year += 1;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
while (remaining < 0) {
|
|
49
|
+
year -= 1;
|
|
50
|
+
remaining += daysInYear(year);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
let month = 1;
|
|
54
|
+
while (month <= 12 && remaining >= daysInMonth(year, month)) {
|
|
55
|
+
remaining -= daysInMonth(year, month);
|
|
56
|
+
month += 1;
|
|
57
|
+
}
|
|
58
|
+
return [year, month, remaining + 1];
|
|
59
|
+
}
|
|
60
|
+
// ─── IRDate parsing ────────────────────────────────────────────────────────────
|
|
61
|
+
/**
|
|
62
|
+
* Parse an IRDate into a structured form.
|
|
63
|
+
* Supports: ISO day (2026-06-09), ISO month (2026-06), year (2026),
|
|
64
|
+
* quarter (2026-Q2), half (2026-H1).
|
|
65
|
+
*/
|
|
66
|
+
export function parseIRDate(s) {
|
|
67
|
+
const dayM = /^(\d{4})-(\d{2})-(\d{2})$/.exec(s);
|
|
68
|
+
if (dayM)
|
|
69
|
+
return { precision: 'day', year: +dayM[1], month: +dayM[2], day: +dayM[3] };
|
|
70
|
+
const monthM = /^(\d{4})-(\d{2})$/.exec(s);
|
|
71
|
+
if (monthM)
|
|
72
|
+
return { precision: 'month', year: +monthM[1], month: +monthM[2] };
|
|
73
|
+
const quarterM = /^(\d{4})-Q([1-4])$/.exec(s);
|
|
74
|
+
if (quarterM)
|
|
75
|
+
return { precision: 'quarter', year: +quarterM[1], quarter: +quarterM[2] };
|
|
76
|
+
const halfM = /^(\d{4})-H([12])$/.exec(s);
|
|
77
|
+
if (halfM)
|
|
78
|
+
return { precision: 'half', year: +halfM[1], half: +halfM[2] };
|
|
79
|
+
const yearM = /^(\d{4})$/.exec(s);
|
|
80
|
+
if (yearM)
|
|
81
|
+
return { precision: 'year', year: +yearM[1] };
|
|
82
|
+
throw new Error(`Unsupported IRDate format: "${s}"`);
|
|
83
|
+
}
|
|
84
|
+
// ─── Date coercion ─────────────────────────────────────────────────────────────
|
|
85
|
+
/** Coerce a parsed date to its period-start day (left-edge rule). */
|
|
86
|
+
export function coerceLeft(parsed) {
|
|
87
|
+
switch (parsed.precision) {
|
|
88
|
+
case 'day': return [parsed.year, parsed.month, parsed.day];
|
|
89
|
+
case 'month': return [parsed.year, parsed.month, 1];
|
|
90
|
+
case 'year': return [parsed.year, 1, 1];
|
|
91
|
+
case 'quarter': return [parsed.year, (parsed.quarter - 1) * 3 + 1, 1];
|
|
92
|
+
case 'half': return [parsed.year, parsed.half === 1 ? 1 : 7, 1];
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/** Coerce a parsed date to its period-end day (right-edge rule). */
|
|
96
|
+
export function coerceRight(parsed) {
|
|
97
|
+
switch (parsed.precision) {
|
|
98
|
+
case 'day': return [parsed.year, parsed.month, parsed.day];
|
|
99
|
+
case 'month': return [parsed.year, parsed.month, daysInMonth(parsed.year, parsed.month)];
|
|
100
|
+
case 'year': return [parsed.year, 12, 31];
|
|
101
|
+
case 'quarter': {
|
|
102
|
+
const lastMonth = parsed.quarter * 3;
|
|
103
|
+
return [parsed.year, lastMonth, daysInMonth(parsed.year, lastMonth)];
|
|
104
|
+
}
|
|
105
|
+
case 'half': {
|
|
106
|
+
const lastMonth = parsed.half === 1 ? 6 : 12;
|
|
107
|
+
return [parsed.year, lastMonth, daysInMonth(parsed.year, lastMonth)];
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/** Parse an IRDate and coerce it to its period-start ordinal. */
|
|
112
|
+
export function parseAndCoerceLeft(s) {
|
|
113
|
+
const [y, m, d] = coerceLeft(parseIRDate(s));
|
|
114
|
+
return dateToOrdinal(y, m, d);
|
|
115
|
+
}
|
|
116
|
+
/** Parse an IRDate and coerce it to its period-end ordinal. */
|
|
117
|
+
export function parseAndCoerceRight(s) {
|
|
118
|
+
const [y, m, d] = coerceRight(parseIRDate(s));
|
|
119
|
+
return dateToOrdinal(y, m, d);
|
|
120
|
+
}
|
|
121
|
+
// ─── Axis unit inference ───────────────────────────────────────────────────────
|
|
122
|
+
/** Infer the axis unit from the span in days (first-match rule). */
|
|
123
|
+
export function inferAxisUnit(spanDays) {
|
|
124
|
+
if (spanDays <= 14)
|
|
125
|
+
return 'day';
|
|
126
|
+
if (spanDays <= 91)
|
|
127
|
+
return 'week';
|
|
128
|
+
if (spanDays <= 548)
|
|
129
|
+
return 'month';
|
|
130
|
+
if (spanDays <= 1461)
|
|
131
|
+
return 'quarter';
|
|
132
|
+
if (spanDays <= 2922)
|
|
133
|
+
return 'half';
|
|
134
|
+
return 'year';
|
|
135
|
+
}
|
|
136
|
+
/** Advance a (year, month, day) by one axis-unit period; returns next period start. */
|
|
137
|
+
function advancePeriod(year, month, day, unit) {
|
|
138
|
+
switch (unit) {
|
|
139
|
+
case 'day': return ordinalToDate(dateToOrdinal(year, month, day) + 1);
|
|
140
|
+
case 'week': return ordinalToDate(dateToOrdinal(year, month, day) + 7);
|
|
141
|
+
case 'month': {
|
|
142
|
+
let m = month + 1, y = year;
|
|
143
|
+
if (m > 12) {
|
|
144
|
+
m = 1;
|
|
145
|
+
y += 1;
|
|
146
|
+
}
|
|
147
|
+
return [y, m, 1];
|
|
148
|
+
}
|
|
149
|
+
case 'quarter': {
|
|
150
|
+
let m = month + 3, y = year;
|
|
151
|
+
if (m > 12) {
|
|
152
|
+
m = m - 12;
|
|
153
|
+
y += 1;
|
|
154
|
+
}
|
|
155
|
+
return [y, m, 1];
|
|
156
|
+
}
|
|
157
|
+
case 'half': {
|
|
158
|
+
let m = month + 6, y = year;
|
|
159
|
+
if (m > 12) {
|
|
160
|
+
m = m - 12;
|
|
161
|
+
y += 1;
|
|
162
|
+
}
|
|
163
|
+
return [y, m, 1];
|
|
164
|
+
}
|
|
165
|
+
case 'year': return [year + 1, 1, 1];
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
/** Snap a date to the start of its containing axis-unit period. */
|
|
169
|
+
function snapToPeriodStart(year, month, _day, unit) {
|
|
170
|
+
switch (unit) {
|
|
171
|
+
case 'day': return [year, month, _day];
|
|
172
|
+
case 'week': {
|
|
173
|
+
const o = dateToOrdinal(year, month, _day);
|
|
174
|
+
const jsEpoch = 946684800000; // 2000-01-01 UTC ms
|
|
175
|
+
const ms = jsEpoch + o * 86400000;
|
|
176
|
+
const jsDay = new Date(ms).getUTCDay(); // 0=Sun..6=Sat
|
|
177
|
+
const daysToMonday = jsDay === 0 ? 6 : jsDay - 1;
|
|
178
|
+
return ordinalToDate(o - daysToMonday);
|
|
179
|
+
}
|
|
180
|
+
case 'month': return [year, month, 1];
|
|
181
|
+
case 'quarter': {
|
|
182
|
+
const q = Math.floor((month - 1) / 3);
|
|
183
|
+
return [year, q * 3 + 1, 1];
|
|
184
|
+
}
|
|
185
|
+
case 'half': return [year, month <= 6 ? 1 : 7, 1];
|
|
186
|
+
case 'year': return [year, 1, 1];
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
/** Enumerate all period-start tick dates within [tsOrd, teOrd] (inclusive). */
|
|
190
|
+
export function enumTicks(tsOrd, teOrd, unit) {
|
|
191
|
+
const ticks = [];
|
|
192
|
+
const [sy, sm, sd] = ordinalToDate(tsOrd);
|
|
193
|
+
let [cy, cm, cd] = snapToPeriodStart(sy, sm, sd, unit);
|
|
194
|
+
let curOrd = dateToOrdinal(cy, cm, cd);
|
|
195
|
+
if (curOrd < tsOrd) {
|
|
196
|
+
[cy, cm, cd] = advancePeriod(cy, cm, cd, unit);
|
|
197
|
+
curOrd = dateToOrdinal(cy, cm, cd);
|
|
198
|
+
}
|
|
199
|
+
let safety = 0;
|
|
200
|
+
while (curOrd <= teOrd && safety < 2000) {
|
|
201
|
+
ticks.push({ year: cy, month: cm, day: cd, ordinal: curOrd });
|
|
202
|
+
[cy, cm, cd] = advancePeriod(cy, cm, cd, unit);
|
|
203
|
+
curOrd = dateToOrdinal(cy, cm, cd);
|
|
204
|
+
safety += 1;
|
|
205
|
+
}
|
|
206
|
+
return ticks;
|
|
207
|
+
}
|
|
208
|
+
// ─── Date label formatting ─────────────────────────────────────────────────────
|
|
209
|
+
const MONTH_ABBR = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
210
|
+
const MONTH_FULL = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
|
|
211
|
+
function ordinalSuffix(n) {
|
|
212
|
+
const abs = Math.abs(n);
|
|
213
|
+
const mod100 = abs % 100;
|
|
214
|
+
if (mod100 >= 11 && mod100 <= 13)
|
|
215
|
+
return `${n}th`;
|
|
216
|
+
switch (abs % 10) {
|
|
217
|
+
case 1: return `${n}st`;
|
|
218
|
+
case 2: return `${n}nd`;
|
|
219
|
+
case 3: return `${n}rd`;
|
|
220
|
+
default: return `${n}th`;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/** Format an axis tick label according to the axis unit. */
|
|
224
|
+
export function formatTickLabel(tick, unit, tickIndex) {
|
|
225
|
+
switch (unit) {
|
|
226
|
+
case 'day':
|
|
227
|
+
if (tickIndex % 7 === 0)
|
|
228
|
+
return MONTH_ABBR[tick.month - 1] ?? '';
|
|
229
|
+
return String(tick.day);
|
|
230
|
+
case 'week':
|
|
231
|
+
if (tickIndex % 4 === 0)
|
|
232
|
+
return MONTH_ABBR[tick.month - 1] ?? '';
|
|
233
|
+
return String(tick.day);
|
|
234
|
+
case 'month':
|
|
235
|
+
if (tick.month === 1 || tickIndex === 0)
|
|
236
|
+
return String(tick.year);
|
|
237
|
+
return MONTH_ABBR[tick.month - 1] ?? '';
|
|
238
|
+
case 'quarter': {
|
|
239
|
+
const q = Math.ceil(tick.month / 3);
|
|
240
|
+
if (q === 1 || tickIndex === 0)
|
|
241
|
+
return `Q${q} ${tick.year}`;
|
|
242
|
+
return `Q${q}`;
|
|
243
|
+
}
|
|
244
|
+
case 'half': {
|
|
245
|
+
const h = tick.month <= 6 ? 1 : 2;
|
|
246
|
+
if (h === 1 || tickIndex === 0)
|
|
247
|
+
return `H${h} ${tick.year}`;
|
|
248
|
+
return `H${h}`;
|
|
249
|
+
}
|
|
250
|
+
case 'year':
|
|
251
|
+
return String(tick.year);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
/** Format a concrete day date as the milestone label style: "15th May 2021". */
|
|
255
|
+
export function formatMilestoneDate(year, month, day) {
|
|
256
|
+
return `${ordinalSuffix(day)} ${MONTH_FULL[month - 1] ?? ''} ${year}`;
|
|
257
|
+
}
|
|
258
|
+
// ─── Entry-date convenience helpers (shared by timeline layouts) ────────────────
|
|
259
|
+
/** Day-ordinal of a date's period START (e.g. "2026-Q2" → 1 Apr 2026). 0 on parse error. */
|
|
260
|
+
export function startOrdinal(date) {
|
|
261
|
+
try {
|
|
262
|
+
const [y, m, d] = coerceLeft(parseIRDate(date));
|
|
263
|
+
return dateToOrdinal(y, m, d);
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
return 0;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
/** Day-ordinal of a date's period END (e.g. "2026-Q2" → 1 Jul 2026). 0 on parse error. */
|
|
270
|
+
export function endOrdinal(date) {
|
|
271
|
+
try {
|
|
272
|
+
const [y, m, d] = coerceRight(parseIRDate(date));
|
|
273
|
+
return dateToOrdinal(y, m, d);
|
|
274
|
+
}
|
|
275
|
+
catch {
|
|
276
|
+
return 0;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Precision-aware human label for an IR date. Consolidates the per-layout
|
|
281
|
+
* formatters: months → "Jun 2026", quarters → "Q2 2026", halves → "H1 2026",
|
|
282
|
+
* years → "2026"; days depend on {@link DateLabelStyle}.
|
|
283
|
+
*/
|
|
284
|
+
export function formatDate(date, style = 'axis') {
|
|
285
|
+
try {
|
|
286
|
+
const p = parseIRDate(date);
|
|
287
|
+
switch (p.precision) {
|
|
288
|
+
case 'day':
|
|
289
|
+
return style === 'full'
|
|
290
|
+
? formatMilestoneDate(p.year, p.month ?? 1, p.day ?? 1)
|
|
291
|
+
: `${MONTH_ABBR[(p.month ?? 1) - 1] ?? ''} ${p.day ?? 1}`;
|
|
292
|
+
case 'month': return `${MONTH_ABBR[(p.month ?? 1) - 1] ?? ''} ${p.year}`;
|
|
293
|
+
case 'quarter': return `Q${p.quarter ?? ''} ${p.year}`;
|
|
294
|
+
case 'half': return `H${p.half ?? ''} ${p.year}`;
|
|
295
|
+
case 'year': return String(p.year);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
catch { /* fall through to raw */ }
|
|
299
|
+
return date;
|
|
300
|
+
}
|
|
301
|
+
//# sourceMappingURL=dates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dates.js","sourceRoot":"","sources":["../../../../src/time/dates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file util/round.ts — Deterministic round-half-up helpers.
|
|
3
|
+
*
|
|
4
|
+
* Layout coordinates round half up (toward +∞) so output is locale- and
|
|
5
|
+
* platform-stable. Shared by every layout engine; never use Math.round (which
|
|
6
|
+
* rounds half to even in some runtimes) for scene geometry.
|
|
7
|
+
*/
|
|
8
|
+
/** Round half up to the nearest integer. */
|
|
9
|
+
export function rhuInt(v) {
|
|
10
|
+
return Math.floor(v + 0.5);
|
|
11
|
+
}
|
|
12
|
+
/** Round half up to `decimals` places (default 2) — for sub-pixel path data. */
|
|
13
|
+
export function rhu(v, decimals = 2) {
|
|
14
|
+
const f = 10 ** decimals;
|
|
15
|
+
return Math.floor(v * f + 0.5) / f;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=round.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"round.js","sourceRoot":"","sources":["../../../../src/util/round.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,4CAA4C;AAC5C,MAAM,UAAU,MAAM,CAAC,CAAS;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,QAAQ,GAAG,CAAC;IACzC,MAAM,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC;IACzB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC"}
|