@cardenelabs/cdl 0.43.0 → 0.45.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 +70 -1
- package/dist/index.cjs +62 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +21 -1
- package/dist/index.d.ts +21 -1
- package/dist/index.js +62 -14
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +42 -13
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +42 -13
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/visual-validate.ts +132 -20
package/dist/react.js
CHANGED
|
@@ -4486,6 +4486,18 @@ var SKIPPED_AXES = {
|
|
|
4486
4486
|
production: /* @__PURE__ */ new Set(),
|
|
4487
4487
|
catalog: /* @__PURE__ */ new Set(["seo-metadata-quality", "structured-data-extraction"])
|
|
4488
4488
|
};
|
|
4489
|
+
var \u65E2\u5B9A\u306E\u5668 = {
|
|
4490
|
+
/**
|
|
4491
|
+
* 拡大表示の枠は `min(1200px, 94vw)` で、中身は 1px の縁と 24px の余白の内側に描かれる。
|
|
4492
|
+
* 画面が 1280px 以上なら 1200 が効くので、そこから縁 2 枚と余白 2 枚を引く。
|
|
4493
|
+
*/
|
|
4494
|
+
width: 1200 - 1 * 2 - 24 * 2,
|
|
4495
|
+
/** 同じ拡大表示の高さの頭打ち (`90vh − 180px`) を、基準の画面の高さ 900px で評価した値。 */
|
|
4496
|
+
height: 900 * 0.9 - 180
|
|
4497
|
+
};
|
|
4498
|
+
function \u5668\u3092\u78BA\u304B\u3081\u308B(c) {
|
|
4499
|
+
return { \u5E45: \u65E2\u5B9A\u306E\u5668.width, \u9AD8\u3055: \u65E2\u5B9A\u306E\u5668.height };
|
|
4500
|
+
}
|
|
4489
4501
|
var MIN_NODE_W = 80;
|
|
4490
4502
|
var MIN_NODE_H = 40;
|
|
4491
4503
|
var ROW_FORMAT = /^[^:]+:\s*.+$/;
|
|
@@ -4957,7 +4969,16 @@ function visualValidateLaid(laid, diag, opts) {
|
|
|
4957
4969
|
violations.push({ axis, diagramId: safeDiagramId(diag), detail, severity });
|
|
4958
4970
|
counts[axis]++;
|
|
4959
4971
|
};
|
|
4960
|
-
return visualValidateInner(
|
|
4972
|
+
return visualValidateInner(
|
|
4973
|
+
laid,
|
|
4974
|
+
diag,
|
|
4975
|
+
violations,
|
|
4976
|
+
counts,
|
|
4977
|
+
push,
|
|
4978
|
+
profile,
|
|
4979
|
+
[...skipped],
|
|
4980
|
+
\u5668\u3092\u78BA\u304B\u3081\u308B()
|
|
4981
|
+
);
|
|
4961
4982
|
}
|
|
4962
4983
|
var VALIDATED_ARRAY_FIELDS = [
|
|
4963
4984
|
["laid", "lanes"],
|
|
@@ -5157,7 +5178,7 @@ function normalizeForValidation(value, problems, owner) {
|
|
|
5157
5178
|
}
|
|
5158
5179
|
return next;
|
|
5159
5180
|
}
|
|
5160
|
-
function visualValidateInner(laid, diag, violations, counts, push, profile, skippedAxes) {
|
|
5181
|
+
function visualValidateInner(laid, diag, violations, counts, push, profile, skippedAxes, \u5668) {
|
|
5161
5182
|
const problems = findMalformedInput(laid, diag);
|
|
5162
5183
|
for (const p of problems) push("malformed-input", p.detail, "error");
|
|
5163
5184
|
if (problems.length > 0) {
|
|
@@ -5165,7 +5186,7 @@ function visualValidateInner(laid, diag, violations, counts, push, profile, skip
|
|
|
5165
5186
|
diag = normalizeForValidation(diag, problems, "diag");
|
|
5166
5187
|
}
|
|
5167
5188
|
try {
|
|
5168
|
-
return runAxes(laid, diag, violations, counts, push, profile, skippedAxes);
|
|
5189
|
+
return runAxes(laid, diag, violations, counts, push, profile, skippedAxes, \u5668);
|
|
5169
5190
|
} catch (err) {
|
|
5170
5191
|
const known = counts["malformed-input"] > 0;
|
|
5171
5192
|
const axis = known ? "malformed-input" : "validation-interrupted";
|
|
@@ -5178,7 +5199,7 @@ function visualValidateInner(laid, diag, violations, counts, push, profile, skip
|
|
|
5178
5199
|
return { diagramId: safeDiagramId(diag), ok: false, violations, counts, profile, skippedAxes };
|
|
5179
5200
|
}
|
|
5180
5201
|
}
|
|
5181
|
-
function runAxes(laid, diag, violations, counts, push, profile, skippedAxes) {
|
|
5202
|
+
function runAxes(laid, diag, violations, counts, push, profile, skippedAxes, \u5668) {
|
|
5182
5203
|
const LIFELINE_W_THRESHOLD = 8;
|
|
5183
5204
|
for (const n of laid.nodes) {
|
|
5184
5205
|
if (n.w < LIFELINE_W_THRESHOLD) continue;
|
|
@@ -5878,10 +5899,10 @@ function runAxes(laid, diag, violations, counts, push, profile, skippedAxes) {
|
|
|
5878
5899
|
} catch {
|
|
5879
5900
|
}
|
|
5880
5901
|
}
|
|
5881
|
-
const
|
|
5902
|
+
const RESPONSIVE_REF_CONTAINER_W_PX = \u5668.\u5E45;
|
|
5903
|
+
const RESPONSIVE_REF_CONTAINER_H_PX = \u5668.\u9AD8\u3055;
|
|
5882
5904
|
const RESPONSIVE_MIN_ON_SCREEN_FONT_PX = 12;
|
|
5883
5905
|
const RESPONSIVE_BASE_FONT_WORLD = 22;
|
|
5884
|
-
const RESPONSIVE_MAX_VIEWBOX_W = RESPONSIVE_BASE_FONT_WORLD * RESPONSIVE_REF_CONTAINER_PX / RESPONSIVE_MIN_ON_SCREEN_FONT_PX;
|
|
5885
5906
|
const vbResp = laid.viewBox;
|
|
5886
5907
|
if (!(vbResp.w > 0) || !(vbResp.h > 0) || !Number.isFinite(vbResp.w) || !Number.isFinite(vbResp.h)) {
|
|
5887
5908
|
push(
|
|
@@ -5889,13 +5910,21 @@ function runAxes(laid, diag, violations, counts, push, profile, skippedAxes) {
|
|
|
5889
5910
|
`viewBox \u5BF8\u6CD5 ${vbResp.w}\xD7${vbResp.h} \u304C\u63CF\u753B\u4E0D\u80FD (\u6B63\u306E\u6709\u9650\u5024\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308B)`,
|
|
5890
5911
|
"warn"
|
|
5891
5912
|
);
|
|
5892
|
-
} else
|
|
5893
|
-
const \
|
|
5894
|
-
|
|
5895
|
-
|
|
5896
|
-
|
|
5897
|
-
|
|
5898
|
-
|
|
5913
|
+
} else {
|
|
5914
|
+
const \u6A2A\u306E\u500D\u7387 = RESPONSIVE_REF_CONTAINER_W_PX / vbResp.w;
|
|
5915
|
+
const \u7E26\u306E\u500D\u7387 = RESPONSIVE_REF_CONTAINER_H_PX === void 0 ? Number.POSITIVE_INFINITY : RESPONSIVE_REF_CONTAINER_H_PX / vbResp.h;
|
|
5916
|
+
const \u500D\u7387 = Math.min(\u6A2A\u306E\u500D\u7387, \u7E26\u306E\u500D\u7387);
|
|
5917
|
+
const \u753B\u9762\u4E0A\u306E\u5B57 = RESPONSIVE_BASE_FONT_WORLD * \u500D\u7387;
|
|
5918
|
+
if (\u753B\u9762\u4E0A\u306E\u5B57 < RESPONSIVE_MIN_ON_SCREEN_FONT_PX) {
|
|
5919
|
+
const \u52B9\u304F\u8FBA = \u6A2A\u306E\u500D\u7387 <= \u7E26\u306E\u500D\u7387 ? "\u6A2A" : "\u7E26";
|
|
5920
|
+
const \u53CE\u307E\u308B\u5BF8\u6CD5 = \u52B9\u304F\u8FBA === "\u6A2A" || RESPONSIVE_REF_CONTAINER_H_PX === void 0 ? `\u5E45 ${(RESPONSIVE_REF_CONTAINER_W_PX * RESPONSIVE_BASE_FONT_WORLD / RESPONSIVE_MIN_ON_SCREEN_FONT_PX).toFixed(0)} \u4EE5\u4E0B` : `\u9AD8\u3055 ${(RESPONSIVE_REF_CONTAINER_H_PX * RESPONSIVE_BASE_FONT_WORLD / RESPONSIVE_MIN_ON_SCREEN_FONT_PX).toFixed(0)} \u4EE5\u4E0B`;
|
|
5921
|
+
const \u5668\u306E\u66F8\u304D\u65B9 = RESPONSIVE_REF_CONTAINER_H_PX === void 0 ? `\u5668 \u5E45 ${RESPONSIVE_REF_CONTAINER_W_PX}px (\u9AD8\u3055\u306E\u4E0A\u9650\u306A\u3057)` : `\u5668 ${RESPONSIVE_REF_CONTAINER_W_PX}\xD7${RESPONSIVE_REF_CONTAINER_H_PX}px`;
|
|
5922
|
+
push(
|
|
5923
|
+
"responsive-viewport",
|
|
5924
|
+
`viewBox ${vbResp.w}\xD7${vbResp.h} \u306F${\u5668\u306E\u66F8\u304D\u65B9} \u3067 ${\u500D\u7387.toFixed(3)} \u500D\u306B\u7E2E\u307F\u3001 \u7BB1\u306E\u984C\u304C ${\u753B\u9762\u4E0A\u306E\u5B57.toFixed(1)}px \u306B\u306A\u308B (\u4E0B\u9650 ${RESPONSIVE_MIN_ON_SCREEN_FONT_PX}px\u3001 \u500D\u7387\u3092\u6C7A\u3081\u305F\u306E\u306F ${\u52B9\u304F\u8FBA}\u3001 ${\u53CE\u307E\u308B\u5BF8\u6CD5}\u306B\u3059\u308B\u3068\u5C4A\u304F)`,
|
|
5925
|
+
"warn"
|
|
5926
|
+
);
|
|
5927
|
+
}
|
|
5899
5928
|
}
|
|
5900
5929
|
if (!(diag.topic?.trim() ?? "")) {
|
|
5901
5930
|
push(
|