@cardenelabs/cdl 0.25.0 → 0.26.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/index.d.cts CHANGED
@@ -3359,6 +3359,17 @@ type ClassDiagramPreset = {
3359
3359
  * 帯ではなく **箱** の幅。 帯は `箱の幅 + 余白 × 2` で宣言する。
3360
3360
  */
3361
3361
  classWidth?: number;
3362
+ /**
3363
+ * 行に 1 行おきの縞を敷くか (既定 = 敷く、 #627)。
3364
+ *
3365
+ * クラス図の箱は ER 図と同じ作り (行頭の印 + 左に名前 + 右に型) をしており、名前と型が
3366
+ * 離れて並ぶので行を横に追う目印が要る。 `er()` と同じ既定にする。
3367
+ */
3368
+ rowStripe?: boolean;
3369
+ /**
3370
+ * 図の配色の名前 (#627)。 描き手は色を持たないので、名前をそのまま markup に出す。
3371
+ */
3372
+ palette?: string;
3362
3373
  };
3363
3374
  type ClassDiagramBuilder = {
3364
3375
  class: (c: UmlClass) => ClassDiagramBuilder;
package/dist/index.d.ts CHANGED
@@ -3359,6 +3359,17 @@ type ClassDiagramPreset = {
3359
3359
  * 帯ではなく **箱** の幅。 帯は `箱の幅 + 余白 × 2` で宣言する。
3360
3360
  */
3361
3361
  classWidth?: number;
3362
+ /**
3363
+ * 行に 1 行おきの縞を敷くか (既定 = 敷く、 #627)。
3364
+ *
3365
+ * クラス図の箱は ER 図と同じ作り (行頭の印 + 左に名前 + 右に型) をしており、名前と型が
3366
+ * 離れて並ぶので行を横に追う目印が要る。 `er()` と同じ既定にする。
3367
+ */
3368
+ rowStripe?: boolean;
3369
+ /**
3370
+ * 図の配色の名前 (#627)。 描き手は色を持たないので、名前をそのまま markup に出す。
3371
+ */
3372
+ palette?: string;
3362
3373
  };
3363
3374
  type ClassDiagramBuilder = {
3364
3375
  class: (c: UmlClass) => ClassDiagramBuilder;
package/dist/index.js CHANGED
@@ -22764,6 +22764,7 @@ var ROW_GLYPH_CX = ROW_PAD_X_PX + ROW_GLYPH_HALF + 1;
22764
22764
  var ROW_GLYPH_LEAD = 40;
22765
22765
  var ROW_TYPE_FONT = 22;
22766
22766
  var SUBTITLE_BASELINE = 118;
22767
+ var STRIPE_MIN_ROWS = 2;
22767
22768
  var SUBTITLE_FONT = 20;
22768
22769
  var UNDERLINE_DROP = 7;
22769
22770
  function RowGlyph({ mark, x, y, color }) {
@@ -22821,7 +22822,7 @@ function StorageNode({
22821
22822
  strokeWidth: active ? 3 : 1.25
22822
22823
  }
22823
22824
  ),
22824
- node.rowStripe && rows.map((_, idx) => {
22825
+ node.rowStripe && rows.length >= STRIPE_MIN_ROWS && rows.map((_, idx) => {
22825
22826
  if (idx % 2 !== 0) return null;
22826
22827
  const \u5E2F = rowStripeBand("storage", idx, \u884C\u306E\u4E0B\u3052);
22827
22828
  if (!\u5E2F) return null;
@@ -30832,7 +30833,8 @@ function stripAccess(row) {
30832
30833
  function classDiagram(preset) {
30833
30834
  const classW = resolveStorageBoxW(preset.classWidth, "classDiagram", "classWidth");
30834
30835
  const tone = preset.defaultTone ?? "info";
30835
- const b = diagram(preset.id, { topic: preset.topic });
30836
+ const \u7E1E\u3092\u6577\u304F = preset.rowStripe ?? true;
30837
+ const b = diagram(preset.id, { topic: preset.topic, palette: preset.palette });
30836
30838
  const classes = [];
30837
30839
  const phaseActivate = [];
30838
30840
  const \u7BB1 = [];
@@ -30880,7 +30882,9 @@ function classDiagram(preset) {
30880
30882
  // 種類の札は **書いた時だけ** 出す (#578)。 「クラス」 と書いた札は箱がクラスで
30881
30883
  // あることしか言わず、図の中の全ての箱に同じ字が並ぶ
30882
30884
  ...m.c.stereotype ? { eyebrow: m.c.stereotype } : {},
30883
- ...m.rows.length > 0 ? { rows: m.rows, rowMarks: m.rowMarks } : {}
30885
+ ...m.rows.length > 0 ? { rows: m.rows, rowMarks: m.rowMarks } : {},
30886
+ // 縞は行を持つ箱にだけ敷く (#627)。 行が無い箱に書いても描き手が読まない
30887
+ ...m.rows.length > 0 && \u7E1E\u3092\u6577\u304F ? { rowStripe: true } : {}
30884
30888
  });
30885
30889
  classes.push(m.c.id);
30886
30890
  phaseActivate.push(m.c.id);