schematex 0.6.2 → 0.6.5

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.
Files changed (167) hide show
  1. package/dist/ai/ai-sdk.cjs +23 -23
  2. package/dist/ai/ai-sdk.d.cts +4 -4
  3. package/dist/ai/ai-sdk.d.ts +4 -4
  4. package/dist/ai/ai-sdk.js +18 -18
  5. package/dist/ai/index.cjs +29 -29
  6. package/dist/ai/index.d.cts +3 -3
  7. package/dist/ai/index.d.ts +3 -3
  8. package/dist/ai/index.js +18 -18
  9. package/dist/{api-XWHHAhQI.d.ts → api-BIqZjEDf.d.ts} +2 -2
  10. package/dist/{api-qVDutqXH.d.cts → api-BXkOT7GL.d.cts} +2 -2
  11. package/dist/browser.cjs +24 -24
  12. package/dist/browser.d.cts +3 -3
  13. package/dist/browser.d.ts +3 -3
  14. package/dist/browser.js +18 -18
  15. package/dist/{chunk-JVAJ6ZLO.js → chunk-35XCP2E4.js} +3 -3
  16. package/dist/{chunk-JVAJ6ZLO.js.map → chunk-35XCP2E4.js.map} +1 -1
  17. package/dist/{chunk-VTSH4YPT.cjs → chunk-3C5DKCBJ.cjs} +12 -12
  18. package/dist/{chunk-VTSH4YPT.cjs.map → chunk-3C5DKCBJ.cjs.map} +1 -1
  19. package/dist/{chunk-HWVBHU3O.cjs → chunk-4THUHX2D.cjs} +5 -5
  20. package/dist/{chunk-HWVBHU3O.cjs.map → chunk-4THUHX2D.cjs.map} +1 -1
  21. package/dist/{chunk-KSNUMQGS.cjs → chunk-624UQ5R6.cjs} +3756 -363
  22. package/dist/chunk-624UQ5R6.cjs.map +1 -0
  23. package/dist/{chunk-LRI4RH2N.js → chunk-AORGFBEH.js} +127 -3
  24. package/dist/chunk-AORGFBEH.js.map +1 -0
  25. package/dist/{chunk-DOK7LKLO.js → chunk-B7ATOBL7.js} +3 -3
  26. package/dist/{chunk-DOK7LKLO.js.map → chunk-B7ATOBL7.js.map} +1 -1
  27. package/dist/{chunk-FKJBXGWP.cjs → chunk-BXNOXOE4.cjs} +4 -4
  28. package/dist/{chunk-FKJBXGWP.cjs.map → chunk-BXNOXOE4.cjs.map} +1 -1
  29. package/dist/{chunk-H4MT5TJP.js → chunk-FHZTWWI6.js} +3 -3
  30. package/dist/{chunk-H4MT5TJP.js.map → chunk-FHZTWWI6.js.map} +1 -1
  31. package/dist/{chunk-2L4YXZAZ.cjs → chunk-FXPOHPBE.cjs} +5 -5
  32. package/dist/{chunk-2L4YXZAZ.cjs.map → chunk-FXPOHPBE.cjs.map} +1 -1
  33. package/dist/{chunk-3VB5AT4R.js → chunk-GPC5BWLI.js} +3 -3
  34. package/dist/{chunk-3VB5AT4R.js.map → chunk-GPC5BWLI.js.map} +1 -1
  35. package/dist/{chunk-MVIEIKOI.js → chunk-GV5QLYTW.js} +3 -3
  36. package/dist/{chunk-MVIEIKOI.js.map → chunk-GV5QLYTW.js.map} +1 -1
  37. package/dist/{chunk-WQDIZH2Z.cjs → chunk-HCBXTBFA.cjs} +12 -12
  38. package/dist/{chunk-WQDIZH2Z.cjs.map → chunk-HCBXTBFA.cjs.map} +1 -1
  39. package/dist/{chunk-6JI6FWLZ.cjs → chunk-I6UJR4SG.cjs} +4 -4
  40. package/dist/{chunk-6JI6FWLZ.cjs.map → chunk-I6UJR4SG.cjs.map} +1 -1
  41. package/dist/{chunk-RJMCWT7Z.js → chunk-IPEHLRTI.js} +3 -3
  42. package/dist/{chunk-RJMCWT7Z.js.map → chunk-IPEHLRTI.js.map} +1 -1
  43. package/dist/{chunk-N5B242WY.js → chunk-KPKGMOTS.js} +3 -3
  44. package/dist/{chunk-N5B242WY.js.map → chunk-KPKGMOTS.js.map} +1 -1
  45. package/dist/{chunk-TWLKXV2O.js → chunk-LGFB4H5B.js} +4 -4
  46. package/dist/{chunk-TWLKXV2O.js.map → chunk-LGFB4H5B.js.map} +1 -1
  47. package/dist/{chunk-IZWKJVIC.js → chunk-MI77LY6A.js} +3728 -337
  48. package/dist/chunk-MI77LY6A.js.map +1 -0
  49. package/dist/{chunk-7F76AWOI.js → chunk-MKECYIWN.js} +3 -3
  50. package/dist/{chunk-7F76AWOI.js.map → chunk-MKECYIWN.js.map} +1 -1
  51. package/dist/{chunk-LGABFD3L.js → chunk-OANWVUBA.js} +100 -25
  52. package/dist/chunk-OANWVUBA.js.map +1 -0
  53. package/dist/{chunk-YS6CGUNH.js → chunk-OHLNH7IO.js} +3 -3
  54. package/dist/{chunk-YS6CGUNH.js.map → chunk-OHLNH7IO.js.map} +1 -1
  55. package/dist/{chunk-L7POWM5B.cjs → chunk-R5E2LSN2.cjs} +129 -2
  56. package/dist/chunk-R5E2LSN2.cjs.map +1 -0
  57. package/dist/{chunk-S3RMAXH5.cjs → chunk-ROX5KEZM.cjs} +15 -15
  58. package/dist/{chunk-S3RMAXH5.cjs.map → chunk-ROX5KEZM.cjs.map} +1 -1
  59. package/dist/{chunk-3IE7KZY4.js → chunk-RVHOCGHT.js} +96 -10
  60. package/dist/chunk-RVHOCGHT.js.map +1 -0
  61. package/dist/{chunk-4UFR2LB6.cjs → chunk-S2CHBZ4A.cjs} +13 -13
  62. package/dist/{chunk-4UFR2LB6.cjs.map → chunk-S2CHBZ4A.cjs.map} +1 -1
  63. package/dist/{chunk-SD6VDTQR.cjs → chunk-T3ZN5P32.cjs} +305 -16
  64. package/dist/chunk-T3ZN5P32.cjs.map +1 -0
  65. package/dist/{chunk-R66QG3XT.cjs → chunk-VZO2SX6Q.cjs} +98 -10
  66. package/dist/chunk-VZO2SX6Q.cjs.map +1 -0
  67. package/dist/{chunk-ECD5XHBM.cjs → chunk-W3IXH6BN.cjs} +100 -25
  68. package/dist/chunk-W3IXH6BN.cjs.map +1 -0
  69. package/dist/{chunk-V4GILQR6.cjs → chunk-WZ5QBGPZ.cjs} +4 -4
  70. package/dist/{chunk-V4GILQR6.cjs.map → chunk-WZ5QBGPZ.cjs.map} +1 -1
  71. package/dist/{chunk-FBS3PACU.js → chunk-XEIVA2CT.js} +3 -3
  72. package/dist/{chunk-FBS3PACU.js.map → chunk-XEIVA2CT.js.map} +1 -1
  73. package/dist/{chunk-3JAI3OVG.cjs → chunk-XJJUJ2EF.cjs} +4 -4
  74. package/dist/{chunk-3JAI3OVG.cjs.map → chunk-XJJUJ2EF.cjs.map} +1 -1
  75. package/dist/{chunk-C5C5EF3W.cjs → chunk-XO7WW3I6.cjs} +4 -4
  76. package/dist/{chunk-C5C5EF3W.cjs.map → chunk-XO7WW3I6.cjs.map} +1 -1
  77. package/dist/{chunk-HAZALB7U.js → chunk-XSPENTEG.js} +3 -3
  78. package/dist/{chunk-HAZALB7U.js.map → chunk-XSPENTEG.js.map} +1 -1
  79. package/dist/{chunk-YB4XJY5L.cjs → chunk-ZZFPXCAK.cjs} +12 -12
  80. package/dist/{chunk-YB4XJY5L.cjs.map → chunk-ZZFPXCAK.cjs.map} +1 -1
  81. package/dist/{chunk-ITUPR7G5.js → chunk-ZZHQBAC3.js} +303 -14
  82. package/dist/chunk-ZZHQBAC3.js.map +1 -0
  83. package/dist/{diagnostics-DRxhodP6.d.ts → diagnostics-CzHW0RCo.d.cts} +7 -3
  84. package/dist/{diagnostics-DRxhodP6.d.cts → diagnostics-CzHW0RCo.d.ts} +7 -3
  85. package/dist/diagrams/blockdiagram/index.d.cts +1 -1
  86. package/dist/diagrams/blockdiagram/index.d.ts +1 -1
  87. package/dist/diagrams/circuit/index.cjs +8 -8
  88. package/dist/diagrams/circuit/index.d.cts +1 -1
  89. package/dist/diagrams/circuit/index.d.ts +1 -1
  90. package/dist/diagrams/circuit/index.js +2 -2
  91. package/dist/diagrams/ecomap/index.cjs +7 -7
  92. package/dist/diagrams/ecomap/index.d.cts +1 -1
  93. package/dist/diagrams/ecomap/index.d.ts +1 -1
  94. package/dist/diagrams/ecomap/index.js +2 -2
  95. package/dist/diagrams/entity/index.cjs +6 -6
  96. package/dist/diagrams/entity/index.d.cts +1 -1
  97. package/dist/diagrams/entity/index.d.ts +1 -1
  98. package/dist/diagrams/entity/index.js +2 -2
  99. package/dist/diagrams/fishbone/index.cjs +8 -8
  100. package/dist/diagrams/fishbone/index.d.cts +1 -1
  101. package/dist/diagrams/fishbone/index.d.ts +1 -1
  102. package/dist/diagrams/fishbone/index.js +2 -2
  103. package/dist/diagrams/flowchart/index.cjs +8 -8
  104. package/dist/diagrams/flowchart/index.d.cts +2 -2
  105. package/dist/diagrams/flowchart/index.d.ts +2 -2
  106. package/dist/diagrams/flowchart/index.js +2 -2
  107. package/dist/diagrams/genogram/index.cjs +9 -9
  108. package/dist/diagrams/genogram/index.d.cts +1 -1
  109. package/dist/diagrams/genogram/index.d.ts +1 -1
  110. package/dist/diagrams/genogram/index.js +2 -2
  111. package/dist/diagrams/ladder/index.cjs +7 -7
  112. package/dist/diagrams/ladder/index.d.cts +1 -1
  113. package/dist/diagrams/ladder/index.d.ts +1 -1
  114. package/dist/diagrams/ladder/index.js +3 -3
  115. package/dist/diagrams/logic/index.cjs +15 -6
  116. package/dist/diagrams/logic/index.d.cts +7 -2
  117. package/dist/diagrams/logic/index.d.ts +7 -2
  118. package/dist/diagrams/logic/index.js +3 -2
  119. package/dist/diagrams/orgchart/index.cjs +7 -7
  120. package/dist/diagrams/orgchart/index.d.cts +1 -1
  121. package/dist/diagrams/orgchart/index.d.ts +1 -1
  122. package/dist/diagrams/orgchart/index.js +2 -2
  123. package/dist/diagrams/pedigree/index.cjs +7 -7
  124. package/dist/diagrams/pedigree/index.d.cts +1 -1
  125. package/dist/diagrams/pedigree/index.d.ts +1 -1
  126. package/dist/diagrams/pedigree/index.js +2 -2
  127. package/dist/diagrams/phylo/index.cjs +7 -7
  128. package/dist/diagrams/phylo/index.d.cts +1 -1
  129. package/dist/diagrams/phylo/index.d.ts +1 -1
  130. package/dist/diagrams/phylo/index.js +2 -2
  131. package/dist/diagrams/sld/index.cjs +9 -9
  132. package/dist/diagrams/sld/index.d.cts +1 -1
  133. package/dist/diagrams/sld/index.d.ts +1 -1
  134. package/dist/diagrams/sld/index.js +3 -3
  135. package/dist/diagrams/sociogram/index.cjs +6 -6
  136. package/dist/diagrams/sociogram/index.d.cts +1 -1
  137. package/dist/diagrams/sociogram/index.d.ts +1 -1
  138. package/dist/diagrams/sociogram/index.js +2 -2
  139. package/dist/diagrams/timing/index.d.cts +1 -1
  140. package/dist/diagrams/timing/index.d.ts +1 -1
  141. package/dist/diagrams/venn/index.cjs +9 -9
  142. package/dist/diagrams/venn/index.d.cts +1 -1
  143. package/dist/diagrams/venn/index.d.ts +1 -1
  144. package/dist/diagrams/venn/index.js +2 -2
  145. package/dist/{index-C7SN-FB3.d.ts → index-DdR1Auby.d.ts} +1 -1
  146. package/dist/{index-BRIkOPnd.d.cts → index-R0IwpG20.d.cts} +1 -1
  147. package/dist/index.cjs +80 -72
  148. package/dist/index.d.cts +9 -5
  149. package/dist/index.d.ts +9 -5
  150. package/dist/index.js +22 -22
  151. package/dist/react.cjs +18 -18
  152. package/dist/react.d.cts +2 -2
  153. package/dist/react.d.ts +2 -2
  154. package/dist/react.js +17 -17
  155. package/dist/{tools-BVeUNdsU.d.ts → tools-B7EqXLgD.d.ts} +3 -3
  156. package/dist/{tools-DdhP1kWY.d.cts → tools-DHSVXHM9.d.cts} +3 -3
  157. package/package.json +1 -1
  158. package/dist/chunk-3IE7KZY4.js.map +0 -1
  159. package/dist/chunk-ECD5XHBM.cjs.map +0 -1
  160. package/dist/chunk-ITUPR7G5.js.map +0 -1
  161. package/dist/chunk-IZWKJVIC.js.map +0 -1
  162. package/dist/chunk-KSNUMQGS.cjs.map +0 -1
  163. package/dist/chunk-L7POWM5B.cjs.map +0 -1
  164. package/dist/chunk-LGABFD3L.js.map +0 -1
  165. package/dist/chunk-LRI4RH2N.js.map +0 -1
  166. package/dist/chunk-R66QG3XT.cjs.map +0 -1
  167. package/dist/chunk-SD6VDTQR.cjs.map +0 -1
@@ -1,8 +1,8 @@
1
- import { didYouMean } from './chunk-PIV2A3HG.js';
2
1
  import { firstContentLine } from './chunk-2KTQ75LN.js';
3
- import { resolveIndustrialTheme } from './chunk-LRI4RH2N.js';
2
+ import { didYouMean } from './chunk-PIV2A3HG.js';
3
+ import { resolveIndustrialTheme } from './chunk-AORGFBEH.js';
4
4
  import { matchQuotedTitle } from './chunk-5IKOLUWK.js';
5
- import { title, desc, el, defs, text, path, group, svgRoot, line } from './chunk-SYYBKDL7.js';
5
+ import { el, text, group, title, desc, defs, path, svgRoot, line } from './chunk-SYYBKDL7.js';
6
6
 
7
7
  // src/diagrams/sld/parser.ts
8
8
  var SLDParseError = class extends Error {
@@ -221,22 +221,12 @@ function parseSLDDSL(text2) {
221
221
  const id = nodeMatch[1];
222
222
  const rawType = nodeMatch[2].toLowerCase();
223
223
  const canonical = TYPE_ALIASES[rawType] ?? rawType;
224
- if (!NODE_TYPES.has(canonical)) {
225
- const candidates = [
226
- ...NODE_TYPES,
227
- ...Object.keys(TYPE_ALIASES)
228
- ];
229
- throw new SLDParseError(
230
- `Unknown node type "${nodeMatch[2]}" for "${id}"${didYouMean(rawType, candidates)}`,
231
- i + 1,
232
- line2
233
- );
234
- }
235
224
  if (nodeMap.has(id)) {
236
225
  throw new SLDParseError(`Duplicate node id "${id}"`, i + 1, line2);
237
226
  }
238
- const node = { id, nodeType: canonical };
239
- if (TYPE_ALIASES[rawType]) {
227
+ const isKnown = NODE_TYPES.has(canonical);
228
+ const node = isKnown ? { id, nodeType: canonical } : { id, nodeType: "unknown", rawType: nodeMatch[2] };
229
+ if (isKnown && TYPE_ALIASES[rawType]) {
240
230
  node.label = rawType.toUpperCase();
241
231
  }
242
232
  if (nodeMatch[3]) {
@@ -782,10 +772,36 @@ function renderSymbol(type, detail, standard) {
782
772
  return hubSymbol(detail);
783
773
  case "bus_tie":
784
774
  return busTieSymbol();
775
+ case "unknown":
776
+ return placeholderSymbol(detail);
785
777
  default:
786
778
  return loadSymbol();
787
779
  }
788
780
  }
781
+ function placeholderSymbol(detail) {
782
+ const w = 40;
783
+ const h = 30;
784
+ const parts = [
785
+ el("rect", {
786
+ x: -w / 2,
787
+ y: -h / 2,
788
+ width: w,
789
+ height: h,
790
+ rx: 3,
791
+ class: "lt-sld-unknown-box"
792
+ }),
793
+ text({ x: 0, y: 6, "text-anchor": "middle", class: "lt-sld-unknown-mark" }, "?")
794
+ ];
795
+ if (detail) {
796
+ parts.push(
797
+ text(
798
+ { x: 0, y: h / 2 + 11, "text-anchor": "middle", class: "lt-sld-unknown-type" },
799
+ detail.length > 14 ? detail.slice(0, 13) + "\u2026" : detail
800
+ )
801
+ );
802
+ }
803
+ return group({ class: "lt-sld-unknown" }, parts);
804
+ }
789
805
 
790
806
  // src/diagrams/sld/layout.ts
791
807
  var LEVEL_SPACING = 100;
@@ -1218,6 +1234,9 @@ function buildCss(t) {
1218
1234
  .lt-sld-wdg { font: bold 10px sans-serif; fill: ${t.stroke}; dominant-baseline: middle; }
1219
1235
  .lt-sld-bus-label { font: bold 11px sans-serif; fill: ${t.accent}; }
1220
1236
  .lt-sld-standard-badge { font: bold 10px sans-serif; fill: ${t.textMuted}; letter-spacing: 0.3px; }
1237
+ .lt-sld-unknown-box { fill: none; stroke: ${t.accent}; stroke-width: 1.6; stroke-dasharray: 5 3; }
1238
+ .lt-sld-unknown-mark { font: bold 16px sans-serif; fill: ${t.accent}; dominant-baseline: middle; }
1239
+ .lt-sld-unknown-type { font: 9px ui-monospace, monospace; fill: ${t.textMuted}; }
1221
1240
  `.trim();
1222
1241
  }
1223
1242
  function standardBadge(standard) {
@@ -1409,14 +1428,12 @@ function renderSLD(ast, config) {
1409
1428
  "data-type": ln.nodeType,
1410
1429
  "data-id": ln.node.id
1411
1430
  };
1431
+ if (ln.nodeType === "unknown" && ln.node.rawType) {
1432
+ attrs["data-raw-type"] = ln.node.rawType;
1433
+ }
1434
+ const detail = ln.nodeType === "hub" ? ln.node.label ?? ln.node.id : ln.nodeType === "unknown" ? ln.node.rawType : ln.node.deviceNumber;
1412
1435
  inner.push(
1413
- group(attrs, [
1414
- renderSymbol(
1415
- ln.nodeType,
1416
- ln.nodeType === "hub" ? ln.node.label ?? ln.node.id : ln.node.deviceNumber,
1417
- ast.standard
1418
- )
1419
- ])
1436
+ group(attrs, [renderSymbol(ln.nodeType, detail, ast.standard)])
1420
1437
  );
1421
1438
  for (const piece of renderLabels(ln)) inner.push(piece);
1422
1439
  }
@@ -1436,6 +1453,53 @@ function renderSLD(ast, config) {
1436
1453
  }
1437
1454
 
1438
1455
  // src/diagrams/sld/lint.ts
1456
+ var KNOWN_DEVICE_WORDS = [
1457
+ "utility",
1458
+ "generator",
1459
+ "solar",
1460
+ "wind",
1461
+ "ups",
1462
+ "transformer",
1463
+ "transformer_dy",
1464
+ "transformer_yd",
1465
+ "transformer_yy",
1466
+ "transformer_dd",
1467
+ "autotransformer",
1468
+ "transformer_3winding",
1469
+ "bus",
1470
+ "bus_tie",
1471
+ "hub",
1472
+ "breaker",
1473
+ "breaker_vacuum",
1474
+ "switch",
1475
+ "switch_load",
1476
+ "ground_switch",
1477
+ "ats",
1478
+ "recloser",
1479
+ "sectionalizer",
1480
+ "fuse",
1481
+ "fuse_cl",
1482
+ "ct",
1483
+ "pt",
1484
+ "relay",
1485
+ "surge_arrester",
1486
+ "ground_fault",
1487
+ "motor",
1488
+ "load",
1489
+ "capacitor_bank",
1490
+ "harmonic_filter",
1491
+ "vfd",
1492
+ "watthour_meter",
1493
+ "demand_meter",
1494
+ "mcb",
1495
+ "mccb",
1496
+ "rcd",
1497
+ "rcbo",
1498
+ "rccb",
1499
+ "isolator",
1500
+ "disconnector",
1501
+ "panel"
1502
+ ];
1439
1503
  function lintSLD(text2) {
1440
1504
  let ast;
1441
1505
  try {
@@ -1453,6 +1517,17 @@ var ANSI_ONLY = {
1453
1517
  };
1454
1518
  function lintSLDAst(ast) {
1455
1519
  const out = [];
1520
+ for (const node of ast.nodes) {
1521
+ if (node.nodeType !== "unknown") continue;
1522
+ const raw = node.rawType ?? "";
1523
+ out.push({
1524
+ severity: "warning",
1525
+ code: "SLD_UNKNOWN_DEVICE",
1526
+ message: `device "${node.id}" has unrecognised type "${raw}"; drawn as a flagged placeholder`,
1527
+ hint: `"${raw}" is not a known SLD device.${didYouMean(raw.toLowerCase(), KNOWN_DEVICE_WORDS)} See docs/reference for the device catalog.`,
1528
+ fatal: false
1529
+ });
1530
+ }
1456
1531
  if (!isIecFamily(ast.standard)) return out;
1457
1532
  const stdName = ast.standard === "abnt" ? "ABNT NBR 5410" : ast.standard === "as-nzs" ? "AS/NZS 3000" : "IEC 60617";
1458
1533
  const seen = /* @__PURE__ */ new Set();
@@ -1487,5 +1562,5 @@ var sld = {
1487
1562
  };
1488
1563
 
1489
1564
  export { geometryFor, layoutSLD, lintSLD, lintSLDAst, parseSLDDSL, renderSLD, renderSymbol, sld };
1490
- //# sourceMappingURL=chunk-LGABFD3L.js.map
1491
- //# sourceMappingURL=chunk-LGABFD3L.js.map
1565
+ //# sourceMappingURL=chunk-OANWVUBA.js.map
1566
+ //# sourceMappingURL=chunk-OANWVUBA.js.map