import React, { useState } from "react"; import { dilateBoundingBox, getBoundingBoxSize } from "../bounding-box"; import { createSvgSymbolContext, SvgSymbolContent, SvgSymbolData, } from "../svg-symbol"; import { SvgVocabulary } from "../svg-vocabulary"; import { SvgSymbolContext } from "../svg-symbol"; type SvgSymbolProps = { data: SvgSymbolData; scale?: number; } & SvgSymbolContext; const px = (value: number) => `${value}px`; const BBOX_DILATION = 100; const SvgSymbol: React.FC = (props) => { const d = props.data; const bbox = dilateBoundingBox(d.bbox, BBOX_DILATION); const scale = props.scale || 1; const [width, height] = getBoundingBoxSize(bbox); return ( ); }; export const VocabularyPage: React.FC<{}> = () => { const [stroke, setStroke] = useState("#000000"); const [fill, setFill] = useState("#ffffff"); const [showSpecs, setShowSpecs] = useState(false); const ctx = createSvgSymbolContext({ stroke, fill, showSpecs }); return ( <>

Mystic Symbolic Vocabulary

setStroke(e.target.value)} id="stroke" />{" "} setFill(e.target.value)} id="fill" />{" "}

{SvgVocabulary.map((symbolData) => (
{symbolData.name}
))} ); };