@cardenelabs/cdl 0.15.0 → 0.17.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/CHANGELOG.md +75 -1
- package/dist/index.cjs +737 -185
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +227 -9
- package/dist/index.d.ts +227 -9
- package/dist/index.js +729 -186
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +458 -60
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +1 -1
- package/dist/react.d.ts +1 -1
- package/dist/react.js +458 -60
- package/dist/react.js.map +1 -1
- package/dist/{render-BS1E6Mlo.d.cts → render-Dc5Pdf7e.d.cts} +175 -4
- package/dist/{render-BS1E6Mlo.d.ts → render-Dc5Pdf7e.d.ts} +175 -4
- package/package.json +1 -1
- package/src/builder.ts +19 -0
- package/src/index.ts +21 -1
- package/src/kinds/card.tsx +15 -1
- package/src/kinds/sequence-board-metrics.ts +118 -0
- package/src/kinds/sequence-board.tsx +289 -0
- package/src/kinds/storage.tsx +137 -11
- package/src/layout/nodes.ts +32 -6
- package/src/layout/spec.ts +14 -1
- package/src/layout/tokens.ts +3 -0
- package/src/presets.ts +575 -161
- package/src/render/edge-head.ts +72 -8
- package/src/render/edges.tsx +30 -9
- package/src/render/nodes.tsx +4 -0
- package/src/render/stage.tsx +40 -29
- package/src/render/template-fields.ts +6 -2
- package/src/types.ts +156 -3
- package/src/visual-validate.ts +29 -2
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as CdlDiagram, S as Signal, a as CdlInput, b as CdlLane, c as CdlNode, T as Tone, d as Side, E as EdgeStyle, e as EdgeHead, f as
|
|
2
|
-
export {
|
|
1
|
+
import { C as CdlDiagram, S as Signal, a as CdlInput, b as CdlLane, c as CdlNode, T as Tone, d as Side, E as EdgeStyle, e as EdgeHead, f as EdgeHeadFill, g as CdlState, h as CdlEventTarget, i as Computed, j as CdlDerivedValue, k as CdlScrollTrigger, L as LaidDiagram, l as CdlDiagramViewProps, m as LaidEdge, n as LaidNode, o as CdlEdge, B as BBox, R as RowMark, N as NodeKind, J as JourneyEmotion, Q as QuadrantKey } from './render-Dc5Pdf7e.cjs';
|
|
2
|
+
export { p as CdlDiagramView, q as CdlEventBinding, r as CdlEventKind, s as CdlFormula, t as CdlPhase, u as EDGE_HEADS, v as EDGE_HEAD_DEFAULT, w as EDGE_HEAD_FILLS, x as EDGE_HEAD_FILL_DEFAULT, y as EDGE_STYLES, I as InteractiveHandlerMap, z as InteractiveSignalsAccessor, A as LaidLane, D as NODE_KINDS, F as ScrollProgressHandle, G as TONES, H as computeEventBindingKey, K as computeFormulaKey, M as computeInputSignalKey, O as computeScrollTriggerKey, P as computed, U as createInteractiveSignalsAccessor, V as createScrollProgressHandle, W as createScrollProgressSignals, X as hasInteractivePrimitives, Y as sequenceBoardMetrics, Z as sequenceStepId, _ as signal } from './render-Dc5Pdf7e.cjs';
|
|
3
3
|
import { JSX } from 'react';
|
|
4
4
|
|
|
5
5
|
declare function effect(fn: () => void | (() => void)): () => void;
|
|
@@ -1032,6 +1032,12 @@ type DiagramBuilder = {
|
|
|
1032
1032
|
style?: EdgeStyle;
|
|
1033
1033
|
/** 端の形 (#560)、 既定は塗った三角。 線の種類とは別の軸 */
|
|
1034
1034
|
head?: EdgeHead;
|
|
1035
|
+
/** 端の印の塗り (#578)。 書かなければ形ごとの既定 */
|
|
1036
|
+
headFill?: EdgeHeadFill;
|
|
1037
|
+
/** 出どころ側の端の印 (#578)。 書かなければ何も描かない */
|
|
1038
|
+
tailHead?: EdgeHead;
|
|
1039
|
+
/** 出どころ側の印の塗り (#578) */
|
|
1040
|
+
tailHeadFill?: EdgeHeadFill;
|
|
1035
1041
|
/** FSM guard 条件、 text-dsl v0.5 inline option (`guard: "..."`) を CdlEdge.guard へ透過 */
|
|
1036
1042
|
guard?: string;
|
|
1037
1043
|
/** ER 関係 cardinality、 text-dsl v0.5 inline option (`cardinality: "1:N"`) を CdlEdge.cardinality へ透過 */
|
|
@@ -1118,6 +1124,12 @@ type DiagramBuilder = {
|
|
|
1118
1124
|
style?: EdgeStyle;
|
|
1119
1125
|
/** 端の形 (#560)、 既定は塗った三角 */
|
|
1120
1126
|
head?: EdgeHead;
|
|
1127
|
+
/** 端の印の塗り (#578)。 書かなければ形ごとの既定 */
|
|
1128
|
+
headFill?: EdgeHeadFill;
|
|
1129
|
+
/** 出どころ側の端の印 (#578)。 書かなければ何も描かない */
|
|
1130
|
+
tailHead?: EdgeHead;
|
|
1131
|
+
/** 出どころ側の印の塗り (#578) */
|
|
1132
|
+
tailHeadFill?: EdgeHeadFill;
|
|
1121
1133
|
guard?: string;
|
|
1122
1134
|
cardinality?: string;
|
|
1123
1135
|
labelOffsetX?: number;
|
|
@@ -2762,6 +2774,24 @@ type FlowBuilder = {
|
|
|
2762
2774
|
* .build();
|
|
2763
2775
|
*/
|
|
2764
2776
|
declare function flow(preset: FlowPreset): FlowBuilder;
|
|
2777
|
+
/**
|
|
2778
|
+
* 言づての種類 (#578)。 **形で 3 つを分ける**。
|
|
2779
|
+
*
|
|
2780
|
+
* | 種類 | 線 | 印 | 意味 |
|
|
2781
|
+
* |---|---|---|---|
|
|
2782
|
+
* | `call` | 実線 | 塗った矢 | 相手にやらせて待つ |
|
|
2783
|
+
* | `return` | 破線 | 開いた矢 | 呼ばれた側から戻る。 新しい仕事ではないので線を切る |
|
|
2784
|
+
* | `fire` | 実線 | 開いた矢 | 返事を待たない。 実線だが矢を閉じないことで待たないと示す |
|
|
2785
|
+
*
|
|
2786
|
+
* 印の形はクラス図の「継ぐ」 と「結ぶ」 で使った形そのもの。 **意味は違う** (あちらは親を
|
|
2787
|
+
* 指す / こちらは返事を待つか) が、形の並びは共有できる。
|
|
2788
|
+
*/
|
|
2789
|
+
type SequenceMessageKind = "call" | "return" | "fire";
|
|
2790
|
+
/** 言づての種類ごとの見た目 (#578)。 種類を足すと 3 つとも要る */
|
|
2791
|
+
declare const SEQUENCE_MESSAGE_LOOK: Record<SequenceMessageKind, {
|
|
2792
|
+
style: EdgeStyle;
|
|
2793
|
+
head: EdgeHead;
|
|
2794
|
+
}>;
|
|
2765
2795
|
type SequenceStep = {
|
|
2766
2796
|
/** from actor id (or label slug) */
|
|
2767
2797
|
from: string;
|
|
@@ -2773,12 +2803,26 @@ type SequenceStep = {
|
|
|
2773
2803
|
sub?: string;
|
|
2774
2804
|
tone?: Tone;
|
|
2775
2805
|
style?: EdgeStyle;
|
|
2806
|
+
/**
|
|
2807
|
+
* 言づての種類 (#578)。 書くと線と印がまとめて決まる (`SEQUENCE_MESSAGE_LOOK`)。
|
|
2808
|
+
*
|
|
2809
|
+
* `style` / `head` を個別に書けばそちらが勝つ。
|
|
2810
|
+
*/
|
|
2811
|
+
kind?: SequenceMessageKind;
|
|
2812
|
+
/** 端の形 (#578)。 書かなければ `kind` から決まり、それも無ければ既定の塗った三角 */
|
|
2813
|
+
head?: EdgeHead;
|
|
2814
|
+
};
|
|
2815
|
+
/** 参加者 1 人。 名前だけの文字列でも書ける (#578) */
|
|
2816
|
+
type SequenceActor = {
|
|
2817
|
+
name: string;
|
|
2818
|
+
/** 名前の下に置く日本語の呼び名 (例 "画面" / "受付" / "台帳") */
|
|
2819
|
+
subtitle?: string;
|
|
2776
2820
|
};
|
|
2777
2821
|
type SequencePreset = {
|
|
2778
2822
|
id: string;
|
|
2779
2823
|
topic: string;
|
|
2780
|
-
/** actor label の配列 (lifeline、 column 単位) */
|
|
2781
|
-
actors: string[];
|
|
2824
|
+
/** actor label の配列 (lifeline、 column 単位)。 呼び名を添えるなら物で書く (#578) */
|
|
2825
|
+
actors: readonly (string | SequenceActor)[];
|
|
2782
2826
|
/** actor の lane width (default 220) */
|
|
2783
2827
|
laneWidth?: number;
|
|
2784
2828
|
/** lane gap (default 60) */
|
|
@@ -2787,6 +2831,17 @@ type SequencePreset = {
|
|
|
2787
2831
|
defaultTone?: Tone;
|
|
2788
2832
|
/** default edge style (default solid) */
|
|
2789
2833
|
defaultStyle?: EdgeStyle;
|
|
2834
|
+
/**
|
|
2835
|
+
* 動いている間の帯 (#578)。 段の番号で区間を書く。
|
|
2836
|
+
*
|
|
2837
|
+
* 書かなければ面ごとに「最初に関わった段から最後まで」 の 1 本。 途中で手が空く面を分けたい
|
|
2838
|
+
* 図だけ書く = どこで手が空くかは言づての並びからは決まらない
|
|
2839
|
+
*/
|
|
2840
|
+
bands?: readonly {
|
|
2841
|
+
actor: string;
|
|
2842
|
+
from: number;
|
|
2843
|
+
to: number;
|
|
2844
|
+
}[];
|
|
2790
2845
|
};
|
|
2791
2846
|
type SequenceBuilder = {
|
|
2792
2847
|
/** message step を時系列順に追加、 from → to の水平 edge を引く */
|
|
@@ -2865,21 +2920,79 @@ type TopologyBuilder = {
|
|
|
2865
2920
|
* .build();
|
|
2866
2921
|
*/
|
|
2867
2922
|
declare function topology(preset: TopologyPreset): TopologyBuilder;
|
|
2923
|
+
/**
|
|
2924
|
+
* 表の列 1 つ (#578)。 行頭の印の 2 軸を、ER の意味に割り当てる。
|
|
2925
|
+
*
|
|
2926
|
+
* | 印 | 意味 |
|
|
2927
|
+
* |---|---|
|
|
2928
|
+
* | 四角を塗る | 空にできないただの列 |
|
|
2929
|
+
* | 四角の外枠だけ | 空を許す列 |
|
|
2930
|
+
* | 山形を塗る | 外を指す列で、相手が必ずいる |
|
|
2931
|
+
* | 山形の外枠だけ | 外を指すが、指さないこともある |
|
|
2932
|
+
*
|
|
2933
|
+
* 主キーは **名前の下線**。 印の 2 軸は埋まっているので、3 つ目の軸を印に足すと 4 通りが
|
|
2934
|
+
* 8 通りになって見分けが付かなくなる。 下線は別の段に載るので、外部キーの山形と重ねられる。
|
|
2935
|
+
*/
|
|
2936
|
+
type ErColumn = {
|
|
2937
|
+
name: string;
|
|
2938
|
+
/** 型 (例 "bigint" / "timestamptz")。 箱の右端に薄く右揃えで出る */
|
|
2939
|
+
type: string;
|
|
2940
|
+
/** 外を指す列か (外部キー)。 書かなければただの値 */
|
|
2941
|
+
fk?: boolean;
|
|
2942
|
+
/** 空を許すか。 書かなければ空にできない */
|
|
2943
|
+
optional?: boolean;
|
|
2944
|
+
/** 主キーの一部か。 書くと名前に下線が付き、**鍵の群**として上にまとめられる */
|
|
2945
|
+
pk?: boolean;
|
|
2946
|
+
};
|
|
2868
2947
|
type ErEntity = {
|
|
2869
2948
|
id: string;
|
|
2870
2949
|
/** entity 名 (例 "User") */
|
|
2871
2950
|
title: string;
|
|
2872
|
-
/**
|
|
2873
|
-
|
|
2951
|
+
/** 表の名前の下に置く日本語の呼び名 (#578)。 `columns` を書いた時だけ出る */
|
|
2952
|
+
subtitle?: string;
|
|
2953
|
+
/**
|
|
2954
|
+
* 列定義 (例 "id: PK", "email: string", "userId: FK")。
|
|
2955
|
+
*
|
|
2956
|
+
* **`columns` を書いた実体では読まない**。 印を付けるには列の意味が要り、字からは導けない
|
|
2957
|
+
* (`"userId: FK"` の `FK` は型の欄に書かれた語であって、外を指すという宣言ではない)。
|
|
2958
|
+
*/
|
|
2959
|
+
rows?: string[];
|
|
2960
|
+
/** 列を印つきで書く形 (#578)。 書くと設計の意匠 (行頭の印 + 右端の薄い型) で出る */
|
|
2961
|
+
columns?: ErColumn[];
|
|
2874
2962
|
};
|
|
2875
2963
|
type ErRelationCardinality = "1:1" | "1:N" | "N:1" | "N:M" | "0..1" | "1..*";
|
|
2964
|
+
/**
|
|
2965
|
+
* 個数の書き方から **両端の印** を決める表 (#578)。
|
|
2966
|
+
*
|
|
2967
|
+
* 出どころ側と行き先側で別の印が立つ。 `1:N` なら出どころが「ちょうど 1 つ」、行き先が
|
|
2968
|
+
* 「少なくとも 1 つ」。 端ごとに書きたい図は `tailHead` / `head` で個別に上書きする。
|
|
2969
|
+
*/
|
|
2970
|
+
declare const ER_CARDINALITY_HEAD: Record<ErRelationCardinality, {
|
|
2971
|
+
tail: EdgeHead;
|
|
2972
|
+
head: EdgeHead;
|
|
2973
|
+
}>;
|
|
2876
2974
|
type ErRelation = {
|
|
2877
2975
|
from: string;
|
|
2878
2976
|
to: string;
|
|
2879
|
-
|
|
2977
|
+
/**
|
|
2978
|
+
* 個数。 書かなければ端の印を `tailHead` / `head` で個別に書く。
|
|
2979
|
+
*
|
|
2980
|
+
* 書いた場合は端の印の既定になり、`label` と併せて書いた時だけ字としても出る。
|
|
2981
|
+
*/
|
|
2982
|
+
cardinality?: ErRelationCardinality;
|
|
2880
2983
|
/** 関係名 (例 "places", "belongs_to") */
|
|
2881
2984
|
label?: string;
|
|
2882
2985
|
tone?: Tone;
|
|
2986
|
+
/** 出どころ側の端の印 (#578)。 書かなければ `cardinality` から決まる */
|
|
2987
|
+
tailHead?: EdgeHead;
|
|
2988
|
+
/** 行き先側の端の印 (#578)。 書かなければ `cardinality` から決まる */
|
|
2989
|
+
head?: EdgeHead;
|
|
2990
|
+
/**
|
|
2991
|
+
* 線の種類 (#578)。 実線 = 親の鍵が子の鍵に入る (識別する) / 破線 = 子は自分の鍵を持つ。
|
|
2992
|
+
*
|
|
2993
|
+
* 書かなければ実線。
|
|
2994
|
+
*/
|
|
2995
|
+
style?: EdgeStyle;
|
|
2883
2996
|
};
|
|
2884
2997
|
type ErPreset = {
|
|
2885
2998
|
id: string;
|
|
@@ -2911,6 +3024,28 @@ type ErBuilder = {
|
|
|
2911
3024
|
* .build();
|
|
2912
3025
|
*/
|
|
2913
3026
|
declare function er(preset: ErPreset): ErBuilder;
|
|
3027
|
+
/**
|
|
3028
|
+
* 状態の中身 1 行 (#578)。 **いつ動くか** の 4 つを、行頭の印の 2 軸に載せる。
|
|
3029
|
+
*
|
|
3030
|
+
* | いつ | 印 |
|
|
3031
|
+
* |---|---|
|
|
3032
|
+
* | `entry` (入る時) | 山形を塗る |
|
|
3033
|
+
* | `exit` (出る時) | 山形の外枠だけ |
|
|
3034
|
+
* | `do` (いる間) | 四角を塗る |
|
|
3035
|
+
* | `internal` (中で受ける) | 四角の外枠だけ |
|
|
3036
|
+
*
|
|
3037
|
+
* 割り当ては「山形 = 出入りの瞬間 / 四角 = 状態の中」「塗り = 続く・入る側 / 外枠 = 瞬間・出る側」。
|
|
3038
|
+
*
|
|
3039
|
+
* **4 つは元々 2 軸に割れていない**。 それでも 2 軸に載せたのは、読み手がクラス図と ER 図で
|
|
3040
|
+
* 覚えた見分け方をそのまま使える方が、正しく分類することより効くと判断したため。
|
|
3041
|
+
*/
|
|
3042
|
+
type FsmStateAction = {
|
|
3043
|
+
when: "entry" | "exit" | "do" | "internal";
|
|
3044
|
+
/** すること (例 "在庫を押さえる") */
|
|
3045
|
+
label: string;
|
|
3046
|
+
/** 添え (例 "7 日ごと")。 箱の右端に薄く右揃えで出る */
|
|
3047
|
+
note?: string;
|
|
3048
|
+
};
|
|
2914
3049
|
type FsmState = {
|
|
2915
3050
|
id: string;
|
|
2916
3051
|
title: string;
|
|
@@ -2918,7 +3053,29 @@ type FsmState = {
|
|
|
2918
3053
|
initial?: boolean;
|
|
2919
3054
|
/** final state (複数可) */
|
|
2920
3055
|
final?: boolean;
|
|
3056
|
+
/** 名前の下に置く日本語の呼び名 (#578) */
|
|
3057
|
+
subtitle?: string;
|
|
3058
|
+
/** 状態の中身 (#578)。 書くと設計の意匠 (行頭の印 + 右端の薄い添え) で出る */
|
|
3059
|
+
actions?: FsmStateAction[];
|
|
3060
|
+
/**
|
|
3061
|
+
* 格子の列 (#578)。 書かなければ **宣言した順に横 1 列** で、従来どおり。
|
|
3062
|
+
*
|
|
3063
|
+
* 1 つでも書いた図は格子に置く。
|
|
3064
|
+
*/
|
|
3065
|
+
col?: number;
|
|
3066
|
+
/** 格子の段 (#578)。 `col` と対で書く */
|
|
3067
|
+
row?: number;
|
|
2921
3068
|
};
|
|
3069
|
+
type FsmMark = {
|
|
3070
|
+
id: string;
|
|
3071
|
+
kind: "start" | "end";
|
|
3072
|
+
/** 格子の列。 状態と同じ格子に載る */
|
|
3073
|
+
col?: number;
|
|
3074
|
+
/** 格子の段 */
|
|
3075
|
+
row?: number;
|
|
3076
|
+
};
|
|
3077
|
+
/** 状態の中身の「いつ」 から行頭の印を引く表 (#578) */
|
|
3078
|
+
declare const FSM_ACTION_MARK: Record<FsmStateAction["when"], RowMark>;
|
|
2922
3079
|
type FsmTransition = {
|
|
2923
3080
|
from: string;
|
|
2924
3081
|
to: string;
|
|
@@ -2927,6 +3084,13 @@ type FsmTransition = {
|
|
|
2927
3084
|
/** guard 条件 (例 "if validated") */
|
|
2928
3085
|
guard?: string;
|
|
2929
3086
|
tone?: Tone;
|
|
3087
|
+
/**
|
|
3088
|
+
* 端の形 (#578)。 書かなければ **開いた矢**。
|
|
3089
|
+
*
|
|
3090
|
+
* 状態遷移の線は 1 種類しかない = クラス図は 6 種、ER 図は端 4 種 × 線 2 種あるのに、
|
|
3091
|
+
* ここでは線と印が分かれない。 違いは語の中 (`きっかけ` または `きっかけ [条件]`) に入る。
|
|
3092
|
+
*/
|
|
3093
|
+
head?: EdgeHead;
|
|
2930
3094
|
};
|
|
2931
3095
|
type StateMachinePreset = {
|
|
2932
3096
|
id: string;
|
|
@@ -2946,6 +3110,8 @@ type StateMachinePreset = {
|
|
|
2946
3110
|
};
|
|
2947
3111
|
type StateMachineBuilder = {
|
|
2948
3112
|
state: (s: FsmState) => StateMachineBuilder;
|
|
3113
|
+
/** 箱ではない節点 (始まり / 終わり) を置く (#578) */
|
|
3114
|
+
mark: (m: FsmMark) => StateMachineBuilder;
|
|
2949
3115
|
transition: (t: FsmTransition) => StateMachineBuilder;
|
|
2950
3116
|
build: () => ReturnType<DiagramBuilder["build"]>;
|
|
2951
3117
|
};
|
|
@@ -3022,7 +3188,38 @@ type InfrastructureBuilder = {
|
|
|
3022
3188
|
* .build();
|
|
3023
3189
|
*/
|
|
3024
3190
|
declare function infrastructure(preset: InfrastructurePreset): InfrastructureBuilder;
|
|
3025
|
-
type ClassRelationType = "extends" | "implements" | "uses" | "aggregates" | "composes";
|
|
3191
|
+
type ClassRelationType = "extends" | "implements" | "uses" | "aggregates" | "composes" | "associates";
|
|
3192
|
+
/**
|
|
3193
|
+
* 関係の 6 種の見た目 (cdl#574 / #578)。
|
|
3194
|
+
*
|
|
3195
|
+
* **線 / 印の形 / 印の塗り / 印が付く側** の 4 つで見分ける。 覚え方は 3 つとも 1 行で言える。
|
|
3196
|
+
*
|
|
3197
|
+
* - **線** ... 実線 = そのものを持っている / 破線 = 約束と一時の使用
|
|
3198
|
+
* - **印** ... 三角 = 上下の関係 / 菱 = 所有 / 開いた矢 = 向きだけ
|
|
3199
|
+
* - **側** ... 印は「その印が指すもの」 の箱に付く
|
|
3200
|
+
*
|
|
3201
|
+
* | 種類 | 線 | 形 | 塗り | 側 | 意味 |
|
|
3202
|
+
* |---|---|---|---|---|---|
|
|
3203
|
+
* | `extends` | 実線 | 三角 | 白抜き | 行き先 | 継ぐ |
|
|
3204
|
+
* | `implements` | 破線 | 三角 | 白抜き | 行き先 | 満たす |
|
|
3205
|
+
* | `aggregates` | 実線 | 菱 | 白抜き | 出どころ | 持つ |
|
|
3206
|
+
* | `composes` | 実線 | 菱 | 塗る | 出どころ | 抱える |
|
|
3207
|
+
* | `associates` | 実線 | 開いた矢 | — | 行き先 | 結ぶ |
|
|
3208
|
+
* | `uses` | 破線 | 開いた矢 | — | 行き先 | 使う |
|
|
3209
|
+
*
|
|
3210
|
+
* **側が種で割れるのが要点**。 三角は「この先が親」 を指すので行き先に立ち、菱は
|
|
3211
|
+
* 「この箱が持っている」 を指すので出どころに立つ。 1 つの決まりで書こうとするとどちらかが
|
|
3212
|
+
* 必ず逆になり、菱を逆に置くと **持ち主が入れ替わって読める**。
|
|
3213
|
+
*
|
|
3214
|
+
* `Record<ClassRelationType, ...>` なので、種類を足すと 4 つとも要る。
|
|
3215
|
+
*/
|
|
3216
|
+
declare const CLASS_RELATION_LOOK: Record<ClassRelationType, {
|
|
3217
|
+
head: EdgeHead;
|
|
3218
|
+
fill: EdgeHeadFill;
|
|
3219
|
+
tailHead: EdgeHead;
|
|
3220
|
+
tailFill: EdgeHeadFill;
|
|
3221
|
+
style: EdgeStyle;
|
|
3222
|
+
}>;
|
|
3026
3223
|
type UmlClass = {
|
|
3027
3224
|
id: string;
|
|
3028
3225
|
title: string;
|
|
@@ -3032,6 +3229,15 @@ type UmlClass = {
|
|
|
3032
3229
|
methods?: string[];
|
|
3033
3230
|
/** stereotype (例 "abstract" / "interface" / "trait") */
|
|
3034
3231
|
stereotype?: string;
|
|
3232
|
+
/**
|
|
3233
|
+
* 格子の列 (#578)。 書かなければ **宣言した順に横 1 列** で、従来どおり。
|
|
3234
|
+
*
|
|
3235
|
+
* 1 つでも書いた図は格子に置く。 **箱の 1 つの辺には関係を 1 本しか載せられない**ので、
|
|
3236
|
+
* 関係が 3 本以上ある箱を持つ図は段に分けないと線が重なる。
|
|
3237
|
+
*/
|
|
3238
|
+
col?: number;
|
|
3239
|
+
/** 格子の段 (#578)。 `col` と対で書く */
|
|
3240
|
+
row?: number;
|
|
3035
3241
|
};
|
|
3036
3242
|
type UmlRelation = {
|
|
3037
3243
|
from: string;
|
|
@@ -3042,6 +3248,18 @@ type UmlRelation = {
|
|
|
3042
3248
|
/** 多重度 (例 "1..*" / "0..1") */
|
|
3043
3249
|
cardinality?: string;
|
|
3044
3250
|
tone?: Tone;
|
|
3251
|
+
/**
|
|
3252
|
+
* 矢印の先の形 (cdl#574)。 書かなければ種類から決まる (`CLASS_RELATION_LOOK`)。
|
|
3253
|
+
*
|
|
3254
|
+
* **書いた形が勝つ**。 表と違う形にしたい関係だけを個別に書ける。
|
|
3255
|
+
*/
|
|
3256
|
+
head?: EdgeHead;
|
|
3257
|
+
/** 端の印の塗り (#578)。 書かなければ種類から決まる */
|
|
3258
|
+
headFill?: EdgeHeadFill;
|
|
3259
|
+
/** 出どころ側の端の印 (#578)。 書かなければ種類から決まる */
|
|
3260
|
+
tailHead?: EdgeHead;
|
|
3261
|
+
/** 線の種類 (#578)。 書かなければ種類から決まる */
|
|
3262
|
+
style?: EdgeStyle;
|
|
3045
3263
|
};
|
|
3046
3264
|
type ClassDiagramPreset = {
|
|
3047
3265
|
id: string;
|
|
@@ -3509,4 +3727,4 @@ declare function computeStateValues(laid: LaidDiagram, phaseIdx: number, progres
|
|
|
3509
3727
|
*/
|
|
3510
3728
|
declare function interpolate(template: string, values: Record<string, string>): string;
|
|
3511
3729
|
|
|
3512
|
-
export { ARROW_ANGLE_MAX_DEG, ARROW_ENDPOINT_CENTER_TOL, type AnimationChain, type AuthorIntentOptions, type AuthorIntentReport, type BinaryOp, CHAIN_MIN_CLEARANCE, CHAIN_SHIFT_MAX_ACCUMULATED, CHAIN_SHIFT_MAX_ITER, CLEARANCE_LABEL_LABEL, CLEARANCE_LANE_LABEL, CLEARANCE_NODE_LABEL, CLEARANCE_PATH_LABEL, COLUMN_GAP_VARIANCE_TOL, CdlDerivedValue, CdlDiagram, CdlDiagramThumbnail, CdlEdge, type CdlEventHandler, CdlEventTarget, CdlInput, CdlLane, CdlNode, CdlScrollTrigger, CdlState, type ChartBuilder, type ChartDatum, type ChartPreset, type ChartType, type ClassDiagramBuilder, type ClassDiagramPreset, type ClassRelationType, Computed, DETOUR_GAP, DETOUR_SLOT_GAP, DIST_LABEL_PATH_MAX, DIST_LABEL_PATH_MIN, type DerivedNotice, type DerivedNoticeKind, type DerivedResult, type DiagramAdapter, type DiagramBuilder, type Discrepancy, type DiscrepancyKind, type DomVerifyReport, EDGE_LABEL_TEXT, EDGE_STUB_OUT, EdgeHead, type EdgeLabelLine, type EdgeLabelTextSpec, EdgeStyle, type ErBuilder, type ErEntity, type ErPreset, type ErRelation, type ErRelationCardinality, type EventAttachHandle, type EventChain, FAN_GAP, FONT_RENDER_TOLERANCE_WORLD, type FlowBuilder, type FlowPreset, type FlowStepInput, type FlowchartBuilder, type FlowchartEdge, type FlowchartNode, type FlowchartNodeShape, type FlowchartPreset, type FormulaAst, type FormulaContext, type FsmState, type FsmStateNested, type FsmTransition, type FsmTransitionExt, type FunnelBuilder, type FunnelPreset, type FunnelStage, type GanttBuilder, type GanttPreset, type GanttTask, type GenericDiagramSpec, type GenericDiscrepancy, type GenericDiscrepancyKind, type GenericVerifyOptions, type Rect as GeometryRect, type Segment as GeometrySegment, type InfraConnection, type InfraNode, type InfrastructureBuilder, type InfrastructurePreset, type InputChain, type IntentDiscrepancy, type IntentDiscrepancyKind, JourneyEmotion, type JourneyStep, LABEL_INIT_CLEARANCE, LABEL_INIT_CLEARANCE_DOTTED_FLOW, LABEL_SIZE_TOLERANCE_WORLD, LABEL_TO_PATH_CLEARANCE, LANE_BORDER_CLEARANCE_TOL, LaidDiagram, LaidEdge, LaidNode, type LayoutWithValidationOptions, type LayoutWithValidationResult, MARKER_GLOW_RADIUS, MIN_COLUMN_ALIGNMENT_TOLERANCE, MIN_ROW_ALIGNMENT_TOLERANCE, type MathFnName, type MindBranch, type MindMapBuilder, type MindMapPreset, NEAR_COLLISION_DEFAULT_MIN, NEAR_COLLISION_POLICY, NODE_FRAME_SELECTOR, type NetworkBuilder, type NetworkDevice, type NetworkDeviceKind, type NetworkLink, type NetworkPreset, NodeKind, type PageLike, type PhaseBuilder, type QuadrantBuilder, type QuadrantItem, type QuadrantPreset, type QuadrantQuadrantLabel, ROW_GAP_VARIANCE_TOL, SPEC_CLEARANCE_POLICY, STAGE_SVG_SELECTOR, type SequenceBuilder, type SequencePreset, type SequenceStep, Side, Signal, type StateMachine2Builder, type StateMachine2Preset, type StateMachineBuilder, type StateMachinePreset, type SweepReport, type SwimlanePreset, TARGET_LABEL_PATH_DIST, Tone, type TopologyBuilder, type TopologyConnection, type TopologyContainer, type TopologyGroupBuilder, type TopologyPreset, type TreeBuilder, type TreeNode, type TreePreset, type UmlClass, type UmlRelation, type UserJourneyBuilder, type UserJourneyPreset, type ValidateOptions, type ValidationProfile, type VerifyOptions, type Violation, type VisualAxis, type VisualValidationReport, WCAG_AA_LARGE, WCAG_AA_NORMAL, applyDerivedValues, assertNever, attachEventHandlers, batch, bboxClearance, bboxDiffWorld, cdlAdapter, chart, classDiagram, compile, computeScrollProgress, computeStateValues, computeViewportScale, countEdgeCrossings, createFormulaComputeds, createInputSignals, diagram, effect, er, evaluate as evaluateFormula, extractIdentifiers, flow, flowchart, funnel, gantt, infrastructure, inputDefaultValue, interpolate, isLargeText, labelInitClearance, layout, layoutWithValidation, mindMap, network, parseFormula, pointRectEdgeDistance, pointToSegmentDistance, predictLabelBBoxWorld, predictNodeBBoxWorld, projectEdgeLabel, projectNode, projectPathSegment, pxToWorld, quadrant, rectRectClearance, rectRectOverlapArea, rendersRows, requiredContrastRatio, requiredNearClearance, requiredRowsHeight, requiredRowsWidth, requiredSpecClearance, resolveEdgeLabelOverlapsWithChain, resolveEdgeLabelOverlapsWithChainAndPropagate, resolveOverlapsWithChain, resolveTarget, resolveTargetAll, segmentsIntersect, sequence, stateMachine, stateMachine2, swimlane, topology, tree, untrack, userJourney, validate, verifyAllDiagramsDom, verifyAuthorIntent, verifyAuthorIntentAll, verifyDiagramDom, visualValidate, visualValidateAll, visualValidateLaid, withDerivedValues, worldToPx };
|
|
3730
|
+
export { ARROW_ANGLE_MAX_DEG, ARROW_ENDPOINT_CENTER_TOL, type AnimationChain, type AuthorIntentOptions, type AuthorIntentReport, type BinaryOp, CHAIN_MIN_CLEARANCE, CHAIN_SHIFT_MAX_ACCUMULATED, CHAIN_SHIFT_MAX_ITER, CLASS_RELATION_LOOK, CLEARANCE_LABEL_LABEL, CLEARANCE_LANE_LABEL, CLEARANCE_NODE_LABEL, CLEARANCE_PATH_LABEL, COLUMN_GAP_VARIANCE_TOL, CdlDerivedValue, CdlDiagram, CdlDiagramThumbnail, CdlEdge, type CdlEventHandler, CdlEventTarget, CdlInput, CdlLane, CdlNode, CdlScrollTrigger, CdlState, type ChartBuilder, type ChartDatum, type ChartPreset, type ChartType, type ClassDiagramBuilder, type ClassDiagramPreset, type ClassRelationType, Computed, DETOUR_GAP, DETOUR_SLOT_GAP, DIST_LABEL_PATH_MAX, DIST_LABEL_PATH_MIN, type DerivedNotice, type DerivedNoticeKind, type DerivedResult, type DiagramAdapter, type DiagramBuilder, type Discrepancy, type DiscrepancyKind, type DomVerifyReport, EDGE_LABEL_TEXT, EDGE_STUB_OUT, ER_CARDINALITY_HEAD, EdgeHead, EdgeHeadFill, type EdgeLabelLine, type EdgeLabelTextSpec, EdgeStyle, type ErBuilder, type ErColumn, type ErEntity, type ErPreset, type ErRelation, type ErRelationCardinality, type EventAttachHandle, type EventChain, FAN_GAP, FONT_RENDER_TOLERANCE_WORLD, FSM_ACTION_MARK, type FlowBuilder, type FlowPreset, type FlowStepInput, type FlowchartBuilder, type FlowchartEdge, type FlowchartNode, type FlowchartNodeShape, type FlowchartPreset, type FormulaAst, type FormulaContext, type FsmMark, type FsmState, type FsmStateAction, type FsmStateNested, type FsmTransition, type FsmTransitionExt, type FunnelBuilder, type FunnelPreset, type FunnelStage, type GanttBuilder, type GanttPreset, type GanttTask, type GenericDiagramSpec, type GenericDiscrepancy, type GenericDiscrepancyKind, type GenericVerifyOptions, type Rect as GeometryRect, type Segment as GeometrySegment, type InfraConnection, type InfraNode, type InfrastructureBuilder, type InfrastructurePreset, type InputChain, type IntentDiscrepancy, type IntentDiscrepancyKind, JourneyEmotion, type JourneyStep, LABEL_INIT_CLEARANCE, LABEL_INIT_CLEARANCE_DOTTED_FLOW, LABEL_SIZE_TOLERANCE_WORLD, LABEL_TO_PATH_CLEARANCE, LANE_BORDER_CLEARANCE_TOL, LaidDiagram, LaidEdge, LaidNode, type LayoutWithValidationOptions, type LayoutWithValidationResult, MARKER_GLOW_RADIUS, MIN_COLUMN_ALIGNMENT_TOLERANCE, MIN_ROW_ALIGNMENT_TOLERANCE, type MathFnName, type MindBranch, type MindMapBuilder, type MindMapPreset, NEAR_COLLISION_DEFAULT_MIN, NEAR_COLLISION_POLICY, NODE_FRAME_SELECTOR, type NetworkBuilder, type NetworkDevice, type NetworkDeviceKind, type NetworkLink, type NetworkPreset, NodeKind, type PageLike, type PhaseBuilder, type QuadrantBuilder, type QuadrantItem, type QuadrantPreset, type QuadrantQuadrantLabel, ROW_GAP_VARIANCE_TOL, RowMark, SEQUENCE_MESSAGE_LOOK, SPEC_CLEARANCE_POLICY, STAGE_SVG_SELECTOR, type SequenceActor, type SequenceBuilder, type SequenceMessageKind, type SequencePreset, type SequenceStep, Side, Signal, type StateMachine2Builder, type StateMachine2Preset, type StateMachineBuilder, type StateMachinePreset, type SweepReport, type SwimlanePreset, TARGET_LABEL_PATH_DIST, Tone, type TopologyBuilder, type TopologyConnection, type TopologyContainer, type TopologyGroupBuilder, type TopologyPreset, type TreeBuilder, type TreeNode, type TreePreset, type UmlClass, type UmlRelation, type UserJourneyBuilder, type UserJourneyPreset, type ValidateOptions, type ValidationProfile, type VerifyOptions, type Violation, type VisualAxis, type VisualValidationReport, WCAG_AA_LARGE, WCAG_AA_NORMAL, applyDerivedValues, assertNever, attachEventHandlers, batch, bboxClearance, bboxDiffWorld, cdlAdapter, chart, classDiagram, compile, computeScrollProgress, computeStateValues, computeViewportScale, countEdgeCrossings, createFormulaComputeds, createInputSignals, diagram, effect, er, evaluate as evaluateFormula, extractIdentifiers, flow, flowchart, funnel, gantt, infrastructure, inputDefaultValue, interpolate, isLargeText, labelInitClearance, layout, layoutWithValidation, mindMap, network, parseFormula, pointRectEdgeDistance, pointToSegmentDistance, predictLabelBBoxWorld, predictNodeBBoxWorld, projectEdgeLabel, projectNode, projectPathSegment, pxToWorld, quadrant, rectRectClearance, rectRectOverlapArea, rendersRows, requiredContrastRatio, requiredNearClearance, requiredRowsHeight, requiredRowsWidth, requiredSpecClearance, resolveEdgeLabelOverlapsWithChain, resolveEdgeLabelOverlapsWithChainAndPropagate, resolveOverlapsWithChain, resolveTarget, resolveTargetAll, segmentsIntersect, sequence, stateMachine, stateMachine2, swimlane, topology, tree, untrack, userJourney, validate, verifyAllDiagramsDom, verifyAuthorIntent, verifyAuthorIntentAll, verifyDiagramDom, visualValidate, visualValidateAll, visualValidateLaid, withDerivedValues, worldToPx };
|