schematex 0.9.10 → 0.9.12
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/ai/ai-sdk.cjs +10 -9
- package/dist/ai/ai-sdk.cjs.map +1 -1
- package/dist/ai/ai-sdk.d.cts +5 -5
- package/dist/ai/ai-sdk.d.ts +5 -5
- package/dist/ai/ai-sdk.js +5 -4
- package/dist/ai/ai-sdk.js.map +1 -1
- package/dist/ai/index.cjs +19 -18
- package/dist/ai/index.cjs.map +1 -1
- package/dist/ai/index.d.cts +4 -4
- package/dist/ai/index.d.ts +4 -4
- package/dist/ai/index.js +6 -5
- package/dist/ai/index.js.map +1 -1
- package/dist/{api-D_d-JklT.d.ts → api-C9ufsgIb.d.ts} +2 -2
- package/dist/{api-DnTyW-6F.d.cts → api-DAUFeETp.d.cts} +2 -2
- package/dist/browser.cjs +11 -10
- package/dist/browser.cjs.map +1 -1
- package/dist/browser.d.cts +3 -3
- package/dist/browser.d.ts +3 -3
- package/dist/browser.js +5 -4
- package/dist/browser.js.map +1 -1
- package/dist/{chunk-IHX6J4HF.js → chunk-32LOZTNP.js} +178 -4
- package/dist/chunk-32LOZTNP.js.map +1 -0
- package/dist/{chunk-CXA45HIT.js → chunk-6KW7XSUR.js} +203 -12
- package/dist/chunk-6KW7XSUR.js.map +1 -0
- package/dist/{chunk-TXWVJAMR.cjs → chunk-HEGDKO2E.cjs} +178 -4
- package/dist/chunk-HEGDKO2E.cjs.map +1 -0
- package/dist/chunk-IBZKIMT5.cjs +826 -0
- package/dist/chunk-IBZKIMT5.cjs.map +1 -0
- package/dist/{chunk-T5QOVX2I.js → chunk-JLLDJCLW.js} +13194 -13037
- package/dist/chunk-JLLDJCLW.js.map +1 -0
- package/dist/{chunk-OY2CXLVY.cjs → chunk-MGMR6V6N.cjs} +13196 -13037
- package/dist/chunk-MGMR6V6N.cjs.map +1 -0
- package/dist/{chunk-MXV3XJFH.cjs → chunk-OGF7QM74.cjs} +80 -17
- package/dist/chunk-OGF7QM74.cjs.map +1 -0
- package/dist/chunk-PGMKMIGM.js +818 -0
- package/dist/chunk-PGMKMIGM.js.map +1 -0
- package/dist/{chunk-MVTYPWHO.js → chunk-Q5MQLUOH.js} +80 -17
- package/dist/chunk-Q5MQLUOH.js.map +1 -0
- package/dist/{chunk-CA54ESRT.cjs → chunk-YLG7S4SM.cjs} +205 -14
- package/dist/chunk-YLG7S4SM.cjs.map +1 -0
- package/dist/{diagnostics-D2qkBfFx.d.cts → diagnostics-DSxLohjY.d.cts} +9 -3
- package/dist/{diagnostics-D2qkBfFx.d.ts → diagnostics-DSxLohjY.d.ts} +9 -3
- package/dist/diagrams/blockdiagram/index.d.cts +1 -1
- package/dist/diagrams/blockdiagram/index.d.ts +1 -1
- package/dist/diagrams/circuit/index.cjs +8 -8
- package/dist/diagrams/circuit/index.d.cts +1 -1
- package/dist/diagrams/circuit/index.d.ts +1 -1
- package/dist/diagrams/circuit/index.js +1 -1
- package/dist/diagrams/ecomap/index.d.cts +1 -1
- package/dist/diagrams/ecomap/index.d.ts +1 -1
- package/dist/diagrams/entity/index.d.cts +1 -1
- package/dist/diagrams/entity/index.d.ts +1 -1
- package/dist/diagrams/fishbone/index.d.cts +1 -1
- package/dist/diagrams/fishbone/index.d.ts +1 -1
- package/dist/diagrams/flowchart/index.d.cts +2 -2
- package/dist/diagrams/flowchart/index.d.ts +2 -2
- package/dist/diagrams/genogram/index.d.cts +1 -1
- package/dist/diagrams/genogram/index.d.ts +1 -1
- package/dist/diagrams/ladder/index.d.cts +1 -1
- package/dist/diagrams/ladder/index.d.ts +1 -1
- package/dist/diagrams/logic/index.d.cts +1 -1
- package/dist/diagrams/logic/index.d.ts +1 -1
- package/dist/diagrams/orgchart/index.d.cts +1 -1
- package/dist/diagrams/orgchart/index.d.ts +1 -1
- package/dist/diagrams/pedigree/index.d.cts +1 -1
- package/dist/diagrams/pedigree/index.d.ts +1 -1
- package/dist/diagrams/phylo/index.d.cts +1 -1
- package/dist/diagrams/phylo/index.d.ts +1 -1
- package/dist/diagrams/siteplan/index.cjs +38 -0
- package/dist/diagrams/siteplan/index.cjs.map +1 -0
- package/dist/diagrams/siteplan/index.d.cts +122 -0
- package/dist/diagrams/siteplan/index.d.ts +122 -0
- package/dist/diagrams/siteplan/index.js +5 -0
- package/dist/diagrams/siteplan/index.js.map +1 -0
- package/dist/diagrams/sld/index.cjs +7 -7
- package/dist/diagrams/sld/index.d.cts +4 -1
- package/dist/diagrams/sld/index.d.ts +4 -1
- package/dist/diagrams/sld/index.js +1 -1
- package/dist/diagrams/sociogram/index.d.cts +1 -1
- package/dist/diagrams/sociogram/index.d.ts +1 -1
- package/dist/diagrams/timing/index.d.cts +1 -1
- package/dist/diagrams/timing/index.d.ts +1 -1
- package/dist/diagrams/venn/index.d.cts +1 -1
- package/dist/diagrams/venn/index.d.ts +1 -1
- package/dist/{index-JZlLiE6K.d.cts → index-CDDfbChc.d.cts} +1 -1
- package/dist/{index-D9u0YRxL.d.ts → index-CZa2pU0T.d.ts} +1 -1
- package/dist/index.cjs +56 -43
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +10 -5
- package/dist/index.d.ts +10 -5
- package/dist/index.js +7 -6
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +5 -4
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +2 -2
- package/dist/react.d.ts +2 -2
- package/dist/react.js +4 -3
- package/dist/react.js.map +1 -1
- package/dist/{tools-DAKYNcPv.d.cts → tools-Bvw6dwIR.d.cts} +2 -2
- package/dist/{tools-DM0aLCbc.d.ts → tools-DtuvE-K4.d.ts} +2 -2
- package/package.json +6 -1
- package/dist/chunk-CA54ESRT.cjs.map +0 -1
- package/dist/chunk-CXA45HIT.js.map +0 -1
- package/dist/chunk-IHX6J4HF.js.map +0 -1
- package/dist/chunk-MVTYPWHO.js.map +0 -1
- package/dist/chunk-MXV3XJFH.cjs.map +0 -1
- package/dist/chunk-OY2CXLVY.cjs.map +0 -1
- package/dist/chunk-T5QOVX2I.js.map +0 -1
- package/dist/chunk-TXWVJAMR.cjs.map +0 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/symbols-catalog.ts"],"names":[],"mappings":"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","file":"index.js","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"]}
|
|
1
|
+
{"version":3,"sources":["../src/symbols-catalog.ts"],"names":[],"mappings":"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","file":"index.js","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/react.cjs
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkMGMR6V6N_cjs = require('./chunk-MGMR6V6N.cjs');
|
|
4
4
|
require('./chunk-UHRNFBWY.cjs');
|
|
5
|
-
require('./chunk-
|
|
5
|
+
require('./chunk-IBZKIMT5.cjs');
|
|
6
|
+
require('./chunk-HEGDKO2E.cjs');
|
|
6
7
|
require('./chunk-T55OQILI.cjs');
|
|
7
8
|
require('./chunk-GTCGATOL.cjs');
|
|
8
|
-
require('./chunk-
|
|
9
|
+
require('./chunk-OGF7QM74.cjs');
|
|
9
10
|
require('./chunk-4MANMKQ4.cjs');
|
|
10
11
|
require('./chunk-YFPDZVB7.cjs');
|
|
11
12
|
require('./chunk-3JN4762U.cjs');
|
|
@@ -37,7 +38,7 @@ function SchematexDiagram({
|
|
|
37
38
|
onError
|
|
38
39
|
}) {
|
|
39
40
|
const svg = react.useMemo(() => {
|
|
40
|
-
const result =
|
|
41
|
+
const result = chunkMGMR6V6N_cjs.renderResult(dsl, { type, theme, fontFamily, padding });
|
|
41
42
|
if (!result.ok) {
|
|
42
43
|
onError?.(new Error(result.diagnostics[0]?.message ?? "Schematex render failed"));
|
|
43
44
|
}
|
package/dist/react.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/react.tsx"],"names":["useMemo","renderResult","jsx"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/react.tsx"],"names":["useMemo","renderResult","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,GAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,EAA0B;AACxB,EAAA,MAAM,GAAA,GAAMA,cAAQ,MAAM;AACxB,IAAA,MAAM,MAAA,GAASC,+BAAa,GAAA,EAAK,EAAE,MAAM,KAAA,EAAO,UAAA,EAAY,SAAS,CAAA;AACrE,IAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,MAAA,OAAA,GAAU,IAAI,MAAM,MAAA,CAAO,WAAA,CAAY,CAAC,CAAA,EAAG,OAAA,IAAW,yBAAyB,CAAC,CAAA;AAAA,IAClF;AACA,IAAA,OAAO,MAAA,CAAO,GAAA;AAAA,EAEhB,GAAG,CAAC,GAAA,EAAK,MAAM,KAAA,EAAO,UAAA,EAAY,OAAO,CAAC,CAAA;AAE1C,EAAA,uBACEC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,KAAA;AAAA,MAEA,uBAAA,EAAyB,EAAE,MAAA,EAAQ,GAAA;AAAI;AAAA,GACzC;AAEJ","file":"react.cjs","sourcesContent":["/**\n * React component for Schematex diagrams.\n *\n * @example\n * ```tsx\n * import { SchematexDiagram } from 'schematex/react';\n *\n * <SchematexDiagram\n * dsl=\"genogram\\n alice [female]\"\n * theme=\"monochrome\"\n * className=\"my-diagram\"\n * />\n * ```\n */\n\nimport { useMemo } from \"react\";\nimport { renderResult, type SchematexConfig } from \"./core/api\";\n\nexport interface SchematexDiagramProps {\n /** DSL text to render */\n dsl: string;\n /** Diagram type override (auto-detected from DSL if omitted) */\n type?: SchematexConfig[\"type\"];\n /** Theme name: 'default' | 'monochrome' | 'dark' */\n theme?: string;\n /** Font family override */\n fontFamily?: string;\n /** Canvas padding in px */\n padding?: number;\n /** className for the wrapper div */\n className?: string;\n /** Inline style for the wrapper div */\n style?: React.CSSProperties;\n /** Called when strict parsing/layout fails before the preview SVG fallback. */\n onError?: (error: Error) => void;\n}\n\nexport function SchematexDiagram({\n dsl,\n type,\n theme,\n fontFamily,\n padding,\n className,\n style,\n onError,\n}: SchematexDiagramProps) {\n const svg = useMemo(() => {\n const result = renderResult(dsl, { type, theme, fontFamily, padding });\n if (!result.ok) {\n onError?.(new Error(result.diagnostics[0]?.message ?? \"Schematex render failed\"));\n }\n return result.svg;\n // onError excluded — a fresh callback shouldn't bust the memo.\n }, [dsl, type, theme, fontFamily, padding]);\n\n return (\n <div\n className={className}\n style={style}\n // SVG is generated by our own renderer — safe\n dangerouslySetInnerHTML={{ __html: svg }}\n />\n );\n}\n"]}
|
package/dist/react.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { S as SchematexConfig } from './api-
|
|
3
|
-
import './diagnostics-
|
|
2
|
+
import { S as SchematexConfig } from './api-DAUFeETp.cjs';
|
|
3
|
+
import './diagnostics-DSxLohjY.cjs';
|
|
4
4
|
|
|
5
5
|
interface SchematexDiagramProps {
|
|
6
6
|
/** DSL text to render */
|
package/dist/react.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { S as SchematexConfig } from './api-
|
|
3
|
-
import './diagnostics-
|
|
2
|
+
import { S as SchematexConfig } from './api-C9ufsgIb.js';
|
|
3
|
+
import './diagnostics-DSxLohjY.js';
|
|
4
4
|
|
|
5
5
|
interface SchematexDiagramProps {
|
|
6
6
|
/** DSL text to render */
|
package/dist/react.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { renderResult } from './chunk-
|
|
1
|
+
import { renderResult } from './chunk-JLLDJCLW.js';
|
|
2
2
|
import './chunk-EB7T5SEO.js';
|
|
3
|
-
import './chunk-
|
|
3
|
+
import './chunk-PGMKMIGM.js';
|
|
4
|
+
import './chunk-32LOZTNP.js';
|
|
4
5
|
import './chunk-P4U565XH.js';
|
|
5
6
|
import './chunk-W4UVDMUC.js';
|
|
6
|
-
import './chunk-
|
|
7
|
+
import './chunk-Q5MQLUOH.js';
|
|
7
8
|
import './chunk-2IRYXK4M.js';
|
|
8
9
|
import './chunk-NP7N3DZG.js';
|
|
9
10
|
import './chunk-KUSW5I2P.js';
|
package/dist/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/react.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/react.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,GAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,EAA0B;AACxB,EAAA,MAAM,GAAA,GAAM,QAAQ,MAAM;AACxB,IAAA,MAAM,MAAA,GAAS,aAAa,GAAA,EAAK,EAAE,MAAM,KAAA,EAAO,UAAA,EAAY,SAAS,CAAA;AACrE,IAAA,IAAI,CAAC,OAAO,EAAA,EAAI;AACd,MAAA,OAAA,GAAU,IAAI,MAAM,MAAA,CAAO,WAAA,CAAY,CAAC,CAAA,EAAG,OAAA,IAAW,yBAAyB,CAAC,CAAA;AAAA,IAClF;AACA,IAAA,OAAO,MAAA,CAAO,GAAA;AAAA,EAEhB,GAAG,CAAC,GAAA,EAAK,MAAM,KAAA,EAAO,UAAA,EAAY,OAAO,CAAC,CAAA;AAE1C,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,KAAA;AAAA,MAEA,uBAAA,EAAyB,EAAE,MAAA,EAAQ,GAAA;AAAI;AAAA,GACzC;AAEJ","file":"react.js","sourcesContent":["/**\n * React component for Schematex diagrams.\n *\n * @example\n * ```tsx\n * import { SchematexDiagram } from 'schematex/react';\n *\n * <SchematexDiagram\n * dsl=\"genogram\\n alice [female]\"\n * theme=\"monochrome\"\n * className=\"my-diagram\"\n * />\n * ```\n */\n\nimport { useMemo } from \"react\";\nimport { renderResult, type SchematexConfig } from \"./core/api\";\n\nexport interface SchematexDiagramProps {\n /** DSL text to render */\n dsl: string;\n /** Diagram type override (auto-detected from DSL if omitted) */\n type?: SchematexConfig[\"type\"];\n /** Theme name: 'default' | 'monochrome' | 'dark' */\n theme?: string;\n /** Font family override */\n fontFamily?: string;\n /** Canvas padding in px */\n padding?: number;\n /** className for the wrapper div */\n className?: string;\n /** Inline style for the wrapper div */\n style?: React.CSSProperties;\n /** Called when strict parsing/layout fails before the preview SVG fallback. */\n onError?: (error: Error) => void;\n}\n\nexport function SchematexDiagram({\n dsl,\n type,\n theme,\n fontFamily,\n padding,\n className,\n style,\n onError,\n}: SchematexDiagramProps) {\n const svg = useMemo(() => {\n const result = renderResult(dsl, { type, theme, fontFamily, padding });\n if (!result.ok) {\n onError?.(new Error(result.diagnostics[0]?.message ?? \"Schematex render failed\"));\n }\n return result.svg;\n // onError excluded — a fresh callback shouldn't bust the memo.\n }, [dsl, type, theme, fontFamily, padding]);\n\n return (\n <div\n className={className}\n style={style}\n // SVG is generated by our own renderer — safe\n dangerouslySetInnerHTML={{ __html: svg }}\n />\n );\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as SchematexConfig } from './api-
|
|
2
|
-
import { a as DiagramType } from './diagnostics-
|
|
1
|
+
import { S as SchematexConfig } from './api-DAUFeETp.cjs';
|
|
2
|
+
import { a as DiagramType } from './diagnostics-DSxLohjY.cjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Diagram registry — metadata for every diagram type Schematex supports.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as SchematexConfig } from './api-
|
|
2
|
-
import { a as DiagramType } from './diagnostics-
|
|
1
|
+
import { S as SchematexConfig } from './api-C9ufsgIb.js';
|
|
2
|
+
import { a as DiagramType } from './diagnostics-DSxLohjY.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Diagram registry — metadata for every diagram type Schematex supports.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "schematex",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.12",
|
|
4
4
|
"description": "Every diagram a doctor, engineer, or lawyer would actually use. 36 industry-standard diagrams (genogram, pedigree, ladder logic, SLD, FBD, SFC, P&ID, UML class, UML use case, UML sequence, fault tree, bowtie, PRISMA, phylo, fishbone, entity structure, ...) from a text DSL. Free, fully open source, made for AI. Pure SVG, zero dependencies.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -92,6 +92,11 @@
|
|
|
92
92
|
"import": "./dist/diagrams/orgchart/index.js",
|
|
93
93
|
"require": "./dist/diagrams/orgchart/index.cjs"
|
|
94
94
|
},
|
|
95
|
+
"./siteplan": {
|
|
96
|
+
"types": "./dist/diagrams/siteplan/index.d.ts",
|
|
97
|
+
"import": "./dist/diagrams/siteplan/index.js",
|
|
98
|
+
"require": "./dist/diagrams/siteplan/index.cjs"
|
|
99
|
+
},
|
|
95
100
|
"./browser": {
|
|
96
101
|
"types": "./dist/browser.d.ts",
|
|
97
102
|
"import": "./dist/browser.js",
|