schematex 0.9.2 → 0.9.4
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/README.md +42 -2
- package/README.zh-CN.md +2 -2
- package/dist/ai/ai-sdk.cjs +23 -23
- package/dist/ai/ai-sdk.d.cts +3 -3
- package/dist/ai/ai-sdk.d.ts +3 -3
- package/dist/ai/ai-sdk.js +18 -18
- package/dist/ai/index.cjs +32 -32
- package/dist/ai/index.d.cts +4 -4
- package/dist/ai/index.d.ts +4 -4
- package/dist/ai/index.js +19 -19
- package/dist/{api-OED2jUVj.d.ts → api-1xoGiseb.d.cts} +2 -2
- package/dist/{api-BDMaX1cT.d.cts → api-CgXRSnCn.d.ts} +2 -2
- package/dist/browser.cjs +24 -24
- package/dist/browser.d.cts +3 -3
- package/dist/browser.d.ts +3 -3
- package/dist/browser.js +18 -18
- package/dist/{chunk-HILYXWGJ.cjs → chunk-35NGXDT2.cjs} +12 -12
- package/dist/{chunk-HILYXWGJ.cjs.map → chunk-35NGXDT2.cjs.map} +1 -1
- package/dist/{chunk-HJA7MIMV.js → chunk-3J4DZPZC.js} +3 -3
- package/dist/{chunk-HJA7MIMV.js.map → chunk-3J4DZPZC.js.map} +1 -1
- package/dist/{chunk-IQLZUCWI.js → chunk-3PH2MQGN.js} +3 -3
- package/dist/{chunk-IQLZUCWI.js.map → chunk-3PH2MQGN.js.map} +1 -1
- package/dist/{chunk-VZVREOTM.js → chunk-3WX24RCH.js} +3 -3
- package/dist/{chunk-VZVREOTM.js.map → chunk-3WX24RCH.js.map} +1 -1
- package/dist/{chunk-XA6XIAMN.cjs → chunk-4AC6I7KJ.cjs} +4 -4
- package/dist/{chunk-XA6XIAMN.cjs.map → chunk-4AC6I7KJ.cjs.map} +1 -1
- package/dist/{chunk-TYEQC7PV.js → chunk-4MRVJI7G.js} +166 -5
- package/dist/chunk-4MRVJI7G.js.map +1 -0
- package/dist/{chunk-6BJKQULN.cjs → chunk-4OC3CTGE.cjs} +4 -4
- package/dist/{chunk-6BJKQULN.cjs.map → chunk-4OC3CTGE.cjs.map} +1 -1
- package/dist/{chunk-4MGALM2C.cjs → chunk-5ZQRHDMQ.cjs} +4 -4
- package/dist/{chunk-4MGALM2C.cjs.map → chunk-5ZQRHDMQ.cjs.map} +1 -1
- package/dist/{chunk-PSQGLE6U.cjs → chunk-627GHE2N.cjs} +5 -5
- package/dist/{chunk-PSQGLE6U.cjs.map → chunk-627GHE2N.cjs.map} +1 -1
- package/dist/{chunk-56DSMSXK.js → chunk-64LABNTF.js} +3 -3
- package/dist/{chunk-56DSMSXK.js.map → chunk-64LABNTF.js.map} +1 -1
- package/dist/{chunk-GYTU7L4L.cjs → chunk-6QZQTASC.cjs} +12 -12
- package/dist/{chunk-GYTU7L4L.cjs.map → chunk-6QZQTASC.cjs.map} +1 -1
- package/dist/{chunk-MYVY55DO.cjs → chunk-6ZD7TCWO.cjs} +15 -15
- package/dist/{chunk-MYVY55DO.cjs.map → chunk-6ZD7TCWO.cjs.map} +1 -1
- package/dist/{chunk-7Z2GDS4G.js → chunk-AXMBXAEA.js} +3 -3
- package/dist/{chunk-7Z2GDS4G.js.map → chunk-AXMBXAEA.js.map} +1 -1
- package/dist/{chunk-VY4JOTM2.js → chunk-B4CMWA6Y.js} +3 -3
- package/dist/{chunk-VY4JOTM2.js.map → chunk-B4CMWA6Y.js.map} +1 -1
- package/dist/{chunk-2ASZMLC3.cjs → chunk-C4Y24X3U.cjs} +4 -4
- package/dist/{chunk-2ASZMLC3.cjs.map → chunk-C4Y24X3U.cjs.map} +1 -1
- package/dist/{chunk-NT6VVMLW.cjs → chunk-ENUM7GMZ.cjs} +168 -4
- package/dist/chunk-ENUM7GMZ.cjs.map +1 -0
- package/dist/{chunk-VYAUTNHC.cjs → chunk-GAQ36VFD.cjs} +4 -4
- package/dist/{chunk-VYAUTNHC.cjs.map → chunk-GAQ36VFD.cjs.map} +1 -1
- package/dist/{chunk-NTQBNBBP.cjs → chunk-GTCAJPQR.cjs} +4307 -282
- package/dist/chunk-GTCAJPQR.cjs.map +1 -0
- package/dist/{chunk-KR7PPCC4.js → chunk-GYYYULBL.js} +3 -3
- package/dist/{chunk-KR7PPCC4.js.map → chunk-GYYYULBL.js.map} +1 -1
- package/dist/{chunk-WFVRUUJW.cjs → chunk-INVLJYAE.cjs} +4 -4
- package/dist/{chunk-WFVRUUJW.cjs.map → chunk-INVLJYAE.cjs.map} +1 -1
- package/dist/{chunk-2A5HJFOX.cjs → chunk-ITI3STJ6.cjs} +4 -4
- package/dist/{chunk-2A5HJFOX.cjs.map → chunk-ITI3STJ6.cjs.map} +1 -1
- package/dist/{chunk-TMAOPJCT.js → chunk-JEMAOC2D.js} +3 -3
- package/dist/{chunk-TMAOPJCT.js.map → chunk-JEMAOC2D.js.map} +1 -1
- package/dist/{chunk-2RFFCZ3I.js → chunk-M26ORU4P.js} +3 -3
- package/dist/{chunk-2RFFCZ3I.js.map → chunk-M26ORU4P.js.map} +1 -1
- package/dist/{chunk-CURAZVOH.js → chunk-NIYB6CHH.js} +728 -4
- package/dist/chunk-NIYB6CHH.js.map +1 -0
- package/dist/{chunk-JR6JNQEZ.js → chunk-NKYR4PAS.js} +3 -3
- package/dist/{chunk-JR6JNQEZ.js.map → chunk-NKYR4PAS.js.map} +1 -1
- package/dist/{chunk-MUE45N2A.cjs → chunk-OJ3P4IC4.cjs} +4 -4
- package/dist/{chunk-MUE45N2A.cjs.map → chunk-OJ3P4IC4.cjs.map} +1 -1
- package/dist/{chunk-VMUNKEB2.js → chunk-PFZKW3HE.js} +3 -3
- package/dist/{chunk-VMUNKEB2.js.map → chunk-PFZKW3HE.js.map} +1 -1
- package/dist/{chunk-MERU76LW.js → chunk-RDYACU2G.js} +3 -3
- package/dist/{chunk-MERU76LW.js.map → chunk-RDYACU2G.js.map} +1 -1
- package/dist/{chunk-TWTUIUNK.js → chunk-SXOAAQNY.js} +3 -3
- package/dist/{chunk-TWTUIUNK.js.map → chunk-SXOAAQNY.js.map} +1 -1
- package/dist/{chunk-3DSNGR26.cjs → chunk-TX3YWZZX.cjs} +730 -6
- package/dist/chunk-TX3YWZZX.cjs.map +1 -0
- package/dist/{chunk-TP7LQ5PF.js → chunk-UFXDAIDD.js} +4126 -102
- package/dist/chunk-UFXDAIDD.js.map +1 -0
- package/dist/{chunk-7JJQEECD.cjs → chunk-VY6UZYYL.cjs} +15 -15
- package/dist/{chunk-7JJQEECD.cjs.map → chunk-VY6UZYYL.cjs.map} +1 -1
- package/dist/{chunk-V3JTVTPY.cjs → chunk-VYQXB2RC.cjs} +12 -12
- package/dist/{chunk-V3JTVTPY.cjs.map → chunk-VYQXB2RC.cjs.map} +1 -1
- package/dist/{chunk-L2NY4XEY.cjs → chunk-WJXLF42K.cjs} +4 -4
- package/dist/{chunk-L2NY4XEY.cjs.map → chunk-WJXLF42K.cjs.map} +1 -1
- package/dist/{chunk-VWIKDJNV.js → chunk-XCCXG6RR.js} +3 -3
- package/dist/{chunk-VWIKDJNV.js.map → chunk-XCCXG6RR.js.map} +1 -1
- package/dist/{chunk-7SVB3XA7.js → chunk-ZCHGIWJK.js} +3 -3
- package/dist/{chunk-7SVB3XA7.js.map → chunk-ZCHGIWJK.js.map} +1 -1
- package/dist/{diagnostics-hObcaaFC.d.ts → diagnostics-CDwnQ65n.d.cts} +1 -1
- package/dist/{diagnostics-hObcaaFC.d.cts → diagnostics-CDwnQ65n.d.ts} +1 -1
- package/dist/diagrams/blockdiagram/index.cjs +6 -6
- package/dist/diagrams/blockdiagram/index.d.cts +1 -1
- package/dist/diagrams/blockdiagram/index.d.ts +1 -1
- package/dist/diagrams/blockdiagram/index.js +2 -2
- package/dist/diagrams/circuit/index.cjs +9 -9
- package/dist/diagrams/circuit/index.d.cts +1 -1
- package/dist/diagrams/circuit/index.d.ts +1 -1
- package/dist/diagrams/circuit/index.js +2 -2
- package/dist/diagrams/ecomap/index.cjs +7 -7
- package/dist/diagrams/ecomap/index.d.cts +1 -1
- package/dist/diagrams/ecomap/index.d.ts +1 -1
- package/dist/diagrams/ecomap/index.js +2 -2
- package/dist/diagrams/entity/index.cjs +6 -6
- package/dist/diagrams/entity/index.d.cts +1 -1
- package/dist/diagrams/entity/index.d.ts +1 -1
- package/dist/diagrams/entity/index.js +2 -2
- package/dist/diagrams/fishbone/index.cjs +8 -8
- package/dist/diagrams/fishbone/index.d.cts +1 -1
- package/dist/diagrams/fishbone/index.d.ts +1 -1
- package/dist/diagrams/fishbone/index.js +2 -2
- package/dist/diagrams/flowchart/index.cjs +8 -8
- package/dist/diagrams/flowchart/index.d.cts +2 -2
- package/dist/diagrams/flowchart/index.d.ts +2 -2
- package/dist/diagrams/flowchart/index.js +2 -2
- package/dist/diagrams/genogram/index.cjs +9 -9
- package/dist/diagrams/genogram/index.d.cts +1 -1
- package/dist/diagrams/genogram/index.d.ts +1 -1
- package/dist/diagrams/genogram/index.js +2 -2
- package/dist/diagrams/ladder/index.cjs +6 -6
- package/dist/diagrams/ladder/index.d.cts +1 -1
- package/dist/diagrams/ladder/index.d.ts +1 -1
- package/dist/diagrams/ladder/index.js +2 -2
- package/dist/diagrams/logic/index.cjs +8 -8
- package/dist/diagrams/logic/index.d.cts +1 -1
- package/dist/diagrams/logic/index.d.ts +1 -1
- package/dist/diagrams/logic/index.js +2 -2
- package/dist/diagrams/orgchart/index.cjs +8 -8
- package/dist/diagrams/orgchart/index.d.cts +1 -1
- package/dist/diagrams/orgchart/index.d.ts +1 -1
- package/dist/diagrams/orgchart/index.js +2 -2
- package/dist/diagrams/pedigree/index.cjs +7 -7
- package/dist/diagrams/pedigree/index.d.cts +1 -1
- package/dist/diagrams/pedigree/index.d.ts +1 -1
- package/dist/diagrams/pedigree/index.js +2 -2
- package/dist/diagrams/phylo/index.cjs +7 -7
- package/dist/diagrams/phylo/index.d.cts +1 -1
- package/dist/diagrams/phylo/index.d.ts +1 -1
- package/dist/diagrams/phylo/index.js +2 -2
- package/dist/diagrams/sld/index.cjs +8 -8
- package/dist/diagrams/sld/index.d.cts +1 -1
- package/dist/diagrams/sld/index.d.ts +1 -1
- package/dist/diagrams/sld/index.js +2 -2
- package/dist/diagrams/sociogram/index.cjs +6 -6
- package/dist/diagrams/sociogram/index.d.cts +1 -1
- package/dist/diagrams/sociogram/index.d.ts +1 -1
- package/dist/diagrams/sociogram/index.js +2 -2
- package/dist/diagrams/timing/index.d.cts +1 -1
- package/dist/diagrams/timing/index.d.ts +1 -1
- package/dist/diagrams/venn/index.cjs +9 -9
- package/dist/diagrams/venn/index.d.cts +1 -1
- package/dist/diagrams/venn/index.d.ts +1 -1
- package/dist/diagrams/venn/index.js +2 -2
- package/dist/{index-Cq8y1aaa.d.ts → index-CYSH3_ca.d.ts} +1 -1
- package/dist/{index-BiXWjQht.d.cts → index-DNOoLmYX.d.cts} +1 -1
- package/dist/index.cjs +111 -85
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +48 -22
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +18 -18
- package/dist/react.d.cts +2 -2
- package/dist/react.d.ts +2 -2
- package/dist/react.js +17 -17
- package/dist/{tools-BbTuTWs_.d.ts → tools-BhTti-oG.d.ts} +3 -3
- package/dist/{tools-D5dkAqNy.d.cts → tools-CbYmQ3hH.d.cts} +3 -3
- package/package.json +1 -1
- package/dist/chunk-3DSNGR26.cjs.map +0 -1
- package/dist/chunk-CURAZVOH.js.map +0 -1
- package/dist/chunk-NT6VVMLW.cjs.map +0 -1
- package/dist/chunk-NTQBNBBP.cjs.map +0 -1
- package/dist/chunk-TP7LQ5PF.js.map +0 -1
- package/dist/chunk-TYEQC7PV.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
3
|
+
var chunkGTCAJPQR_cjs = require('./chunk-GTCAJPQR.cjs');
|
|
4
|
+
var chunk4OC3CTGE_cjs = require('./chunk-4OC3CTGE.cjs');
|
|
5
|
+
var chunk4AC6I7KJ_cjs = require('./chunk-4AC6I7KJ.cjs');
|
|
6
|
+
var chunkC4Y24X3U_cjs = require('./chunk-C4Y24X3U.cjs');
|
|
7
|
+
var chunkINVLJYAE_cjs = require('./chunk-INVLJYAE.cjs');
|
|
8
|
+
var chunkWJXLF42K_cjs = require('./chunk-WJXLF42K.cjs');
|
|
9
|
+
var chunkGAQ36VFD_cjs = require('./chunk-GAQ36VFD.cjs');
|
|
10
|
+
var chunk627GHE2N_cjs = require('./chunk-627GHE2N.cjs');
|
|
11
|
+
var chunkITI3STJ6_cjs = require('./chunk-ITI3STJ6.cjs');
|
|
12
|
+
var chunkOJ3P4IC4_cjs = require('./chunk-OJ3P4IC4.cjs');
|
|
13
|
+
var chunkVY6UZYYL_cjs = require('./chunk-VY6UZYYL.cjs');
|
|
14
|
+
var chunkVYQXB2RC_cjs = require('./chunk-VYQXB2RC.cjs');
|
|
15
|
+
var chunk6QZQTASC_cjs = require('./chunk-6QZQTASC.cjs');
|
|
16
16
|
require('./chunk-3KRL2EGN.cjs');
|
|
17
|
-
var
|
|
18
|
-
var
|
|
17
|
+
var chunk6ZD7TCWO_cjs = require('./chunk-6ZD7TCWO.cjs');
|
|
18
|
+
var chunk35NGXDT2_cjs = require('./chunk-35NGXDT2.cjs');
|
|
19
19
|
require('./chunk-5UCXMYE7.cjs');
|
|
20
20
|
var chunkJHJJT5H5_cjs = require('./chunk-JHJJT5H5.cjs');
|
|
21
|
-
var
|
|
21
|
+
var chunk5ZQRHDMQ_cjs = require('./chunk-5ZQRHDMQ.cjs');
|
|
22
22
|
require('./chunk-SBB6C4OP.cjs');
|
|
23
|
-
var
|
|
23
|
+
var chunkENUM7GMZ_cjs = require('./chunk-ENUM7GMZ.cjs');
|
|
24
24
|
require('./chunk-VHDSPI6A.cjs');
|
|
25
25
|
require('./chunk-3WNW5Y7P.cjs');
|
|
26
26
|
|
|
@@ -34,8 +34,8 @@ function svgDoc(viewBox, css, inner) {
|
|
|
34
34
|
var CIRCUIT_CSS = ".schematex-circuit-body{stroke:#0f172a;stroke-width:1.75;fill:none;stroke-linejoin:round;stroke-linecap:round}.schematex-circuit-fill{stroke:#0f172a;stroke-width:1.5;fill:#0f172a}.schematex-circuit-wire{stroke:#0f172a;stroke-width:1.75;fill:none;stroke-linecap:square}";
|
|
35
35
|
function circuitCatalog() {
|
|
36
36
|
const merged = {
|
|
37
|
-
...
|
|
38
|
-
...
|
|
37
|
+
...chunk4AC6I7KJ_cjs.SYMBOLS,
|
|
38
|
+
...chunk4AC6I7KJ_cjs.EXTRA_SYMBOLS
|
|
39
39
|
};
|
|
40
40
|
const out = [];
|
|
41
41
|
for (const [id, def] of Object.entries(merged)) {
|
|
@@ -91,11 +91,11 @@ function sldCatalog() {
|
|
|
91
91
|
for (const type of SLD_TYPES) {
|
|
92
92
|
let inner;
|
|
93
93
|
try {
|
|
94
|
-
inner =
|
|
94
|
+
inner = chunkWJXLF42K_cjs.renderSymbol(type);
|
|
95
95
|
} catch {
|
|
96
96
|
continue;
|
|
97
97
|
}
|
|
98
|
-
const g =
|
|
98
|
+
const g = chunkWJXLF42K_cjs.geometryFor(type);
|
|
99
99
|
const w = Math.max(g.halfWidth, 18) + 12;
|
|
100
100
|
const top = Math.min(g.topY, -22) - 8;
|
|
101
101
|
const bot = Math.max(g.bottomY, 22) + 8;
|
|
@@ -111,10 +111,10 @@ var PID_CSS = ".lt-pid-equip{fill:#ffffff;stroke:#1d1d1d;stroke-width:1.6}.lt-pi
|
|
|
111
111
|
function pidCatalog() {
|
|
112
112
|
const out = [];
|
|
113
113
|
const pad = 12;
|
|
114
|
-
for (const [id, g] of Object.entries(
|
|
114
|
+
for (const [id, g] of Object.entries(chunkGTCAJPQR_cjs.GEOMETRY)) {
|
|
115
115
|
let inner;
|
|
116
116
|
try {
|
|
117
|
-
inner =
|
|
117
|
+
inner = chunkGTCAJPQR_cjs.renderEquip(id, "");
|
|
118
118
|
} catch {
|
|
119
119
|
continue;
|
|
120
120
|
}
|
|
@@ -132,10 +132,10 @@ function pidCatalog() {
|
|
|
132
132
|
}
|
|
133
133
|
var FC_ICON_CSS = ".sx-fc-icon{stroke:#0f172a;fill:none}.sx-fc-icon-fill{fill:#0f172a}";
|
|
134
134
|
function flowchartIconCatalog() {
|
|
135
|
-
return
|
|
135
|
+
return chunkOJ3P4IC4_cjs.iconNames().map((name) => ({
|
|
136
136
|
id: name,
|
|
137
137
|
label: humanize(name),
|
|
138
|
-
svg: svgDoc("-13 -13 26 26", FC_ICON_CSS,
|
|
138
|
+
svg: svgDoc("-13 -13 26 26", FC_ICON_CSS, chunkOJ3P4IC4_cjs.renderIcon(name))
|
|
139
139
|
})).sort((a, b) => a.label.localeCompare(b.label));
|
|
140
140
|
}
|
|
141
141
|
var LOGIC_CSS = ".schematex-logic-gate-body{fill:none;stroke:#0f172a;stroke-width:1.75;stroke-linejoin:round}.schematex-logic-bubble{fill:#ffffff;stroke:#0f172a;stroke-width:1.5}.schematex-logic-wire{stroke:#0f172a;stroke-width:1.5;fill:none;stroke-linecap:square}.schematex-logic-gate-iec-label{font:bold 13px sans-serif;fill:#0f172a}";
|
|
@@ -170,7 +170,7 @@ function logicCatalog() {
|
|
|
170
170
|
for (const type of LOGIC_TYPES) {
|
|
171
171
|
let g;
|
|
172
172
|
try {
|
|
173
|
-
g =
|
|
173
|
+
g = chunk5ZQRHDMQ_cjs.getGateGeometry(type, SINGLE_INPUT.has(type) ? 1 : 2);
|
|
174
174
|
} catch {
|
|
175
175
|
continue;
|
|
176
176
|
}
|
|
@@ -224,11 +224,11 @@ var NETWORK_KINDS = [
|
|
|
224
224
|
function networkCatalog() {
|
|
225
225
|
const out = [];
|
|
226
226
|
for (const kind of NETWORK_KINDS) {
|
|
227
|
-
const { w, h } =
|
|
227
|
+
const { w, h } = chunkGTCAJPQR_cjs.iconSize(kind);
|
|
228
228
|
const device = { id: kind, kind, label: humanize(kind), groups: [] };
|
|
229
229
|
let inner;
|
|
230
230
|
try {
|
|
231
|
-
inner =
|
|
231
|
+
inner = chunkGTCAJPQR_cjs.drawDeviceIcon(device, { x: 0, y: 0, w, h });
|
|
232
232
|
} catch {
|
|
233
233
|
continue;
|
|
234
234
|
}
|
|
@@ -240,6 +240,26 @@ function networkCatalog() {
|
|
|
240
240
|
}
|
|
241
241
|
return out.sort((a, b) => a.label.localeCompare(b.label));
|
|
242
242
|
}
|
|
243
|
+
var FLOORPLAN_CSS = ".sx-fp-furn{fill:#ffffff;stroke:#475569;stroke-width:1.2}.sx-fp-furn-nofill{fill:none;stroke:#475569;stroke-width:1.2}.sx-fp-furn-line{fill:none;stroke:#475569;stroke-width:1}.sx-fp-furn-dash{fill:none;stroke:#475569;stroke-width:1;stroke-dasharray:4 3}.sx-fp-furn-dot{fill:#475569;stroke:none}.sx-fp-furn-solid{fill:#334155;stroke:none}.sx-fp-board-inner{fill:#ffffff;stroke:none}.sx-fp-chair{fill:#f1f5f9;stroke:#475569;stroke-width:1}.sx-fp-rug{fill:none;stroke:#94a3b8;stroke-width:1.2;stroke-dasharray:5 4}.sx-fp-hatch{fill:none;stroke:#cbd5e1;stroke-width:1}.sx-fp-furn-text{font-weight:600;font-family:sans-serif;fill:#475569}";
|
|
244
|
+
function floorplanCatalog() {
|
|
245
|
+
const scale = 40;
|
|
246
|
+
const px = (m) => Math.round(m * scale * 100) / 100;
|
|
247
|
+
const out = [];
|
|
248
|
+
for (const [id, def] of Object.entries(chunkGTCAJPQR_cjs.FLOORPLAN_SYMBOLS)) {
|
|
249
|
+
const [mt, mr, mb, ml] = def.envelope ?? [0, 0, 0, 0];
|
|
250
|
+
const pad = 5;
|
|
251
|
+
const x0 = -px(ml) - pad;
|
|
252
|
+
const y0 = -px(mt) - pad;
|
|
253
|
+
const w = px(def.w + ml + mr) + 2 * pad;
|
|
254
|
+
const h = px(def.h + mt + mb) + 2 * pad;
|
|
255
|
+
out.push({
|
|
256
|
+
id,
|
|
257
|
+
label: humanize(id),
|
|
258
|
+
svg: svgDoc(`${x0} ${y0} ${w} ${h}`, FLOORPLAN_CSS, def.draw({ w: def.w, h: def.h, px }))
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
return out.sort((a, b) => a.label.localeCompare(b.label));
|
|
262
|
+
}
|
|
243
263
|
var CATALOGS = {
|
|
244
264
|
circuit: () => ({
|
|
245
265
|
type: "circuit",
|
|
@@ -276,6 +296,12 @@ var CATALOGS = {
|
|
|
276
296
|
label: "Node icons",
|
|
277
297
|
note: "Inline node icons (servers, databases, cloud, gear\u2026) usable on any flowchart node.",
|
|
278
298
|
entries: flowchartIconCatalog()
|
|
299
|
+
}),
|
|
300
|
+
floorplan: () => ({
|
|
301
|
+
type: "floorplan",
|
|
302
|
+
label: "Floor plan furniture & fixtures",
|
|
303
|
+
note: "AGS plan-view symbols \u2014 auto-seated tables, beds, kitchen/bath fixtures, classroom and event/banquet furniture.",
|
|
304
|
+
entries: floorplanCatalog()
|
|
279
305
|
})
|
|
280
306
|
};
|
|
281
307
|
var SYMBOL_CATALOG_TYPES = Object.keys(CATALOGS);
|
|
@@ -286,167 +312,167 @@ function getSymbolCatalog(type) {
|
|
|
286
312
|
|
|
287
313
|
Object.defineProperty(exports, "bowtie", {
|
|
288
314
|
enumerable: true,
|
|
289
|
-
get: function () { return
|
|
315
|
+
get: function () { return chunkGTCAJPQR_cjs.bowtie; }
|
|
290
316
|
});
|
|
291
317
|
Object.defineProperty(exports, "causalloop", {
|
|
292
318
|
enumerable: true,
|
|
293
|
-
get: function () { return
|
|
319
|
+
get: function () { return chunkGTCAJPQR_cjs.causalloop; }
|
|
294
320
|
});
|
|
295
321
|
Object.defineProperty(exports, "decisiontree", {
|
|
296
322
|
enumerable: true,
|
|
297
|
-
get: function () { return
|
|
323
|
+
get: function () { return chunkGTCAJPQR_cjs.decisiontree; }
|
|
298
324
|
});
|
|
299
325
|
Object.defineProperty(exports, "epc", {
|
|
300
326
|
enumerable: true,
|
|
301
|
-
get: function () { return
|
|
327
|
+
get: function () { return chunkGTCAJPQR_cjs.epc; }
|
|
302
328
|
});
|
|
303
329
|
Object.defineProperty(exports, "eventtree", {
|
|
304
330
|
enumerable: true,
|
|
305
|
-
get: function () { return
|
|
331
|
+
get: function () { return chunkGTCAJPQR_cjs.eventtree; }
|
|
306
332
|
});
|
|
307
333
|
Object.defineProperty(exports, "faulttree", {
|
|
308
334
|
enumerable: true,
|
|
309
|
-
get: function () { return
|
|
335
|
+
get: function () { return chunkGTCAJPQR_cjs.faulttree; }
|
|
310
336
|
});
|
|
311
337
|
Object.defineProperty(exports, "fmea", {
|
|
312
338
|
enumerable: true,
|
|
313
|
-
get: function () { return
|
|
339
|
+
get: function () { return chunkGTCAJPQR_cjs.fmea; }
|
|
314
340
|
});
|
|
315
341
|
Object.defineProperty(exports, "gitgraph", {
|
|
316
342
|
enumerable: true,
|
|
317
|
-
get: function () { return
|
|
343
|
+
get: function () { return chunkGTCAJPQR_cjs.gitgraph; }
|
|
318
344
|
});
|
|
319
345
|
Object.defineProperty(exports, "idef0", {
|
|
320
346
|
enumerable: true,
|
|
321
|
-
get: function () { return
|
|
347
|
+
get: function () { return chunkGTCAJPQR_cjs.idef0; }
|
|
322
348
|
});
|
|
323
349
|
Object.defineProperty(exports, "markov", {
|
|
324
350
|
enumerable: true,
|
|
325
|
-
get: function () { return
|
|
351
|
+
get: function () { return chunkGTCAJPQR_cjs.markov; }
|
|
326
352
|
});
|
|
327
353
|
Object.defineProperty(exports, "network", {
|
|
328
354
|
enumerable: true,
|
|
329
|
-
get: function () { return
|
|
355
|
+
get: function () { return chunkGTCAJPQR_cjs.network; }
|
|
330
356
|
});
|
|
331
357
|
Object.defineProperty(exports, "parse", {
|
|
332
358
|
enumerable: true,
|
|
333
|
-
get: function () { return
|
|
359
|
+
get: function () { return chunkGTCAJPQR_cjs.parse; }
|
|
334
360
|
});
|
|
335
361
|
Object.defineProperty(exports, "parseResult", {
|
|
336
362
|
enumerable: true,
|
|
337
|
-
get: function () { return
|
|
363
|
+
get: function () { return chunkGTCAJPQR_cjs.parseResult; }
|
|
338
364
|
});
|
|
339
365
|
Object.defineProperty(exports, "pert", {
|
|
340
366
|
enumerable: true,
|
|
341
|
-
get: function () { return
|
|
367
|
+
get: function () { return chunkGTCAJPQR_cjs.pert; }
|
|
342
368
|
});
|
|
343
369
|
Object.defineProperty(exports, "petri", {
|
|
344
370
|
enumerable: true,
|
|
345
|
-
get: function () { return
|
|
371
|
+
get: function () { return chunkGTCAJPQR_cjs.petri; }
|
|
346
372
|
});
|
|
347
373
|
Object.defineProperty(exports, "pid", {
|
|
348
374
|
enumerable: true,
|
|
349
|
-
get: function () { return
|
|
375
|
+
get: function () { return chunkGTCAJPQR_cjs.pid; }
|
|
350
376
|
});
|
|
351
377
|
Object.defineProperty(exports, "prisma", {
|
|
352
378
|
enumerable: true,
|
|
353
|
-
get: function () { return
|
|
379
|
+
get: function () { return chunkGTCAJPQR_cjs.prisma; }
|
|
354
380
|
});
|
|
355
381
|
Object.defineProperty(exports, "render", {
|
|
356
382
|
enumerable: true,
|
|
357
|
-
get: function () { return
|
|
383
|
+
get: function () { return chunkGTCAJPQR_cjs.render; }
|
|
358
384
|
});
|
|
359
385
|
Object.defineProperty(exports, "renderPreview", {
|
|
360
386
|
enumerable: true,
|
|
361
|
-
get: function () { return
|
|
387
|
+
get: function () { return chunkGTCAJPQR_cjs.renderPreview; }
|
|
362
388
|
});
|
|
363
389
|
Object.defineProperty(exports, "renderResult", {
|
|
364
390
|
enumerable: true,
|
|
365
|
-
get: function () { return
|
|
391
|
+
get: function () { return chunkGTCAJPQR_cjs.renderResult; }
|
|
366
392
|
});
|
|
367
393
|
Object.defineProperty(exports, "sequence", {
|
|
368
394
|
enumerable: true,
|
|
369
|
-
get: function () { return
|
|
395
|
+
get: function () { return chunkGTCAJPQR_cjs.sequence; }
|
|
370
396
|
});
|
|
371
397
|
Object.defineProperty(exports, "state", {
|
|
372
398
|
enumerable: true,
|
|
373
|
-
get: function () { return
|
|
399
|
+
get: function () { return chunkGTCAJPQR_cjs.state; }
|
|
374
400
|
});
|
|
375
401
|
Object.defineProperty(exports, "threatmodel", {
|
|
376
402
|
enumerable: true,
|
|
377
|
-
get: function () { return
|
|
403
|
+
get: function () { return chunkGTCAJPQR_cjs.threatmodel; }
|
|
378
404
|
});
|
|
379
405
|
Object.defineProperty(exports, "timeline", {
|
|
380
406
|
enumerable: true,
|
|
381
|
-
get: function () { return
|
|
407
|
+
get: function () { return chunkGTCAJPQR_cjs.timeline; }
|
|
382
408
|
});
|
|
383
409
|
Object.defineProperty(exports, "umlclass", {
|
|
384
410
|
enumerable: true,
|
|
385
|
-
get: function () { return
|
|
411
|
+
get: function () { return chunkGTCAJPQR_cjs.umlclass; }
|
|
386
412
|
});
|
|
387
413
|
Object.defineProperty(exports, "usecase", {
|
|
388
414
|
enumerable: true,
|
|
389
|
-
get: function () { return
|
|
415
|
+
get: function () { return chunkGTCAJPQR_cjs.usecase; }
|
|
390
416
|
});
|
|
391
417
|
Object.defineProperty(exports, "welding", {
|
|
392
418
|
enumerable: true,
|
|
393
|
-
get: function () { return
|
|
419
|
+
get: function () { return chunkGTCAJPQR_cjs.welding; }
|
|
394
420
|
});
|
|
395
421
|
Object.defineProperty(exports, "orgchart", {
|
|
396
422
|
enumerable: true,
|
|
397
|
-
get: function () { return
|
|
423
|
+
get: function () { return chunk4OC3CTGE_cjs.orgchart; }
|
|
398
424
|
});
|
|
399
425
|
Object.defineProperty(exports, "circuit", {
|
|
400
426
|
enumerable: true,
|
|
401
|
-
get: function () { return
|
|
427
|
+
get: function () { return chunk4AC6I7KJ_cjs.circuit; }
|
|
402
428
|
});
|
|
403
429
|
Object.defineProperty(exports, "blockdiagram", {
|
|
404
430
|
enumerable: true,
|
|
405
|
-
get: function () { return
|
|
431
|
+
get: function () { return chunkC4Y24X3U_cjs.blockdiagram; }
|
|
406
432
|
});
|
|
407
433
|
Object.defineProperty(exports, "ladder", {
|
|
408
434
|
enumerable: true,
|
|
409
|
-
get: function () { return
|
|
435
|
+
get: function () { return chunkINVLJYAE_cjs.ladder; }
|
|
410
436
|
});
|
|
411
437
|
Object.defineProperty(exports, "sld", {
|
|
412
438
|
enumerable: true,
|
|
413
|
-
get: function () { return
|
|
439
|
+
get: function () { return chunkWJXLF42K_cjs.sld; }
|
|
414
440
|
});
|
|
415
441
|
Object.defineProperty(exports, "entity", {
|
|
416
442
|
enumerable: true,
|
|
417
|
-
get: function () { return
|
|
443
|
+
get: function () { return chunkGAQ36VFD_cjs.entity; }
|
|
418
444
|
});
|
|
419
445
|
Object.defineProperty(exports, "fishbone", {
|
|
420
446
|
enumerable: true,
|
|
421
|
-
get: function () { return
|
|
447
|
+
get: function () { return chunk627GHE2N_cjs.fishbone; }
|
|
422
448
|
});
|
|
423
449
|
Object.defineProperty(exports, "venn", {
|
|
424
450
|
enumerable: true,
|
|
425
|
-
get: function () { return
|
|
451
|
+
get: function () { return chunkITI3STJ6_cjs.venn; }
|
|
426
452
|
});
|
|
427
453
|
Object.defineProperty(exports, "flowchart", {
|
|
428
454
|
enumerable: true,
|
|
429
|
-
get: function () { return
|
|
455
|
+
get: function () { return chunkOJ3P4IC4_cjs.flowchart; }
|
|
430
456
|
});
|
|
431
457
|
Object.defineProperty(exports, "genogram", {
|
|
432
458
|
enumerable: true,
|
|
433
|
-
get: function () { return
|
|
459
|
+
get: function () { return chunkVY6UZYYL_cjs.genogram; }
|
|
434
460
|
});
|
|
435
461
|
Object.defineProperty(exports, "ecomap", {
|
|
436
462
|
enumerable: true,
|
|
437
|
-
get: function () { return
|
|
463
|
+
get: function () { return chunkVYQXB2RC_cjs.ecomap; }
|
|
438
464
|
});
|
|
439
465
|
Object.defineProperty(exports, "pedigree", {
|
|
440
466
|
enumerable: true,
|
|
441
|
-
get: function () { return
|
|
467
|
+
get: function () { return chunk6QZQTASC_cjs.pedigree; }
|
|
442
468
|
});
|
|
443
469
|
Object.defineProperty(exports, "phylo", {
|
|
444
470
|
enumerable: true,
|
|
445
|
-
get: function () { return
|
|
471
|
+
get: function () { return chunk6ZD7TCWO_cjs.phylo; }
|
|
446
472
|
});
|
|
447
473
|
Object.defineProperty(exports, "sociogram", {
|
|
448
474
|
enumerable: true,
|
|
449
|
-
get: function () { return
|
|
475
|
+
get: function () { return chunk35NGXDT2_cjs.sociogram; }
|
|
450
476
|
});
|
|
451
477
|
Object.defineProperty(exports, "timing", {
|
|
452
478
|
enumerable: true,
|
|
@@ -454,67 +480,67 @@ Object.defineProperty(exports, "timing", {
|
|
|
454
480
|
});
|
|
455
481
|
Object.defineProperty(exports, "logic", {
|
|
456
482
|
enumerable: true,
|
|
457
|
-
get: function () { return
|
|
483
|
+
get: function () { return chunk5ZQRHDMQ_cjs.logic; }
|
|
458
484
|
});
|
|
459
485
|
Object.defineProperty(exports, "BASE_THEMES", {
|
|
460
486
|
enumerable: true,
|
|
461
|
-
get: function () { return
|
|
487
|
+
get: function () { return chunkENUM7GMZ_cjs.BASE_THEMES; }
|
|
462
488
|
});
|
|
463
489
|
Object.defineProperty(exports, "BIOLOGY_TOKENS", {
|
|
464
490
|
enumerable: true,
|
|
465
|
-
get: function () { return
|
|
491
|
+
get: function () { return chunkENUM7GMZ_cjs.BIOLOGY_TOKENS; }
|
|
466
492
|
});
|
|
467
493
|
Object.defineProperty(exports, "NETWORK_TOKENS", {
|
|
468
494
|
enumerable: true,
|
|
469
|
-
get: function () { return
|
|
495
|
+
get: function () { return chunkENUM7GMZ_cjs.NETWORK_TOKENS; }
|
|
470
496
|
});
|
|
471
497
|
Object.defineProperty(exports, "PERSON_TOKENS", {
|
|
472
498
|
enumerable: true,
|
|
473
|
-
get: function () { return
|
|
499
|
+
get: function () { return chunkENUM7GMZ_cjs.PERSON_TOKENS; }
|
|
474
500
|
});
|
|
475
501
|
Object.defineProperty(exports, "PETRI_TOKENS", {
|
|
476
502
|
enumerable: true,
|
|
477
|
-
get: function () { return
|
|
503
|
+
get: function () { return chunkENUM7GMZ_cjs.PETRI_TOKENS; }
|
|
478
504
|
});
|
|
479
505
|
Object.defineProperty(exports, "VENN_TOKENS", {
|
|
480
506
|
enumerable: true,
|
|
481
|
-
get: function () { return
|
|
507
|
+
get: function () { return chunkENUM7GMZ_cjs.VENN_TOKENS; }
|
|
482
508
|
});
|
|
483
509
|
Object.defineProperty(exports, "resolveBaseTheme", {
|
|
484
510
|
enumerable: true,
|
|
485
|
-
get: function () { return
|
|
511
|
+
get: function () { return chunkENUM7GMZ_cjs.resolveBaseTheme; }
|
|
486
512
|
});
|
|
487
513
|
Object.defineProperty(exports, "resolveBiologyTheme", {
|
|
488
514
|
enumerable: true,
|
|
489
|
-
get: function () { return
|
|
515
|
+
get: function () { return chunkENUM7GMZ_cjs.resolveBiologyTheme; }
|
|
490
516
|
});
|
|
491
517
|
Object.defineProperty(exports, "resolveFishboneTheme", {
|
|
492
518
|
enumerable: true,
|
|
493
|
-
get: function () { return
|
|
519
|
+
get: function () { return chunkENUM7GMZ_cjs.resolveFishboneTheme; }
|
|
494
520
|
});
|
|
495
521
|
Object.defineProperty(exports, "resolveGenogramTheme", {
|
|
496
522
|
enumerable: true,
|
|
497
|
-
get: function () { return
|
|
523
|
+
get: function () { return chunkENUM7GMZ_cjs.resolveGenogramTheme; }
|
|
498
524
|
});
|
|
499
525
|
Object.defineProperty(exports, "resolveNetworkTheme", {
|
|
500
526
|
enumerable: true,
|
|
501
|
-
get: function () { return
|
|
527
|
+
get: function () { return chunkENUM7GMZ_cjs.resolveNetworkTheme; }
|
|
502
528
|
});
|
|
503
529
|
Object.defineProperty(exports, "resolvePersonTheme", {
|
|
504
530
|
enumerable: true,
|
|
505
|
-
get: function () { return
|
|
531
|
+
get: function () { return chunkENUM7GMZ_cjs.resolvePersonTheme; }
|
|
506
532
|
});
|
|
507
533
|
Object.defineProperty(exports, "resolvePetriTheme", {
|
|
508
534
|
enumerable: true,
|
|
509
|
-
get: function () { return
|
|
535
|
+
get: function () { return chunkENUM7GMZ_cjs.resolvePetriTheme; }
|
|
510
536
|
});
|
|
511
537
|
Object.defineProperty(exports, "resolveTimelineTheme", {
|
|
512
538
|
enumerable: true,
|
|
513
|
-
get: function () { return
|
|
539
|
+
get: function () { return chunkENUM7GMZ_cjs.resolveTimelineTheme; }
|
|
514
540
|
});
|
|
515
541
|
Object.defineProperty(exports, "resolveVennTheme", {
|
|
516
542
|
enumerable: true,
|
|
517
|
-
get: function () { return
|
|
543
|
+
get: function () { return chunkENUM7GMZ_cjs.resolveVennTheme; }
|
|
518
544
|
});
|
|
519
545
|
exports.SYMBOL_CATALOG_TYPES = SYMBOL_CATALOG_TYPES;
|
|
520
546
|
exports.getSymbolCatalog = getSymbolCatalog;
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/symbols-catalog.ts"],"names":["SYMBOLS","EXTRA_SYMBOLS","renderSymbol","geometryFor","GEOMETRY","renderEquip","iconNames","renderIcon","getGateGeometry","iconSize","drawDeviceIcon"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * Domain symbol catalogs — the real symbols an engine uses *inside* a diagram\n * (circuit components, SLD apparatus, P&ID equipment, flowchart node icons),\n * each rendered standalone for the /icons showcase. This is distinct from the\n * per-type representative glyph (assets/icons/*.svg).\n *\n * Each entry's `svg` is a complete, self-styled <svg> so consumers can drop it\n * straight into the page.\n */\nimport type { DiagramType, SLDNodeType, LogicGateType } from \"./core/types\";\nimport { SYMBOLS, EXTRA_SYMBOLS } from \"./diagrams/circuit/symbols\";\nimport { renderSymbol as sldRenderSymbol, geometryFor } from \"./diagrams/sld/symbols\";\nimport { renderEquip, GEOMETRY as PID_GEOMETRY } from \"./diagrams/pid/symbols\";\nimport { iconNames, renderIcon } from \"./diagrams/flowchart/icons\";\nimport { getGateGeometry } from \"./diagrams/logic/symbols\";\nimport { drawDeviceIcon, iconSize } from \"./diagrams/network/symbols\";\n\nexport interface SymbolCatalogEntry {\n id: string;\n label: string;\n svg: string;\n}\n\nexport interface SymbolCatalog {\n type: DiagramType;\n /** Human label for the catalog section, e.g. \"Circuit components\". */\n label: string;\n /** Short description of what the symbols are. */\n note: string;\n entries: SymbolCatalogEntry[];\n}\n\nfunction humanize(id: string): string {\n return id\n .replace(/[_-]+/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n}\n\nfunction svgDoc(viewBox: string, css: string, inner: string): string {\n return `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"${viewBox}\" class=\"lt-symbol\">` +\n `<style>${css}</style>${inner}</svg>`;\n}\n\n// ── Circuit (IEEE 315) ─────────────────────────────────────────────\nconst CIRCUIT_CSS =\n \".schematex-circuit-body{stroke:#0f172a;stroke-width:1.75;fill:none;stroke-linejoin:round;stroke-linecap:round}\" +\n \".schematex-circuit-fill{stroke:#0f172a;stroke-width:1.5;fill:#0f172a}\" +\n \".schematex-circuit-wire{stroke:#0f172a;stroke-width:1.75;fill:none;stroke-linecap:square}\";\n\nfunction circuitCatalog(): SymbolCatalogEntry[] {\n const merged: Record<string, { length: number; svg: () => string }> = {\n ...(SYMBOLS as Record<string, { length: number; svg: () => string }>),\n ...(EXTRA_SYMBOLS as Record<string, { length: number; svg: () => string }>),\n };\n const out: SymbolCatalogEntry[] = [];\n for (const [id, def] of Object.entries(merged)) {\n if (!def) continue;\n const L = def.length || 40;\n const inner = def.svg();\n out.push({ id, label: humanize(id), svg: svgDoc(`-10 -24 ${L + 20} 48`, CIRCUIT_CSS, inner) });\n }\n return out.sort((a, b) => a.label.localeCompare(b.label));\n}\n\n// ── SLD (IEEE 315 / IEC 60617) ─────────────────────────────────────\nconst SLD_CSS =\n \".lt-sld-stroke{stroke:#0f172a;stroke-width:1.8;fill:none}\" +\n \".lt-sld-stroke-thick{stroke:#0f172a;stroke-width:2.4;fill:none;stroke-linecap:round}\" +\n \".lt-sld-fill{fill:#ffffff;stroke:#0f172a;stroke-width:2}\" +\n \".lt-sld-fill-dark{fill:#0f172a;stroke:#0f172a;stroke-width:1}\" +\n \".lt-sld-dot{fill:#0f172a;stroke:none}\" +\n \".lt-sld-wire{stroke:#0f172a;stroke-width:2;fill:none}\" +\n \".lt-sld-bus{stroke:#0f172a;stroke-width:6;stroke-linecap:square}\" +\n \".lt-sld-symbol-text{font:11px sans-serif;fill:#0f172a;dominant-baseline:middle}\" +\n \".lt-sld-wdg{font:bold 10px sans-serif;fill:#0f172a;dominant-baseline:middle}\";\n\nconst SLD_TYPES: SLDNodeType[] = [\n \"utility\", \"generator\", \"solar\", \"wind\", \"ups\", \"transformer\", \"transformer_dy\",\n \"transformer_yd\", \"transformer_yy\", \"transformer_dd\", \"autotransformer\",\n \"transformer_3winding\", \"breaker\", \"breaker_vacuum\", \"recloser\", \"switch\",\n \"switch_load\", \"ground_switch\", \"sectionalizer\", \"fuse\", \"fuse_cl\", \"motor\",\n \"load\", \"capacitor_bank\", \"harmonic_filter\", \"vfd\", \"ats\", \"ct\", \"pt\", \"relay\",\n \"surge_arrester\", \"watthour_meter\", \"demand_meter\", \"ground_fault\", \"bus\",\n \"bus_tie\", \"hub\",\n];\n\nfunction sldCatalog(): SymbolCatalogEntry[] {\n const out: SymbolCatalogEntry[] = [];\n for (const type of SLD_TYPES) {\n let inner: string;\n try {\n inner = sldRenderSymbol(type);\n } catch {\n continue;\n }\n const g = geometryFor(type);\n const w = Math.max(g.halfWidth, 18) + 12;\n const top = Math.min(g.topY, -22) - 8;\n const bot = Math.max(g.bottomY, 22) + 8;\n out.push({\n id: type,\n label: humanize(type),\n svg: svgDoc(`${-w} ${top} ${2 * w} ${bot - top}`, SLD_CSS, inner),\n });\n }\n return out.sort((a, b) => a.label.localeCompare(b.label));\n}\n\n// ── P&ID (ISA-5.1) equipment ───────────────────────────────────────\nconst PID_CSS =\n \".lt-pid-equip{fill:#ffffff;stroke:#1d1d1d;stroke-width:1.6}\" +\n \".lt-pid-equip-tag{font:600 11px system-ui,sans-serif;fill:#1d1d1d}\" +\n \".lt-pid-process{stroke:#1d1d1d;stroke-width:2.6;fill:none}\" +\n \".lt-pid-process-min{stroke:#1d1d1d;stroke-width:1.5;fill:none}\";\n\nfunction pidCatalog(): SymbolCatalogEntry[] {\n const out: SymbolCatalogEntry[] = [];\n const pad = 12;\n for (const [id, g] of Object.entries(PID_GEOMETRY)) {\n let inner: string;\n try {\n inner = renderEquip(id as Parameters<typeof renderEquip>[0], \"\");\n } catch {\n continue;\n }\n out.push({\n id,\n label: humanize(id),\n svg: svgDoc(\n `${-g.width / 2 - pad} ${-g.height / 2 - pad} ${g.width + 2 * pad} ${g.height + 2 * pad}`,\n PID_CSS,\n inner,\n ),\n });\n }\n return out.sort((a, b) => a.label.localeCompare(b.label));\n}\n\n// ── Flowchart node icons ───────────────────────────────────────────\nconst FC_ICON_CSS =\n \".sx-fc-icon{stroke:#0f172a;fill:none}.sx-fc-icon-fill{fill:#0f172a}\";\n\nfunction flowchartIconCatalog(): SymbolCatalogEntry[] {\n return iconNames()\n .map((name) => ({\n id: name,\n label: humanize(name),\n svg: svgDoc(\"-13 -13 26 26\", FC_ICON_CSS, renderIcon(name)),\n }))\n .sort((a, b) => a.label.localeCompare(b.label));\n}\n\n// ── Logic gates (IEEE 91) ──────────────────────────────────────────\nconst LOGIC_CSS =\n \".schematex-logic-gate-body{fill:none;stroke:#0f172a;stroke-width:1.75;stroke-linejoin:round}\" +\n \".schematex-logic-bubble{fill:#ffffff;stroke:#0f172a;stroke-width:1.5}\" +\n \".schematex-logic-wire{stroke:#0f172a;stroke-width:1.5;fill:none;stroke-linecap:square}\" +\n \".schematex-logic-gate-iec-label{font:bold 13px sans-serif;fill:#0f172a}\";\n\nconst LOGIC_TYPES: LogicGateType[] = [\n \"AND\", \"OR\", \"NOT\", \"NAND\", \"NOR\", \"XOR\", \"XNOR\", \"BUF\", \"TRISTATE_BUF\",\n \"OPEN_DRAIN\", \"SCHMITT\", \"DFF\", \"JKFF\", \"SRFF\", \"TFF\", \"LATCH_D\", \"LATCH_SR\",\n \"MUX\", \"DEMUX\", \"DECODER\", \"ENCODER\", \"COUNTER\", \"SHIFT_REG\",\n];\nconst SINGLE_INPUT = new Set<LogicGateType>([\"NOT\", \"BUF\", \"SCHMITT\", \"TRISTATE_BUF\", \"TRISTATE_INV\", \"OPEN_DRAIN\", \"DFF\", \"TFF\"]);\n\nfunction logicCatalog(): SymbolCatalogEntry[] {\n const out: SymbolCatalogEntry[] = [];\n for (const type of LOGIC_TYPES) {\n let g;\n try {\n g = getGateGeometry(type, SINGLE_INPUT.has(type) ? 1 : 2);\n } catch {\n continue;\n }\n const parts = [`<path d=\"${g.ansiPath}\" class=\"schematex-logic-gate-body\"/>`];\n for (const p of g.inputPins) parts.push(`<line x1=\"${p.x - 10}\" y1=\"${p.y}\" x2=\"${p.x}\" y2=\"${p.y}\" class=\"schematex-logic-wire\"/>`);\n for (const p of g.outputPins) {\n const bub = p.bubble || g.outputBubble;\n const ox = bub ? p.x + 6 : p.x;\n if (bub) parts.push(`<circle cx=\"${p.x + 3}\" cy=\"${p.y}\" r=\"3\" class=\"schematex-logic-bubble\"/>`);\n parts.push(`<line x1=\"${ox}\" y1=\"${p.y}\" x2=\"${ox + 10}\" y2=\"${p.y}\" class=\"schematex-logic-wire\"/>`);\n }\n out.push({\n id: type,\n label: humanize(type),\n svg: svgDoc(`-14 -6 ${g.width + 28} ${g.height + 12}`, LOGIC_CSS, parts.join(\"\")),\n });\n }\n return out.sort((a, b) => a.label.localeCompare(b.label));\n}\n\n// ── Network devices (Cisco-convention icons) ───────────────────────\nconst NETWORK_CSS =\n \".sx-net-body{fill:#ffffff;stroke:#0f172a;stroke-width:2}\" +\n \".sx-net-detail{fill:none;stroke:#0f172a;stroke-width:1}\" +\n \".sx-net-glyph{fill:#2563eb;stroke:none}\" +\n \".sx-net-glyph-line{fill:none;stroke:#2563eb;stroke-width:1.4}\" +\n \".sx-net-icontext{font:700 8px sans-serif;fill:#2563eb}\" +\n \".sx-net-cloud-body{fill:#f1f5f9;stroke:#0f172a;stroke-width:2}\" +\n \".sx-net-cloudtext{font:600 13px sans-serif;fill:#0f172a}\" +\n \".sx-net-bus{stroke:#0f172a;stroke-width:4;stroke-linecap:round}\";\n\nconst NETWORK_KINDS = [\n \"router\", \"switch\", \"l3switch\", \"poeswitch\", \"firewall\", \"loadbalancer\", \"ap\",\n \"wlc\", \"gateway\", \"modem\", \"ids\", \"proxy\", \"vpngw\", \"server\", \"serverfarm\",\n \"pc\", \"laptop\", \"mobile\", \"ipphone\", \"printer\", \"storage\", \"camera\", \"nvr\",\n \"dvr\", \"encoder\", \"monitor\", \"internet\", \"cloud\",\n] as const;\n\nfunction networkCatalog(): SymbolCatalogEntry[] {\n const out: SymbolCatalogEntry[] = [];\n for (const kind of NETWORK_KINDS) {\n const { w, h } = iconSize(kind as Parameters<typeof iconSize>[0]);\n const device = { id: kind, kind, label: humanize(kind), groups: [] } as Parameters<typeof drawDeviceIcon>[0];\n let inner: string;\n try {\n inner = drawDeviceIcon(device, { x: 0, y: 0, w, h });\n } catch {\n continue;\n }\n out.push({\n id: kind,\n label: humanize(kind),\n svg: svgDoc(`-6 -6 ${w + 12} ${h + 12}`, NETWORK_CSS, inner),\n });\n }\n return out.sort((a, b) => a.label.localeCompare(b.label));\n}\n\nconst CATALOGS: Partial<Record<DiagramType, () => SymbolCatalog>> = {\n circuit: () => ({\n type: \"circuit\",\n label: \"Circuit components\",\n note: \"IEEE 315 / ANSI Y32.2 schematic symbols the netlist/positional engine draws.\",\n entries: circuitCatalog(),\n }),\n sld: () => ({\n type: \"sld\",\n label: \"Single-line apparatus\",\n note: \"IEEE 315 power-apparatus symbols — sources, transformers, switching, protection, loads.\",\n entries: sldCatalog(),\n }),\n pid: () => ({\n type: \"pid\",\n label: \"P&ID equipment\",\n note: \"ANSI/ISA-5.1 process equipment — tanks, columns, exchangers, pumps, and more.\",\n entries: pidCatalog(),\n }),\n logic: () => ({\n type: \"logic\",\n label: \"Logic gates\",\n note: \"IEEE 91 ANSI gate bodies — combinational gates, flip-flops, latches, MUX/decoder, counters.\",\n entries: logicCatalog(),\n }),\n network: () => ({\n type: \"network\",\n label: \"Network devices\",\n note: \"Cisco-convention topology icons — routers, switches, firewalls, servers, cameras, clouds.\",\n entries: networkCatalog(),\n }),\n flowchart: () => ({\n type: \"flowchart\",\n label: \"Node icons\",\n note: \"Inline node icons (servers, databases, cloud, gear…) usable on any flowchart node.\",\n entries: flowchartIconCatalog(),\n }),\n};\n\n/** Diagram types that ship a renderable domain symbol catalog. */\nexport const SYMBOL_CATALOG_TYPES = Object.keys(CATALOGS) as DiagramType[];\n\nexport function getSymbolCatalog(type: string): SymbolCatalog | null {\n const factory = CATALOGS[type as DiagramType];\n return factory ? factory() : null;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/symbols-catalog.ts"],"names":["SYMBOLS","EXTRA_SYMBOLS","renderSymbol","geometryFor","GEOMETRY","renderEquip","iconNames","renderIcon","getGateGeometry","iconSize","drawDeviceIcon","FLOORPLAN_SYMBOLS"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * Domain symbol catalogs — the real symbols an engine uses *inside* a diagram\n * (circuit components, SLD apparatus, P&ID equipment, flowchart node icons),\n * each rendered standalone for the /icons showcase. This is distinct from the\n * per-type representative glyph (assets/icons/*.svg).\n *\n * Each entry's `svg` is a complete, self-styled <svg> so consumers can drop it\n * straight into the page.\n */\nimport type { DiagramType, SLDNodeType, LogicGateType } from \"./core/types\";\nimport { SYMBOLS, EXTRA_SYMBOLS } from \"./diagrams/circuit/symbols\";\nimport { renderSymbol as sldRenderSymbol, geometryFor } from \"./diagrams/sld/symbols\";\nimport { renderEquip, GEOMETRY as PID_GEOMETRY } from \"./diagrams/pid/symbols\";\nimport { iconNames, renderIcon } from \"./diagrams/flowchart/icons\";\nimport { getGateGeometry } from \"./diagrams/logic/symbols\";\nimport { drawDeviceIcon, iconSize } from \"./diagrams/network/symbols\";\nimport { FLOORPLAN_SYMBOLS } from \"./diagrams/floorplan/catalog\";\n\nexport interface SymbolCatalogEntry {\n id: string;\n label: string;\n svg: string;\n}\n\nexport interface SymbolCatalog {\n type: DiagramType;\n /** Human label for the catalog section, e.g. \"Circuit components\". */\n label: string;\n /** Short description of what the symbols are. */\n note: string;\n entries: SymbolCatalogEntry[];\n}\n\nfunction humanize(id: string): string {\n return id\n .replace(/[_-]+/g, \" \")\n .replace(/\\b\\w/g, (c) => c.toUpperCase());\n}\n\nfunction svgDoc(viewBox: string, css: string, inner: string): string {\n return `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"${viewBox}\" class=\"lt-symbol\">` +\n `<style>${css}</style>${inner}</svg>`;\n}\n\n// ── Circuit (IEEE 315) ─────────────────────────────────────────────\nconst CIRCUIT_CSS =\n \".schematex-circuit-body{stroke:#0f172a;stroke-width:1.75;fill:none;stroke-linejoin:round;stroke-linecap:round}\" +\n \".schematex-circuit-fill{stroke:#0f172a;stroke-width:1.5;fill:#0f172a}\" +\n \".schematex-circuit-wire{stroke:#0f172a;stroke-width:1.75;fill:none;stroke-linecap:square}\";\n\nfunction circuitCatalog(): SymbolCatalogEntry[] {\n const merged: Record<string, { length: number; svg: () => string }> = {\n ...(SYMBOLS as Record<string, { length: number; svg: () => string }>),\n ...(EXTRA_SYMBOLS as Record<string, { length: number; svg: () => string }>),\n };\n const out: SymbolCatalogEntry[] = [];\n for (const [id, def] of Object.entries(merged)) {\n if (!def) continue;\n const L = def.length || 40;\n const inner = def.svg();\n out.push({ id, label: humanize(id), svg: svgDoc(`-10 -24 ${L + 20} 48`, CIRCUIT_CSS, inner) });\n }\n return out.sort((a, b) => a.label.localeCompare(b.label));\n}\n\n// ── SLD (IEEE 315 / IEC 60617) ─────────────────────────────────────\nconst SLD_CSS =\n \".lt-sld-stroke{stroke:#0f172a;stroke-width:1.8;fill:none}\" +\n \".lt-sld-stroke-thick{stroke:#0f172a;stroke-width:2.4;fill:none;stroke-linecap:round}\" +\n \".lt-sld-fill{fill:#ffffff;stroke:#0f172a;stroke-width:2}\" +\n \".lt-sld-fill-dark{fill:#0f172a;stroke:#0f172a;stroke-width:1}\" +\n \".lt-sld-dot{fill:#0f172a;stroke:none}\" +\n \".lt-sld-wire{stroke:#0f172a;stroke-width:2;fill:none}\" +\n \".lt-sld-bus{stroke:#0f172a;stroke-width:6;stroke-linecap:square}\" +\n \".lt-sld-symbol-text{font:11px sans-serif;fill:#0f172a;dominant-baseline:middle}\" +\n \".lt-sld-wdg{font:bold 10px sans-serif;fill:#0f172a;dominant-baseline:middle}\";\n\nconst SLD_TYPES: SLDNodeType[] = [\n \"utility\", \"generator\", \"solar\", \"wind\", \"ups\", \"transformer\", \"transformer_dy\",\n \"transformer_yd\", \"transformer_yy\", \"transformer_dd\", \"autotransformer\",\n \"transformer_3winding\", \"breaker\", \"breaker_vacuum\", \"recloser\", \"switch\",\n \"switch_load\", \"ground_switch\", \"sectionalizer\", \"fuse\", \"fuse_cl\", \"motor\",\n \"load\", \"capacitor_bank\", \"harmonic_filter\", \"vfd\", \"ats\", \"ct\", \"pt\", \"relay\",\n \"surge_arrester\", \"watthour_meter\", \"demand_meter\", \"ground_fault\", \"bus\",\n \"bus_tie\", \"hub\",\n];\n\nfunction sldCatalog(): SymbolCatalogEntry[] {\n const out: SymbolCatalogEntry[] = [];\n for (const type of SLD_TYPES) {\n let inner: string;\n try {\n inner = sldRenderSymbol(type);\n } catch {\n continue;\n }\n const g = geometryFor(type);\n const w = Math.max(g.halfWidth, 18) + 12;\n const top = Math.min(g.topY, -22) - 8;\n const bot = Math.max(g.bottomY, 22) + 8;\n out.push({\n id: type,\n label: humanize(type),\n svg: svgDoc(`${-w} ${top} ${2 * w} ${bot - top}`, SLD_CSS, inner),\n });\n }\n return out.sort((a, b) => a.label.localeCompare(b.label));\n}\n\n// ── P&ID (ISA-5.1) equipment ───────────────────────────────────────\nconst PID_CSS =\n \".lt-pid-equip{fill:#ffffff;stroke:#1d1d1d;stroke-width:1.6}\" +\n \".lt-pid-equip-tag{font:600 11px system-ui,sans-serif;fill:#1d1d1d}\" +\n \".lt-pid-process{stroke:#1d1d1d;stroke-width:2.6;fill:none}\" +\n \".lt-pid-process-min{stroke:#1d1d1d;stroke-width:1.5;fill:none}\";\n\nfunction pidCatalog(): SymbolCatalogEntry[] {\n const out: SymbolCatalogEntry[] = [];\n const pad = 12;\n for (const [id, g] of Object.entries(PID_GEOMETRY)) {\n let inner: string;\n try {\n inner = renderEquip(id as Parameters<typeof renderEquip>[0], \"\");\n } catch {\n continue;\n }\n out.push({\n id,\n label: humanize(id),\n svg: svgDoc(\n `${-g.width / 2 - pad} ${-g.height / 2 - pad} ${g.width + 2 * pad} ${g.height + 2 * pad}`,\n PID_CSS,\n inner,\n ),\n });\n }\n return out.sort((a, b) => a.label.localeCompare(b.label));\n}\n\n// ── Flowchart node icons ───────────────────────────────────────────\nconst FC_ICON_CSS =\n \".sx-fc-icon{stroke:#0f172a;fill:none}.sx-fc-icon-fill{fill:#0f172a}\";\n\nfunction flowchartIconCatalog(): SymbolCatalogEntry[] {\n return iconNames()\n .map((name) => ({\n id: name,\n label: humanize(name),\n svg: svgDoc(\"-13 -13 26 26\", FC_ICON_CSS, renderIcon(name)),\n }))\n .sort((a, b) => a.label.localeCompare(b.label));\n}\n\n// ── Logic gates (IEEE 91) ──────────────────────────────────────────\nconst LOGIC_CSS =\n \".schematex-logic-gate-body{fill:none;stroke:#0f172a;stroke-width:1.75;stroke-linejoin:round}\" +\n \".schematex-logic-bubble{fill:#ffffff;stroke:#0f172a;stroke-width:1.5}\" +\n \".schematex-logic-wire{stroke:#0f172a;stroke-width:1.5;fill:none;stroke-linecap:square}\" +\n \".schematex-logic-gate-iec-label{font:bold 13px sans-serif;fill:#0f172a}\";\n\nconst LOGIC_TYPES: LogicGateType[] = [\n \"AND\", \"OR\", \"NOT\", \"NAND\", \"NOR\", \"XOR\", \"XNOR\", \"BUF\", \"TRISTATE_BUF\",\n \"OPEN_DRAIN\", \"SCHMITT\", \"DFF\", \"JKFF\", \"SRFF\", \"TFF\", \"LATCH_D\", \"LATCH_SR\",\n \"MUX\", \"DEMUX\", \"DECODER\", \"ENCODER\", \"COUNTER\", \"SHIFT_REG\",\n];\nconst SINGLE_INPUT = new Set<LogicGateType>([\"NOT\", \"BUF\", \"SCHMITT\", \"TRISTATE_BUF\", \"TRISTATE_INV\", \"OPEN_DRAIN\", \"DFF\", \"TFF\"]);\n\nfunction logicCatalog(): SymbolCatalogEntry[] {\n const out: SymbolCatalogEntry[] = [];\n for (const type of LOGIC_TYPES) {\n let g;\n try {\n g = getGateGeometry(type, SINGLE_INPUT.has(type) ? 1 : 2);\n } catch {\n continue;\n }\n const parts = [`<path d=\"${g.ansiPath}\" class=\"schematex-logic-gate-body\"/>`];\n for (const p of g.inputPins) parts.push(`<line x1=\"${p.x - 10}\" y1=\"${p.y}\" x2=\"${p.x}\" y2=\"${p.y}\" class=\"schematex-logic-wire\"/>`);\n for (const p of g.outputPins) {\n const bub = p.bubble || g.outputBubble;\n const ox = bub ? p.x + 6 : p.x;\n if (bub) parts.push(`<circle cx=\"${p.x + 3}\" cy=\"${p.y}\" r=\"3\" class=\"schematex-logic-bubble\"/>`);\n parts.push(`<line x1=\"${ox}\" y1=\"${p.y}\" x2=\"${ox + 10}\" y2=\"${p.y}\" class=\"schematex-logic-wire\"/>`);\n }\n out.push({\n id: type,\n label: humanize(type),\n svg: svgDoc(`-14 -6 ${g.width + 28} ${g.height + 12}`, LOGIC_CSS, parts.join(\"\")),\n });\n }\n return out.sort((a, b) => a.label.localeCompare(b.label));\n}\n\n// ── Network devices (Cisco-convention icons) ───────────────────────\nconst NETWORK_CSS =\n \".sx-net-body{fill:#ffffff;stroke:#0f172a;stroke-width:2}\" +\n \".sx-net-detail{fill:none;stroke:#0f172a;stroke-width:1}\" +\n \".sx-net-glyph{fill:#2563eb;stroke:none}\" +\n \".sx-net-glyph-line{fill:none;stroke:#2563eb;stroke-width:1.4}\" +\n \".sx-net-icontext{font:700 8px sans-serif;fill:#2563eb}\" +\n \".sx-net-cloud-body{fill:#f1f5f9;stroke:#0f172a;stroke-width:2}\" +\n \".sx-net-cloudtext{font:600 13px sans-serif;fill:#0f172a}\" +\n \".sx-net-bus{stroke:#0f172a;stroke-width:4;stroke-linecap:round}\";\n\nconst NETWORK_KINDS = [\n \"router\", \"switch\", \"l3switch\", \"poeswitch\", \"firewall\", \"loadbalancer\", \"ap\",\n \"wlc\", \"gateway\", \"modem\", \"ids\", \"proxy\", \"vpngw\", \"server\", \"serverfarm\",\n \"pc\", \"laptop\", \"mobile\", \"ipphone\", \"printer\", \"storage\", \"camera\", \"nvr\",\n \"dvr\", \"encoder\", \"monitor\", \"internet\", \"cloud\",\n] as const;\n\nfunction networkCatalog(): SymbolCatalogEntry[] {\n const out: SymbolCatalogEntry[] = [];\n for (const kind of NETWORK_KINDS) {\n const { w, h } = iconSize(kind as Parameters<typeof iconSize>[0]);\n const device = { id: kind, kind, label: humanize(kind), groups: [] } as Parameters<typeof drawDeviceIcon>[0];\n let inner: string;\n try {\n inner = drawDeviceIcon(device, { x: 0, y: 0, w, h });\n } catch {\n continue;\n }\n out.push({\n id: kind,\n label: humanize(kind),\n svg: svgDoc(`-6 -6 ${w + 12} ${h + 12}`, NETWORK_CSS, inner),\n });\n }\n return out.sort((a, b) => a.label.localeCompare(b.label));\n}\n\n// ── Floor plan furniture & fixtures (AGS plan view) ────────────────\nconst FLOORPLAN_CSS =\n \".sx-fp-furn{fill:#ffffff;stroke:#475569;stroke-width:1.2}\" +\n \".sx-fp-furn-nofill{fill:none;stroke:#475569;stroke-width:1.2}\" +\n \".sx-fp-furn-line{fill:none;stroke:#475569;stroke-width:1}\" +\n \".sx-fp-furn-dash{fill:none;stroke:#475569;stroke-width:1;stroke-dasharray:4 3}\" +\n \".sx-fp-furn-dot{fill:#475569;stroke:none}\" +\n \".sx-fp-furn-solid{fill:#334155;stroke:none}\" +\n \".sx-fp-board-inner{fill:#ffffff;stroke:none}\" +\n \".sx-fp-chair{fill:#f1f5f9;stroke:#475569;stroke-width:1}\" +\n \".sx-fp-rug{fill:none;stroke:#94a3b8;stroke-width:1.2;stroke-dasharray:5 4}\" +\n \".sx-fp-hatch{fill:none;stroke:#cbd5e1;stroke-width:1}\" +\n \".sx-fp-furn-text{font-weight:600;font-family:sans-serif;fill:#475569}\";\n\nfunction floorplanCatalog(): SymbolCatalogEntry[] {\n const scale = 40; // px per meter for the standalone sheet\n const px = (m: number): number => Math.round(m * scale * 100) / 100;\n const out: SymbolCatalogEntry[] = [];\n for (const [id, def] of Object.entries(FLOORPLAN_SYMBOLS)) {\n const [mt, mr, mb, ml] = def.envelope ?? [0, 0, 0, 0];\n const pad = 5;\n const x0 = -px(ml) - pad;\n const y0 = -px(mt) - pad;\n const w = px(def.w + ml + mr) + 2 * pad;\n const h = px(def.h + mt + mb) + 2 * pad;\n out.push({\n id,\n label: humanize(id),\n svg: svgDoc(`${x0} ${y0} ${w} ${h}`, FLOORPLAN_CSS, def.draw({ w: def.w, h: def.h, px })),\n });\n }\n return out.sort((a, b) => a.label.localeCompare(b.label));\n}\n\nconst CATALOGS: Partial<Record<DiagramType, () => SymbolCatalog>> = {\n circuit: () => ({\n type: \"circuit\",\n label: \"Circuit components\",\n note: \"IEEE 315 / ANSI Y32.2 schematic symbols the netlist/positional engine draws.\",\n entries: circuitCatalog(),\n }),\n sld: () => ({\n type: \"sld\",\n label: \"Single-line apparatus\",\n note: \"IEEE 315 power-apparatus symbols — sources, transformers, switching, protection, loads.\",\n entries: sldCatalog(),\n }),\n pid: () => ({\n type: \"pid\",\n label: \"P&ID equipment\",\n note: \"ANSI/ISA-5.1 process equipment — tanks, columns, exchangers, pumps, and more.\",\n entries: pidCatalog(),\n }),\n logic: () => ({\n type: \"logic\",\n label: \"Logic gates\",\n note: \"IEEE 91 ANSI gate bodies — combinational gates, flip-flops, latches, MUX/decoder, counters.\",\n entries: logicCatalog(),\n }),\n network: () => ({\n type: \"network\",\n label: \"Network devices\",\n note: \"Cisco-convention topology icons — routers, switches, firewalls, servers, cameras, clouds.\",\n entries: networkCatalog(),\n }),\n flowchart: () => ({\n type: \"flowchart\",\n label: \"Node icons\",\n note: \"Inline node icons (servers, databases, cloud, gear…) usable on any flowchart node.\",\n entries: flowchartIconCatalog(),\n }),\n floorplan: () => ({\n type: \"floorplan\",\n label: \"Floor plan furniture & fixtures\",\n note: \"AGS plan-view symbols — auto-seated tables, beds, kitchen/bath fixtures, classroom and event/banquet furniture.\",\n entries: floorplanCatalog(),\n }),\n};\n\n/** Diagram types that ship a renderable domain symbol catalog. */\nexport const SYMBOL_CATALOG_TYPES = Object.keys(CATALOGS) as DiagramType[];\n\nexport function getSymbolCatalog(type: string): SymbolCatalog | null {\n const factory = CATALOGS[type as DiagramType];\n return factory ? factory() : null;\n}\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { S as SchematexConfig, p as parse, a as parseResult, r as render, b as renderPreview, c as renderResult } from './api-
|
|
2
|
-
import { D as DiagramPlugin, a as DiagramType } from './diagnostics-
|
|
3
|
-
export { S as SchematexDiagnostic, b as SchematexParseResult, c as SchematexRenderResult, d as SchematexResultStatus } from './diagnostics-
|
|
1
|
+
export { S as SchematexConfig, p as parse, a as parseResult, r as render, b as renderPreview, c as renderResult } from './api-1xoGiseb.cjs';
|
|
2
|
+
import { D as DiagramPlugin, a as DiagramType } from './diagnostics-CDwnQ65n.cjs';
|
|
3
|
+
export { S as SchematexDiagnostic, b as SchematexParseResult, c as SchematexRenderResult, d as SchematexResultStatus } from './diagnostics-CDwnQ65n.cjs';
|
|
4
4
|
export { genogram } from './diagrams/genogram/index.cjs';
|
|
5
5
|
export { ecomap } from './diagrams/ecomap/index.cjs';
|
|
6
6
|
export { pedigree } from './diagrams/pedigree/index.cjs';
|
|
@@ -15,7 +15,7 @@ export { sld } from './diagrams/sld/index.cjs';
|
|
|
15
15
|
export { entity } from './diagrams/entity/index.cjs';
|
|
16
16
|
export { fishbone } from './diagrams/fishbone/index.cjs';
|
|
17
17
|
export { venn } from './diagrams/venn/index.cjs';
|
|
18
|
-
export { B as BASE_THEMES, a as BIOLOGY_TOKENS, b as BaseTheme, c as BiologyTokens, N as NETWORK_TOKENS, d as NetworkTokens, P as PERSON_TOKENS, e as PETRI_TOKENS, f as PersonTokens, g as PetriTokens, R as ResolvedTheme, T as ThemeName, h as TimelineTokens, V as VENN_TOKENS, i as VennTokens, j as flowchart, r as resolveBaseTheme, k as resolveBiologyTheme, l as resolveFishboneTheme, m as resolveGenogramTheme, n as resolveNetworkTheme, o as resolvePersonTheme, p as resolvePetriTheme, q as resolveTimelineTheme, s as resolveVennTheme } from './index-
|
|
18
|
+
export { B as BASE_THEMES, a as BIOLOGY_TOKENS, b as BaseTheme, c as BiologyTokens, N as NETWORK_TOKENS, d as NetworkTokens, P as PERSON_TOKENS, e as PETRI_TOKENS, f as PersonTokens, g as PetriTokens, R as ResolvedTheme, T as ThemeName, h as TimelineTokens, V as VENN_TOKENS, i as VennTokens, j as flowchart, r as resolveBaseTheme, k as resolveBiologyTheme, l as resolveFishboneTheme, m as resolveGenogramTheme, n as resolveNetworkTheme, o as resolvePersonTheme, p as resolvePetriTheme, q as resolveTimelineTheme, s as resolveVennTheme } from './index-DNOoLmYX.cjs';
|
|
19
19
|
export { orgchart } from './diagrams/orgchart/index.cjs';
|
|
20
20
|
|
|
21
21
|
declare const decisiontree: DiagramPlugin;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { S as SchematexConfig, p as parse, a as parseResult, r as render, b as renderPreview, c as renderResult } from './api-
|
|
2
|
-
import { D as DiagramPlugin, a as DiagramType } from './diagnostics-
|
|
3
|
-
export { S as SchematexDiagnostic, b as SchematexParseResult, c as SchematexRenderResult, d as SchematexResultStatus } from './diagnostics-
|
|
1
|
+
export { S as SchematexConfig, p as parse, a as parseResult, r as render, b as renderPreview, c as renderResult } from './api-CgXRSnCn.js';
|
|
2
|
+
import { D as DiagramPlugin, a as DiagramType } from './diagnostics-CDwnQ65n.js';
|
|
3
|
+
export { S as SchematexDiagnostic, b as SchematexParseResult, c as SchematexRenderResult, d as SchematexResultStatus } from './diagnostics-CDwnQ65n.js';
|
|
4
4
|
export { genogram } from './diagrams/genogram/index.js';
|
|
5
5
|
export { ecomap } from './diagrams/ecomap/index.js';
|
|
6
6
|
export { pedigree } from './diagrams/pedigree/index.js';
|
|
@@ -15,7 +15,7 @@ export { sld } from './diagrams/sld/index.js';
|
|
|
15
15
|
export { entity } from './diagrams/entity/index.js';
|
|
16
16
|
export { fishbone } from './diagrams/fishbone/index.js';
|
|
17
17
|
export { venn } from './diagrams/venn/index.js';
|
|
18
|
-
export { B as BASE_THEMES, a as BIOLOGY_TOKENS, b as BaseTheme, c as BiologyTokens, N as NETWORK_TOKENS, d as NetworkTokens, P as PERSON_TOKENS, e as PETRI_TOKENS, f as PersonTokens, g as PetriTokens, R as ResolvedTheme, T as ThemeName, h as TimelineTokens, V as VENN_TOKENS, i as VennTokens, j as flowchart, r as resolveBaseTheme, k as resolveBiologyTheme, l as resolveFishboneTheme, m as resolveGenogramTheme, n as resolveNetworkTheme, o as resolvePersonTheme, p as resolvePetriTheme, q as resolveTimelineTheme, s as resolveVennTheme } from './index-
|
|
18
|
+
export { B as BASE_THEMES, a as BIOLOGY_TOKENS, b as BaseTheme, c as BiologyTokens, N as NETWORK_TOKENS, d as NetworkTokens, P as PERSON_TOKENS, e as PETRI_TOKENS, f as PersonTokens, g as PetriTokens, R as ResolvedTheme, T as ThemeName, h as TimelineTokens, V as VENN_TOKENS, i as VennTokens, j as flowchart, r as resolveBaseTheme, k as resolveBiologyTheme, l as resolveFishboneTheme, m as resolveGenogramTheme, n as resolveNetworkTheme, o as resolvePersonTheme, p as resolvePetriTheme, q as resolveTimelineTheme, s as resolveVennTheme } from './index-CYSH3_ca.js';
|
|
19
19
|
export { orgchart } from './diagrams/orgchart/index.js';
|
|
20
20
|
|
|
21
21
|
declare const decisiontree: DiagramPlugin;
|