@tscircuit/schematic-viewer 1.1.13 → 1.1.14
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/index.js +124 -52
- package/dist/index.js.map +1 -1
- package/dist/metafile-cjs.json +1 -1
- package/package.json +1 -1
- package/src/lib/types/core.ts +1 -0
- package/src/lib/utils/collect-element-refs.ts +11 -2
- package/src/schematic-components/SVGPathComponent.tsx +85 -27
- package/src/schematic-components/SchematicPort.tsx +25 -2
package/dist/metafile-cjs.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/lib/utils/collect-element-refs.ts":{"bytes":782,"imports":[{"path":"@tscircuit/builder","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicGroup.tsx":{"bytes":54,"imports":[],"format":"esm"},"node_modules/zustand/esm/vanilla.js":{"bytes":911,"imports":[],"format":"esm"},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js":{"bytes":1045,"imports":[{"path":"react","kind":"require-call","external":true}],"format":"cjs"},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js":{"bytes":8420,"imports":[{"path":"react","kind":"require-call","external":true}],"format":"cjs"},"node_modules/use-sync-external-store/shim/index.js":{"bytes":238,"imports":[{"path":"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","kind":"require-call","original":"../cjs/use-sync-external-store-shim.production.min.js"},{"path":"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","kind":"require-call","original":"../cjs/use-sync-external-store-shim.development.js"}],"format":"cjs"},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js":{"bytes":1107,"imports":[{"path":"react","kind":"require-call","external":true},{"path":"node_modules/use-sync-external-store/shim/index.js","kind":"require-call","original":"use-sync-external-store/shim"}],"format":"cjs"},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js":{"bytes":5695,"imports":[{"path":"react","kind":"require-call","external":true},{"path":"node_modules/use-sync-external-store/shim/index.js","kind":"require-call","original":"use-sync-external-store/shim"}],"format":"cjs"},"node_modules/use-sync-external-store/shim/with-selector.js":{"bytes":266,"imports":[{"path":"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","kind":"require-call","original":"../cjs/use-sync-external-store-shim/with-selector.production.min.js"},{"path":"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js","kind":"require-call","original":"../cjs/use-sync-external-store-shim/with-selector.development.js"}],"format":"cjs"},"node_modules/zustand/esm/index.js":{"bytes":1049,"imports":[{"path":"node_modules/zustand/esm/vanilla.js","kind":"import-statement","original":"zustand/vanilla"},{"path":"node_modules/zustand/esm/vanilla.js","kind":"import-statement","original":"zustand/vanilla"},{"path":"node_modules/zustand/esm/vanilla.js","kind":"import-statement","original":"zustand/vanilla"},{"path":"react","kind":"import-statement","external":true},{"path":"node_modules/use-sync-external-store/shim/with-selector.js","kind":"import-statement","original":"use-sync-external-store/shim/with-selector.js"}],"format":"esm"},"node_modules/transformation-matrix/src/applyToPoint.js":{"bytes":822,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/fromObject.js":{"bytes":472,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/fromString.js":{"bytes":804,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/identity.js":{"bytes":168,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/inverse.js":{"bytes":516,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/utils.js":{"bytes":391,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/isAffineMatrix.js":{"bytes":581,"imports":[{"path":"node_modules/transformation-matrix/src/utils.js","kind":"import-statement","original":"./utils"}],"format":"esm"},"node_modules/transformation-matrix/src/translate.js":{"bytes":288,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/transform.js":{"bytes":1142,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/rotate.js":{"bytes":1216,"imports":[{"path":"node_modules/transformation-matrix/src/utils.js","kind":"import-statement","original":"./utils"},{"path":"node_modules/transformation-matrix/src/translate.js","kind":"import-statement","original":"./translate"},{"path":"node_modules/transformation-matrix/src/transform.js","kind":"import-statement","original":"./transform"}],"format":"esm"},"node_modules/transformation-matrix/src/scale.js":{"bytes":815,"imports":[{"path":"node_modules/transformation-matrix/src/utils.js","kind":"import-statement","original":"./utils"},{"path":"node_modules/transformation-matrix/src/translate.js","kind":"import-statement","original":"./translate"},{"path":"node_modules/transformation-matrix/src/transform.js","kind":"import-statement","original":"./transform"}],"format":"esm"},"node_modules/transformation-matrix/src/shear.js":{"bytes":264,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/skew.js":{"bytes":615,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/toString.js":{"bytes":898,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/smoothMatrix.js":{"bytes":723,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/fromTriangles.js":{"bytes":1742,"imports":[{"path":"node_modules/transformation-matrix/src/inverse.js","kind":"import-statement","original":"./inverse"},{"path":"node_modules/transformation-matrix/src/transform.js","kind":"import-statement","original":"./transform"},{"path":"node_modules/transformation-matrix/src/smoothMatrix.js","kind":"import-statement","original":"./smoothMatrix"}],"format":"esm"},"node_modules/transformation-matrix/src/fromDefinition.js":{"bytes":2973,"imports":[{"path":"node_modules/transformation-matrix/src/fromObject.js","kind":"import-statement","original":"./fromObject"},{"path":"node_modules/transformation-matrix/src/translate.js","kind":"import-statement","original":"./translate"},{"path":"node_modules/transformation-matrix/src/scale.js","kind":"import-statement","original":"./scale"},{"path":"node_modules/transformation-matrix/src/rotate.js","kind":"import-statement","original":"./rotate"},{"path":"node_modules/transformation-matrix/src/skew.js","kind":"import-statement","original":"./skew"},{"path":"node_modules/transformation-matrix/src/shear.js","kind":"import-statement","original":"./shear"}],"format":"esm"},"node_modules/transformation-matrix/src/fromTransformAttribute.autogenerated.js":{"bytes":34651,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/fromTransformAttribute.js":{"bytes":860,"imports":[{"path":"node_modules/transformation-matrix/src/fromTransformAttribute.autogenerated.js","kind":"import-statement","original":"./fromTransformAttribute.autogenerated"}],"format":"esm"},"node_modules/transformation-matrix/src/decompose.js":{"bytes":2247,"imports":[{"path":"node_modules/transformation-matrix/src/scale.js","kind":"import-statement","original":"./scale"},{"path":"node_modules/transformation-matrix/src/transform.js","kind":"import-statement","original":"./transform"}],"format":"esm"},"node_modules/transformation-matrix/src/flip.js":{"bytes":591,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/fromMovingPoints.js":{"bytes":2112,"imports":[{"path":"node_modules/transformation-matrix/src/translate.js","kind":"import-statement","original":"./translate"},{"path":"node_modules/transformation-matrix/src/applyToPoint.js","kind":"import-statement","original":"./applyToPoint"},{"path":"node_modules/transformation-matrix/src/rotate.js","kind":"import-statement","original":"./rotate"},{"path":"node_modules/transformation-matrix/src/scale.js","kind":"import-statement","original":"./scale"},{"path":"node_modules/transformation-matrix/src/transform.js","kind":"import-statement","original":"./transform"}],"format":"esm"},"node_modules/transformation-matrix/src/index.js":{"bytes":577,"imports":[{"path":"node_modules/transformation-matrix/src/applyToPoint.js","kind":"import-statement","original":"./applyToPoint"},{"path":"node_modules/transformation-matrix/src/fromObject.js","kind":"import-statement","original":"./fromObject"},{"path":"node_modules/transformation-matrix/src/fromString.js","kind":"import-statement","original":"./fromString"},{"path":"node_modules/transformation-matrix/src/identity.js","kind":"import-statement","original":"./identity"},{"path":"node_modules/transformation-matrix/src/inverse.js","kind":"import-statement","original":"./inverse"},{"path":"node_modules/transformation-matrix/src/isAffineMatrix.js","kind":"import-statement","original":"./isAffineMatrix"},{"path":"node_modules/transformation-matrix/src/rotate.js","kind":"import-statement","original":"./rotate"},{"path":"node_modules/transformation-matrix/src/scale.js","kind":"import-statement","original":"./scale"},{"path":"node_modules/transformation-matrix/src/shear.js","kind":"import-statement","original":"./shear"},{"path":"node_modules/transformation-matrix/src/skew.js","kind":"import-statement","original":"./skew"},{"path":"node_modules/transformation-matrix/src/toString.js","kind":"import-statement","original":"./toString"},{"path":"node_modules/transformation-matrix/src/transform.js","kind":"import-statement","original":"./transform"},{"path":"node_modules/transformation-matrix/src/translate.js","kind":"import-statement","original":"./translate"},{"path":"node_modules/transformation-matrix/src/fromTriangles.js","kind":"import-statement","original":"./fromTriangles"},{"path":"node_modules/transformation-matrix/src/smoothMatrix.js","kind":"import-statement","original":"./smoothMatrix"},{"path":"node_modules/transformation-matrix/src/fromDefinition.js","kind":"import-statement","original":"./fromDefinition"},{"path":"node_modules/transformation-matrix/src/fromTransformAttribute.js","kind":"import-statement","original":"./fromTransformAttribute"},{"path":"node_modules/transformation-matrix/src/decompose.js","kind":"import-statement","original":"./decompose"},{"path":"node_modules/transformation-matrix/src/flip.js","kind":"import-statement","original":"./flip"},{"path":"node_modules/transformation-matrix/src/fromMovingPoints.js","kind":"import-statement","original":"./fromMovingPoints"}],"format":"esm"},"src/lib/render-context/index.ts":{"bytes":520,"imports":[{"path":"node_modules/zustand/esm/index.js","kind":"import-statement","original":"zustand"},{"path":"node_modules/transformation-matrix/src/index.js","kind":"import-statement","original":"transformation-matrix"}],"format":"esm"},"node_modules/parse-svg-path/index.js":{"bytes":1204,"imports":[],"format":"cjs"},"node_modules/abs-svg-path/index.js":{"bytes":991,"imports":[],"format":"cjs"},"node_modules/svg-arc-to-cubic-bezier/modules/index.js":{"bytes":5457,"imports":[],"format":"esm"},"node_modules/normalize-svg-path/index.js":{"bytes":2797,"imports":[{"path":"node_modules/svg-arc-to-cubic-bezier/modules/index.js","kind":"require-call","original":"svg-arc-to-cubic-bezier"}],"format":"cjs"},"node_modules/is-svg-path/index.js":{"bytes":310,"imports":[],"format":"cjs"},"node_modules/svg-path-bounds/index.js":{"bytes":1204,"imports":[{"path":"node_modules/parse-svg-path/index.js","kind":"require-call","original":"parse-svg-path"},{"path":"node_modules/abs-svg-path/index.js","kind":"require-call","original":"abs-svg-path"},{"path":"node_modules/normalize-svg-path/index.js","kind":"require-call","original":"normalize-svg-path"},{"path":"node_modules/is-svg-path/index.js","kind":"require-call","original":"is-svg-path"}],"format":"cjs"},"src/lib/utils/get-svg-path-bounds.ts":{"bytes":559,"imports":[{"path":"node_modules/svg-path-bounds/index.js","kind":"import-statement","original":"svg-path-bounds"}],"format":"esm"},"src/schematic-components/SVGPathComponent.tsx":{"bytes":1982,"imports":[{"path":"src/lib/render-context/index.ts","kind":"import-statement","original":"lib/render-context"},{"path":"src/lib/utils/get-svg-path-bounds.ts","kind":"import-statement","original":"lib/utils/get-svg-path-bounds"},{"path":"node_modules/transformation-matrix/src/index.js","kind":"import-statement","original":"transformation-matrix"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SimpleResistor.tsx":{"bytes":626,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SimpleCapacitor.tsx":{"bytes":733,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/hooks/use-maybe-promise.ts":{"bytes":367,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/lib/hooks/index.ts":{"bytes":36,"imports":[{"path":"src/lib/hooks/use-maybe-promise.ts","kind":"import-statement","original":"./use-maybe-promise"}],"format":"esm"},"src/schematic-components/ProjectComponent.tsx":{"bytes":1896,"imports":[{"path":"src/lib/hooks/index.ts","kind":"import-statement","original":"lib/hooks"},{"path":"@tscircuit/builder","kind":"import-statement","external":true},{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/index.tsx","kind":"import-statement","original":"./"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/utils/direction-to-vec.ts":{"bytes":1642,"imports":[],"format":"esm"},"src/schematic-components/SchematicPort.tsx":{"bytes":943,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/lib/utils/direction-to-vec.ts","kind":"import-statement","original":"lib/utils/direction-to-vec"},{"path":"src/schematic-components/index.tsx","kind":"import-statement","original":"./"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"node_modules/debounce/index.js":{"bytes":1843,"imports":[],"format":"cjs"},"node_modules/react-use-measure/dist/web.js":{"bytes":5369,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"node_modules/debounce/index.js","kind":"import-statement","original":"debounce"}],"format":"esm"},"src/schematic-components/SchematicText.tsx":{"bytes":1170,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"./SVGPathComponent","kind":"import-statement","external":true},{"path":"svg-path-generator","kind":"import-statement","external":true},{"path":"lib/utils/get-svg-path-bounds","kind":"import-statement","external":true},{"path":"src/lib/render-context/index.ts","kind":"import-statement","original":"lib/render-context"},{"path":"node_modules/transformation-matrix/src/index.js","kind":"import-statement","original":"transformation-matrix"},{"path":"node_modules/react-use-measure/dist/web.js","kind":"import-statement","original":"react-use-measure"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"node_modules/svg-path-generator/lib/svg-path-generator.js":{"bytes":1953,"imports":[],"format":"cjs"},"node_modules/svg-path-generator/index.js":{"bytes":56,"imports":[{"path":"node_modules/svg-path-generator/lib/svg-path-generator.js","kind":"require-call","original":"./lib/svg-path-generator"}],"format":"cjs"},"src/schematic-components/RenderError.tsx":{"bytes":370,"imports":[{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicTrace.tsx":{"bytes":1274,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"node_modules/svg-path-generator/index.js","kind":"import-statement","original":"svg-path-generator"},{"path":"src/lib/utils/get-svg-path-bounds.ts","kind":"import-statement","original":"lib/utils/get-svg-path-bounds"},{"path":"src/schematic-components/RenderError.tsx","kind":"import-statement","original":"./RenderError"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicBug.tsx":{"bytes":2193,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"lodash/range","kind":"import-statement","external":true},{"path":"@tscircuit/builder","kind":"import-statement","external":true},{"path":"src/lib/utils/get-svg-path-bounds.ts","kind":"import-statement","original":"lib/utils/get-svg-path-bounds"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SimplePowerSource.tsx":{"bytes":632,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SimpleGround.tsx":{"bytes":614,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SimpleInductor.tsx":{"bytes":897,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SimpleDiode.tsx":{"bytes":1059,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/index.tsx":{"bytes":530,"imports":[{"path":"src/schematic-components/SchematicGroup.tsx","kind":"import-statement","original":"./SchematicGroup"},{"path":"src/schematic-components/SimpleResistor.tsx","kind":"import-statement","original":"./SimpleResistor"},{"path":"src/schematic-components/SimpleCapacitor.tsx","kind":"import-statement","original":"./SimpleCapacitor"},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"src/schematic-components/ProjectComponent.tsx","kind":"import-statement","original":"./ProjectComponent"},{"path":"src/schematic-components/SchematicComponent.tsx","kind":"import-statement","original":"./SchematicComponent"},{"path":"src/schematic-components/SchematicPort.tsx","kind":"import-statement","original":"./SchematicPort"},{"path":"src/schematic-components/SchematicText.tsx","kind":"import-statement","original":"./SchematicText"},{"path":"src/schematic-components/ProjectComponent.tsx","kind":"import-statement","original":"./ProjectComponent"},{"path":"src/schematic-components/SchematicTrace.tsx","kind":"import-statement","original":"./SchematicTrace"},{"path":"src/schematic-components/SchematicBug.tsx","kind":"import-statement","original":"./SchematicBug"},{"path":"src/schematic-components/SimplePowerSource.tsx","kind":"import-statement","original":"./SimplePowerSource"},{"path":"src/schematic-components/SimpleGround.tsx","kind":"import-statement","original":"./SimpleGround"},{"path":"src/schematic-components/SimpleInductor.tsx","kind":"import-statement","original":"./SimpleInductor"},{"path":"src/schematic-components/RenderError.tsx","kind":"import-statement","original":"./RenderError"},{"path":"src/schematic-components/SimpleDiode.tsx","kind":"import-statement","original":"./SimpleDiode"}],"format":"esm"},"src/schematic-components/SchematicComponent.tsx":{"bytes":1453,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/index.tsx","kind":"import-statement","original":"./"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicBox.tsx":{"bytes":649,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"lib/utils/direction-to-vec","kind":"import-statement","external":true},{"path":"src/schematic-components/index.tsx","kind":"import-statement","original":"./"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicLine.tsx":{"bytes":1198,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"lib/utils/direction-to-vec","kind":"import-statement","external":true},{"path":"src/schematic-components/index.tsx","kind":"import-statement","original":"."},{"path":"node_modules/svg-path-generator/index.js","kind":"import-statement","original":"svg-path-generator"},{"path":"src/lib/utils/get-svg-path-bounds.ts","kind":"import-statement","original":"lib/utils/get-svg-path-bounds"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicPath.tsx":{"bytes":1298,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"lib/utils/direction-to-vec","kind":"import-statement","external":true},{"path":"src/schematic-components/index.tsx","kind":"import-statement","original":"."},{"path":"node_modules/svg-path-generator/index.js","kind":"import-statement","original":"svg-path-generator"},{"path":"src/lib/utils/get-svg-path-bounds.ts","kind":"import-statement","original":"lib/utils/get-svg-path-bounds"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicElement.tsx":{"bytes":2089,"imports":[{"path":"@tscircuit/builder","kind":"import-statement","external":true},{"path":"src/lib/utils/collect-element-refs.ts","kind":"import-statement","original":"lib/utils/collect-element-refs"},{"path":"src/schematic-components/SchematicComponent.tsx","kind":"import-statement","original":"./SchematicComponent"},{"path":"src/schematic-components/SchematicPort.tsx","kind":"import-statement","original":"./SchematicPort"},{"path":"src/schematic-components/SchematicText.tsx","kind":"import-statement","original":"./SchematicText"},{"path":"src/schematic-components/SchematicBox.tsx","kind":"import-statement","original":"./SchematicBox"},{"path":"src/schematic-components/SchematicTrace.tsx","kind":"import-statement","original":"./SchematicTrace"},{"path":"src/schematic-components/SchematicLine.tsx","kind":"import-statement","original":"./SchematicLine"},{"path":"src/schematic-components/RenderError.tsx","kind":"import-statement","original":"./RenderError"},{"path":"src/schematic-components/SchematicPath.tsx","kind":"import-statement","original":"./SchematicPath"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/TableViewer.tsx":{"bytes":345,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@tscircuit/table-viewer","kind":"dynamic-import","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/Schematic.tsx":{"bytes":4451,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"schematic-components","kind":"import-statement","external":true},{"path":"react-supergrid","kind":"import-statement","external":true},{"path":"@tscircuit/builder","kind":"import-statement","external":true},{"path":"@tscircuit/builder","kind":"import-statement","external":true},{"path":"@tscircuit/react-fiber","kind":"import-statement","external":true},{"path":"src/schematic-components/SchematicElement.tsx","kind":"import-statement","original":"schematic-components/SchematicElement"},{"path":"lib/utils/collect-element-refs","kind":"import-statement","external":true},{"path":"use-mouse-matrix-transform","kind":"import-statement","external":true},{"path":"react-error-boundary","kind":"import-statement","external":true},{"path":"node_modules/transformation-matrix/src/index.js","kind":"import-statement","original":"transformation-matrix"},{"path":"src/lib/render-context/index.ts","kind":"import-statement","original":"lib/render-context"},{"path":"node_modules/react-use-measure/dist/web.js","kind":"import-statement","original":"react-use-measure"},{"path":"src/schematic-components/TableViewer.tsx","kind":"import-statement","original":"./schematic-components/TableViewer"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":28,"imports":[{"path":"src/Schematic.tsx","kind":"import-statement","original":"./Schematic"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":161305},"dist/index.js":{"imports":[{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react-supergrid","kind":"require-call","external":true},{"path":"@tscircuit/builder","kind":"require-call","external":true},{"path":"@tscircuit/react-fiber","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"@tscircuit/builder","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"@tscircuit/builder","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"use-mouse-matrix-transform","kind":"require-call","external":true},{"path":"react-error-boundary","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"@tscircuit/table-viewer","kind":"dynamic-import","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true}],"exports":[],"entryPoint":"src/index.ts","inputs":{"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js":{"bytesInOutput":1395},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js":{"bytesInOutput":5088},"node_modules/use-sync-external-store/shim/index.js":{"bytesInOutput":356},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js":{"bytesInOutput":1710},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js":{"bytesInOutput":4053},"node_modules/use-sync-external-store/shim/with-selector.js":{"bytesInOutput":343},"node_modules/parse-svg-path/index.js":{"bytesInOutput":1181},"node_modules/abs-svg-path/index.js":{"bytesInOutput":1362},"node_modules/svg-arc-to-cubic-bezier/modules/index.js":{"bytesInOutput":5850},"node_modules/normalize-svg-path/index.js":{"bytesInOutput":3100},"node_modules/is-svg-path/index.js":{"bytesInOutput":401},"node_modules/svg-path-bounds/index.js":{"bytesInOutput":1428},"node_modules/debounce/index.js":{"bytesInOutput":1419},"node_modules/svg-path-generator/lib/svg-path-generator.js":{"bytesInOutput":2249},"node_modules/svg-path-generator/index.js":{"bytesInOutput":172},"src/index.ts":{"bytesInOutput":123},"src/Schematic.tsx":{"bytesInOutput":4470},"src/lib/utils/collect-element-refs.ts":{"bytesInOutput":632},"src/schematic-components/index.tsx":{"bytesInOutput":0},"node_modules/zustand/esm/vanilla.js":{"bytesInOutput":871},"node_modules/zustand/esm/index.js":{"bytesInOutput":836},"node_modules/transformation-matrix/src/applyToPoint.js":{"bytesInOutput":320},"node_modules/transformation-matrix/src/index.js":{"bytesInOutput":0},"node_modules/transformation-matrix/src/utils.js":{"bytesInOutput":67},"node_modules/transformation-matrix/src/translate.js":{"bytesInOutput":112},"node_modules/transformation-matrix/src/transform.js":{"bytesInOutput":780},"node_modules/transformation-matrix/src/rotate.js":{"bytesInOutput":29},"node_modules/transformation-matrix/src/scale.js":{"bytesInOutput":351},"node_modules/transformation-matrix/src/skew.js":{"bytesInOutput":20},"node_modules/transformation-matrix/src/fromTransformAttribute.autogenerated.js":{"bytesInOutput":4384},"src/lib/render-context/index.ts":{"bytesInOutput":258},"src/lib/utils/get-svg-path-bounds.ts":{"bytesInOutput":591},"src/schematic-components/SVGPathComponent.tsx":{"bytesInOutput":1571},"src/schematic-components/SimpleResistor.tsx":{"bytesInOutput":495},"src/schematic-components/SimpleCapacitor.tsx":{"bytesInOutput":600},"src/lib/hooks/use-maybe-promise.ts":{"bytesInOutput":38},"src/lib/hooks/index.ts":{"bytesInOutput":0},"src/schematic-components/ProjectComponent.tsx":{"bytesInOutput":108},"src/lib/utils/direction-to-vec.ts":{"bytesInOutput":326},"src/schematic-components/SchematicPort.tsx":{"bytesInOutput":741},"node_modules/react-use-measure/dist/web.js":{"bytesInOutput":4901},"src/schematic-components/SchematicText.tsx":{"bytesInOutput":886},"src/schematic-components/SchematicTrace.tsx":{"bytesInOutput":1218},"src/schematic-components/RenderError.tsx":{"bytesInOutput":444},"src/schematic-components/SchematicBug.tsx":{"bytesInOutput":1696},"src/schematic-components/SimplePowerSource.tsx":{"bytesInOutput":496},"src/schematic-components/SimpleGround.tsx":{"bytesInOutput":489},"src/schematic-components/SimpleInductor.tsx":{"bytesInOutput":768},"src/schematic-components/SimpleDiode.tsx":{"bytesInOutput":57},"src/schematic-components/SchematicComponent.tsx":{"bytesInOutput":1392},"src/schematic-components/SchematicBox.tsx":{"bytesInOutput":548},"src/schematic-components/SchematicLine.tsx":{"bytesInOutput":982},"src/schematic-components/SchematicPath.tsx":{"bytesInOutput":1214},"src/schematic-components/SchematicElement.tsx":{"bytesInOutput":1569},"src/schematic-components/TableViewer.tsx":{"bytesInOutput":525}},"bytes":71011}}}
|
|
1
|
+
{"inputs":{"src/lib/utils/collect-element-refs.ts":{"bytes":1096,"imports":[{"path":"@tscircuit/builder","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicGroup.tsx":{"bytes":54,"imports":[],"format":"esm"},"node_modules/zustand/esm/vanilla.js":{"bytes":911,"imports":[],"format":"esm"},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js":{"bytes":1045,"imports":[{"path":"react","kind":"require-call","external":true}],"format":"cjs"},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js":{"bytes":8420,"imports":[{"path":"react","kind":"require-call","external":true}],"format":"cjs"},"node_modules/use-sync-external-store/shim/index.js":{"bytes":238,"imports":[{"path":"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","kind":"require-call","original":"../cjs/use-sync-external-store-shim.production.min.js"},{"path":"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","kind":"require-call","original":"../cjs/use-sync-external-store-shim.development.js"}],"format":"cjs"},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js":{"bytes":1107,"imports":[{"path":"react","kind":"require-call","external":true},{"path":"node_modules/use-sync-external-store/shim/index.js","kind":"require-call","original":"use-sync-external-store/shim"}],"format":"cjs"},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js":{"bytes":5695,"imports":[{"path":"react","kind":"require-call","external":true},{"path":"node_modules/use-sync-external-store/shim/index.js","kind":"require-call","original":"use-sync-external-store/shim"}],"format":"cjs"},"node_modules/use-sync-external-store/shim/with-selector.js":{"bytes":266,"imports":[{"path":"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","kind":"require-call","original":"../cjs/use-sync-external-store-shim/with-selector.production.min.js"},{"path":"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js","kind":"require-call","original":"../cjs/use-sync-external-store-shim/with-selector.development.js"}],"format":"cjs"},"node_modules/zustand/esm/index.js":{"bytes":1049,"imports":[{"path":"node_modules/zustand/esm/vanilla.js","kind":"import-statement","original":"zustand/vanilla"},{"path":"node_modules/zustand/esm/vanilla.js","kind":"import-statement","original":"zustand/vanilla"},{"path":"node_modules/zustand/esm/vanilla.js","kind":"import-statement","original":"zustand/vanilla"},{"path":"react","kind":"import-statement","external":true},{"path":"node_modules/use-sync-external-store/shim/with-selector.js","kind":"import-statement","original":"use-sync-external-store/shim/with-selector.js"}],"format":"esm"},"node_modules/transformation-matrix/src/applyToPoint.js":{"bytes":822,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/fromObject.js":{"bytes":472,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/fromString.js":{"bytes":804,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/identity.js":{"bytes":168,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/inverse.js":{"bytes":516,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/utils.js":{"bytes":391,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/isAffineMatrix.js":{"bytes":581,"imports":[{"path":"node_modules/transformation-matrix/src/utils.js","kind":"import-statement","original":"./utils"}],"format":"esm"},"node_modules/transformation-matrix/src/translate.js":{"bytes":288,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/transform.js":{"bytes":1142,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/rotate.js":{"bytes":1216,"imports":[{"path":"node_modules/transformation-matrix/src/utils.js","kind":"import-statement","original":"./utils"},{"path":"node_modules/transformation-matrix/src/translate.js","kind":"import-statement","original":"./translate"},{"path":"node_modules/transformation-matrix/src/transform.js","kind":"import-statement","original":"./transform"}],"format":"esm"},"node_modules/transformation-matrix/src/scale.js":{"bytes":815,"imports":[{"path":"node_modules/transformation-matrix/src/utils.js","kind":"import-statement","original":"./utils"},{"path":"node_modules/transformation-matrix/src/translate.js","kind":"import-statement","original":"./translate"},{"path":"node_modules/transformation-matrix/src/transform.js","kind":"import-statement","original":"./transform"}],"format":"esm"},"node_modules/transformation-matrix/src/shear.js":{"bytes":264,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/skew.js":{"bytes":615,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/toString.js":{"bytes":898,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/smoothMatrix.js":{"bytes":723,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/fromTriangles.js":{"bytes":1742,"imports":[{"path":"node_modules/transformation-matrix/src/inverse.js","kind":"import-statement","original":"./inverse"},{"path":"node_modules/transformation-matrix/src/transform.js","kind":"import-statement","original":"./transform"},{"path":"node_modules/transformation-matrix/src/smoothMatrix.js","kind":"import-statement","original":"./smoothMatrix"}],"format":"esm"},"node_modules/transformation-matrix/src/fromDefinition.js":{"bytes":2973,"imports":[{"path":"node_modules/transformation-matrix/src/fromObject.js","kind":"import-statement","original":"./fromObject"},{"path":"node_modules/transformation-matrix/src/translate.js","kind":"import-statement","original":"./translate"},{"path":"node_modules/transformation-matrix/src/scale.js","kind":"import-statement","original":"./scale"},{"path":"node_modules/transformation-matrix/src/rotate.js","kind":"import-statement","original":"./rotate"},{"path":"node_modules/transformation-matrix/src/skew.js","kind":"import-statement","original":"./skew"},{"path":"node_modules/transformation-matrix/src/shear.js","kind":"import-statement","original":"./shear"}],"format":"esm"},"node_modules/transformation-matrix/src/fromTransformAttribute.autogenerated.js":{"bytes":34651,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/fromTransformAttribute.js":{"bytes":860,"imports":[{"path":"node_modules/transformation-matrix/src/fromTransformAttribute.autogenerated.js","kind":"import-statement","original":"./fromTransformAttribute.autogenerated"}],"format":"esm"},"node_modules/transformation-matrix/src/decompose.js":{"bytes":2247,"imports":[{"path":"node_modules/transformation-matrix/src/scale.js","kind":"import-statement","original":"./scale"},{"path":"node_modules/transformation-matrix/src/transform.js","kind":"import-statement","original":"./transform"}],"format":"esm"},"node_modules/transformation-matrix/src/flip.js":{"bytes":591,"imports":[],"format":"esm"},"node_modules/transformation-matrix/src/fromMovingPoints.js":{"bytes":2112,"imports":[{"path":"node_modules/transformation-matrix/src/translate.js","kind":"import-statement","original":"./translate"},{"path":"node_modules/transformation-matrix/src/applyToPoint.js","kind":"import-statement","original":"./applyToPoint"},{"path":"node_modules/transformation-matrix/src/rotate.js","kind":"import-statement","original":"./rotate"},{"path":"node_modules/transformation-matrix/src/scale.js","kind":"import-statement","original":"./scale"},{"path":"node_modules/transformation-matrix/src/transform.js","kind":"import-statement","original":"./transform"}],"format":"esm"},"node_modules/transformation-matrix/src/index.js":{"bytes":577,"imports":[{"path":"node_modules/transformation-matrix/src/applyToPoint.js","kind":"import-statement","original":"./applyToPoint"},{"path":"node_modules/transformation-matrix/src/fromObject.js","kind":"import-statement","original":"./fromObject"},{"path":"node_modules/transformation-matrix/src/fromString.js","kind":"import-statement","original":"./fromString"},{"path":"node_modules/transformation-matrix/src/identity.js","kind":"import-statement","original":"./identity"},{"path":"node_modules/transformation-matrix/src/inverse.js","kind":"import-statement","original":"./inverse"},{"path":"node_modules/transformation-matrix/src/isAffineMatrix.js","kind":"import-statement","original":"./isAffineMatrix"},{"path":"node_modules/transformation-matrix/src/rotate.js","kind":"import-statement","original":"./rotate"},{"path":"node_modules/transformation-matrix/src/scale.js","kind":"import-statement","original":"./scale"},{"path":"node_modules/transformation-matrix/src/shear.js","kind":"import-statement","original":"./shear"},{"path":"node_modules/transformation-matrix/src/skew.js","kind":"import-statement","original":"./skew"},{"path":"node_modules/transformation-matrix/src/toString.js","kind":"import-statement","original":"./toString"},{"path":"node_modules/transformation-matrix/src/transform.js","kind":"import-statement","original":"./transform"},{"path":"node_modules/transformation-matrix/src/translate.js","kind":"import-statement","original":"./translate"},{"path":"node_modules/transformation-matrix/src/fromTriangles.js","kind":"import-statement","original":"./fromTriangles"},{"path":"node_modules/transformation-matrix/src/smoothMatrix.js","kind":"import-statement","original":"./smoothMatrix"},{"path":"node_modules/transformation-matrix/src/fromDefinition.js","kind":"import-statement","original":"./fromDefinition"},{"path":"node_modules/transformation-matrix/src/fromTransformAttribute.js","kind":"import-statement","original":"./fromTransformAttribute"},{"path":"node_modules/transformation-matrix/src/decompose.js","kind":"import-statement","original":"./decompose"},{"path":"node_modules/transformation-matrix/src/flip.js","kind":"import-statement","original":"./flip"},{"path":"node_modules/transformation-matrix/src/fromMovingPoints.js","kind":"import-statement","original":"./fromMovingPoints"}],"format":"esm"},"src/lib/render-context/index.ts":{"bytes":520,"imports":[{"path":"node_modules/zustand/esm/index.js","kind":"import-statement","original":"zustand"},{"path":"node_modules/transformation-matrix/src/index.js","kind":"import-statement","original":"transformation-matrix"}],"format":"esm"},"node_modules/parse-svg-path/index.js":{"bytes":1204,"imports":[],"format":"cjs"},"node_modules/abs-svg-path/index.js":{"bytes":991,"imports":[],"format":"cjs"},"node_modules/svg-arc-to-cubic-bezier/modules/index.js":{"bytes":5457,"imports":[],"format":"esm"},"node_modules/normalize-svg-path/index.js":{"bytes":2797,"imports":[{"path":"node_modules/svg-arc-to-cubic-bezier/modules/index.js","kind":"require-call","original":"svg-arc-to-cubic-bezier"}],"format":"cjs"},"node_modules/is-svg-path/index.js":{"bytes":310,"imports":[],"format":"cjs"},"node_modules/svg-path-bounds/index.js":{"bytes":1204,"imports":[{"path":"node_modules/parse-svg-path/index.js","kind":"require-call","original":"parse-svg-path"},{"path":"node_modules/abs-svg-path/index.js","kind":"require-call","original":"abs-svg-path"},{"path":"node_modules/normalize-svg-path/index.js","kind":"require-call","original":"normalize-svg-path"},{"path":"node_modules/is-svg-path/index.js","kind":"require-call","original":"is-svg-path"}],"format":"cjs"},"src/lib/utils/get-svg-path-bounds.ts":{"bytes":559,"imports":[{"path":"node_modules/svg-path-bounds/index.js","kind":"import-statement","original":"svg-path-bounds"}],"format":"esm"},"src/schematic-components/SVGPathComponent.tsx":{"bytes":3533,"imports":[{"path":"src/lib/render-context/index.ts","kind":"import-statement","original":"lib/render-context"},{"path":"src/lib/utils/get-svg-path-bounds.ts","kind":"import-statement","original":"lib/utils/get-svg-path-bounds"},{"path":"react","kind":"import-statement","external":true},{"path":"node_modules/transformation-matrix/src/index.js","kind":"import-statement","original":"transformation-matrix"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SimpleResistor.tsx":{"bytes":626,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SimpleCapacitor.tsx":{"bytes":733,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/hooks/use-maybe-promise.ts":{"bytes":367,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"src/lib/hooks/index.ts":{"bytes":36,"imports":[{"path":"src/lib/hooks/use-maybe-promise.ts","kind":"import-statement","original":"./use-maybe-promise"}],"format":"esm"},"src/schematic-components/ProjectComponent.tsx":{"bytes":1896,"imports":[{"path":"src/lib/hooks/index.ts","kind":"import-statement","original":"lib/hooks"},{"path":"@tscircuit/builder","kind":"import-statement","external":true},{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/index.tsx","kind":"import-statement","original":"./"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/lib/utils/direction-to-vec.ts":{"bytes":1642,"imports":[],"format":"esm"},"src/schematic-components/SchematicPort.tsx":{"bytes":1620,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/lib/utils/direction-to-vec.ts","kind":"import-statement","original":"lib/utils/direction-to-vec"},{"path":"src/schematic-components/index.tsx","kind":"import-statement","original":"./"},{"path":"react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"node_modules/debounce/index.js":{"bytes":1843,"imports":[],"format":"cjs"},"node_modules/react-use-measure/dist/web.js":{"bytes":5369,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"node_modules/debounce/index.js","kind":"import-statement","original":"debounce"}],"format":"esm"},"src/schematic-components/SchematicText.tsx":{"bytes":1170,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"./SVGPathComponent","kind":"import-statement","external":true},{"path":"svg-path-generator","kind":"import-statement","external":true},{"path":"lib/utils/get-svg-path-bounds","kind":"import-statement","external":true},{"path":"src/lib/render-context/index.ts","kind":"import-statement","original":"lib/render-context"},{"path":"node_modules/transformation-matrix/src/index.js","kind":"import-statement","original":"transformation-matrix"},{"path":"node_modules/react-use-measure/dist/web.js","kind":"import-statement","original":"react-use-measure"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"node_modules/svg-path-generator/lib/svg-path-generator.js":{"bytes":1953,"imports":[],"format":"cjs"},"node_modules/svg-path-generator/index.js":{"bytes":56,"imports":[{"path":"node_modules/svg-path-generator/lib/svg-path-generator.js","kind":"require-call","original":"./lib/svg-path-generator"}],"format":"cjs"},"src/schematic-components/RenderError.tsx":{"bytes":370,"imports":[{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicTrace.tsx":{"bytes":1274,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"node_modules/svg-path-generator/index.js","kind":"import-statement","original":"svg-path-generator"},{"path":"src/lib/utils/get-svg-path-bounds.ts","kind":"import-statement","original":"lib/utils/get-svg-path-bounds"},{"path":"src/schematic-components/RenderError.tsx","kind":"import-statement","original":"./RenderError"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicBug.tsx":{"bytes":2193,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"lodash/range","kind":"import-statement","external":true},{"path":"@tscircuit/builder","kind":"import-statement","external":true},{"path":"src/lib/utils/get-svg-path-bounds.ts","kind":"import-statement","original":"lib/utils/get-svg-path-bounds"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SimplePowerSource.tsx":{"bytes":632,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SimpleGround.tsx":{"bytes":614,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SimpleInductor.tsx":{"bytes":897,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SimpleDiode.tsx":{"bytes":1059,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/index.tsx":{"bytes":530,"imports":[{"path":"src/schematic-components/SchematicGroup.tsx","kind":"import-statement","original":"./SchematicGroup"},{"path":"src/schematic-components/SimpleResistor.tsx","kind":"import-statement","original":"./SimpleResistor"},{"path":"src/schematic-components/SimpleCapacitor.tsx","kind":"import-statement","original":"./SimpleCapacitor"},{"path":"src/schematic-components/SVGPathComponent.tsx","kind":"import-statement","original":"./SVGPathComponent"},{"path":"src/schematic-components/ProjectComponent.tsx","kind":"import-statement","original":"./ProjectComponent"},{"path":"src/schematic-components/SchematicComponent.tsx","kind":"import-statement","original":"./SchematicComponent"},{"path":"src/schematic-components/SchematicPort.tsx","kind":"import-statement","original":"./SchematicPort"},{"path":"src/schematic-components/SchematicText.tsx","kind":"import-statement","original":"./SchematicText"},{"path":"src/schematic-components/ProjectComponent.tsx","kind":"import-statement","original":"./ProjectComponent"},{"path":"src/schematic-components/SchematicTrace.tsx","kind":"import-statement","original":"./SchematicTrace"},{"path":"src/schematic-components/SchematicBug.tsx","kind":"import-statement","original":"./SchematicBug"},{"path":"src/schematic-components/SimplePowerSource.tsx","kind":"import-statement","original":"./SimplePowerSource"},{"path":"src/schematic-components/SimpleGround.tsx","kind":"import-statement","original":"./SimpleGround"},{"path":"src/schematic-components/SimpleInductor.tsx","kind":"import-statement","original":"./SimpleInductor"},{"path":"src/schematic-components/RenderError.tsx","kind":"import-statement","original":"./RenderError"},{"path":"src/schematic-components/SimpleDiode.tsx","kind":"import-statement","original":"./SimpleDiode"}],"format":"esm"},"src/schematic-components/SchematicComponent.tsx":{"bytes":1453,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"src/schematic-components/index.tsx","kind":"import-statement","original":"./"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicBox.tsx":{"bytes":649,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"lib/utils/direction-to-vec","kind":"import-statement","external":true},{"path":"src/schematic-components/index.tsx","kind":"import-statement","original":"./"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicLine.tsx":{"bytes":1198,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"lib/utils/direction-to-vec","kind":"import-statement","external":true},{"path":"src/schematic-components/index.tsx","kind":"import-statement","original":"."},{"path":"node_modules/svg-path-generator/index.js","kind":"import-statement","original":"svg-path-generator"},{"path":"src/lib/utils/get-svg-path-bounds.ts","kind":"import-statement","original":"lib/utils/get-svg-path-bounds"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicPath.tsx":{"bytes":1298,"imports":[{"path":"lib/types","kind":"import-statement","external":true},{"path":"lib/utils/direction-to-vec","kind":"import-statement","external":true},{"path":"src/schematic-components/index.tsx","kind":"import-statement","original":"."},{"path":"node_modules/svg-path-generator/index.js","kind":"import-statement","original":"svg-path-generator"},{"path":"src/lib/utils/get-svg-path-bounds.ts","kind":"import-statement","original":"lib/utils/get-svg-path-bounds"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/SchematicElement.tsx":{"bytes":2089,"imports":[{"path":"@tscircuit/builder","kind":"import-statement","external":true},{"path":"src/lib/utils/collect-element-refs.ts","kind":"import-statement","original":"lib/utils/collect-element-refs"},{"path":"src/schematic-components/SchematicComponent.tsx","kind":"import-statement","original":"./SchematicComponent"},{"path":"src/schematic-components/SchematicPort.tsx","kind":"import-statement","original":"./SchematicPort"},{"path":"src/schematic-components/SchematicText.tsx","kind":"import-statement","original":"./SchematicText"},{"path":"src/schematic-components/SchematicBox.tsx","kind":"import-statement","original":"./SchematicBox"},{"path":"src/schematic-components/SchematicTrace.tsx","kind":"import-statement","original":"./SchematicTrace"},{"path":"src/schematic-components/SchematicLine.tsx","kind":"import-statement","original":"./SchematicLine"},{"path":"src/schematic-components/RenderError.tsx","kind":"import-statement","original":"./RenderError"},{"path":"src/schematic-components/SchematicPath.tsx","kind":"import-statement","original":"./SchematicPath"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/schematic-components/TableViewer.tsx":{"bytes":345,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@tscircuit/table-viewer","kind":"dynamic-import","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/Schematic.tsx":{"bytes":4451,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"schematic-components","kind":"import-statement","external":true},{"path":"react-supergrid","kind":"import-statement","external":true},{"path":"@tscircuit/builder","kind":"import-statement","external":true},{"path":"@tscircuit/builder","kind":"import-statement","external":true},{"path":"@tscircuit/react-fiber","kind":"import-statement","external":true},{"path":"src/schematic-components/SchematicElement.tsx","kind":"import-statement","original":"schematic-components/SchematicElement"},{"path":"lib/utils/collect-element-refs","kind":"import-statement","external":true},{"path":"use-mouse-matrix-transform","kind":"import-statement","external":true},{"path":"react-error-boundary","kind":"import-statement","external":true},{"path":"node_modules/transformation-matrix/src/index.js","kind":"import-statement","original":"transformation-matrix"},{"path":"src/lib/render-context/index.ts","kind":"import-statement","original":"lib/render-context"},{"path":"node_modules/react-use-measure/dist/web.js","kind":"import-statement","original":"react-use-measure"},{"path":"src/schematic-components/TableViewer.tsx","kind":"import-statement","original":"./schematic-components/TableViewer"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":28,"imports":[{"path":"src/Schematic.tsx","kind":"import-statement","original":"./Schematic"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":165102},"dist/index.js":{"imports":[{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react-supergrid","kind":"require-call","external":true},{"path":"@tscircuit/builder","kind":"require-call","external":true},{"path":"@tscircuit/react-fiber","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"@tscircuit/builder","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"@tscircuit/builder","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"use-mouse-matrix-transform","kind":"require-call","external":true},{"path":"react-error-boundary","kind":"require-call","external":true},{"path":"react","kind":"require-call","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true},{"path":"@tscircuit/table-viewer","kind":"dynamic-import","external":true},{"path":"react/jsx-runtime","kind":"require-call","external":true}],"exports":[],"entryPoint":"src/index.ts","inputs":{"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js":{"bytesInOutput":1395},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js":{"bytesInOutput":5088},"node_modules/use-sync-external-store/shim/index.js":{"bytesInOutput":356},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js":{"bytesInOutput":1710},"node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js":{"bytesInOutput":4053},"node_modules/use-sync-external-store/shim/with-selector.js":{"bytesInOutput":343},"node_modules/parse-svg-path/index.js":{"bytesInOutput":1181},"node_modules/abs-svg-path/index.js":{"bytesInOutput":1362},"node_modules/svg-arc-to-cubic-bezier/modules/index.js":{"bytesInOutput":5850},"node_modules/normalize-svg-path/index.js":{"bytesInOutput":3100},"node_modules/is-svg-path/index.js":{"bytesInOutput":401},"node_modules/svg-path-bounds/index.js":{"bytesInOutput":1428},"node_modules/debounce/index.js":{"bytesInOutput":1419},"node_modules/svg-path-generator/lib/svg-path-generator.js":{"bytesInOutput":2249},"node_modules/svg-path-generator/index.js":{"bytesInOutput":172},"src/index.ts":{"bytesInOutput":123},"src/Schematic.tsx":{"bytesInOutput":4470},"src/lib/utils/collect-element-refs.ts":{"bytesInOutput":882},"src/schematic-components/index.tsx":{"bytesInOutput":0},"node_modules/zustand/esm/vanilla.js":{"bytesInOutput":871},"node_modules/zustand/esm/index.js":{"bytesInOutput":836},"node_modules/transformation-matrix/src/applyToPoint.js":{"bytesInOutput":320},"node_modules/transformation-matrix/src/index.js":{"bytesInOutput":0},"node_modules/transformation-matrix/src/utils.js":{"bytesInOutput":67},"node_modules/transformation-matrix/src/translate.js":{"bytesInOutput":112},"node_modules/transformation-matrix/src/transform.js":{"bytesInOutput":780},"node_modules/transformation-matrix/src/rotate.js":{"bytesInOutput":29},"node_modules/transformation-matrix/src/scale.js":{"bytesInOutput":351},"node_modules/transformation-matrix/src/skew.js":{"bytesInOutput":20},"node_modules/transformation-matrix/src/fromTransformAttribute.autogenerated.js":{"bytesInOutput":4384},"src/lib/render-context/index.ts":{"bytesInOutput":258},"src/lib/utils/get-svg-path-bounds.ts":{"bytesInOutput":591},"src/schematic-components/SVGPathComponent.tsx":{"bytesInOutput":3318},"src/schematic-components/SimpleResistor.tsx":{"bytesInOutput":495},"src/schematic-components/SimpleCapacitor.tsx":{"bytesInOutput":600},"src/lib/hooks/use-maybe-promise.ts":{"bytesInOutput":38},"src/lib/hooks/index.ts":{"bytesInOutput":0},"src/schematic-components/ProjectComponent.tsx":{"bytesInOutput":108},"src/lib/utils/direction-to-vec.ts":{"bytesInOutput":326},"src/schematic-components/SchematicPort.tsx":{"bytesInOutput":1211},"node_modules/react-use-measure/dist/web.js":{"bytesInOutput":4901},"src/schematic-components/SchematicText.tsx":{"bytesInOutput":886},"src/schematic-components/SchematicTrace.tsx":{"bytesInOutput":1218},"src/schematic-components/RenderError.tsx":{"bytesInOutput":444},"src/schematic-components/SchematicBug.tsx":{"bytesInOutput":1696},"src/schematic-components/SimplePowerSource.tsx":{"bytesInOutput":496},"src/schematic-components/SimpleGround.tsx":{"bytesInOutput":489},"src/schematic-components/SimpleInductor.tsx":{"bytesInOutput":768},"src/schematic-components/SimpleDiode.tsx":{"bytesInOutput":57},"src/schematic-components/SchematicComponent.tsx":{"bytesInOutput":1392},"src/schematic-components/SchematicBox.tsx":{"bytesInOutput":548},"src/schematic-components/SchematicLine.tsx":{"bytesInOutput":982},"src/schematic-components/SchematicPath.tsx":{"bytesInOutput":1214},"src/schematic-components/SchematicElement.tsx":{"bytesInOutput":1569},"src/schematic-components/TableViewer.tsx":{"bytesInOutput":525}},"bytes":73478}}}
|
package/package.json
CHANGED
package/src/lib/types/core.ts
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
|
-
import { AnyElement } from "@tscircuit/builder"
|
|
1
|
+
import { AnyElement, SourcePort } from "@tscircuit/builder"
|
|
2
2
|
|
|
3
3
|
export const collectElementRefs = (elm: AnyElement, allElms: AnyElement[]) => {
|
|
4
|
+
const source_port = allElms.find(
|
|
5
|
+
(e) =>
|
|
6
|
+
e.type === "source_port" &&
|
|
7
|
+
e.source_port_id === (elm as any).source_port_id
|
|
8
|
+
) as SourcePort | null
|
|
9
|
+
const source_component_id: string =
|
|
10
|
+
(elm as any).source_component_id ?? source_port?.source_component_id
|
|
4
11
|
const source_component = allElms.find(
|
|
5
12
|
(e) =>
|
|
6
13
|
e.type === "source_component" &&
|
|
7
|
-
e.source_component_id ===
|
|
14
|
+
e.source_component_id === source_component_id
|
|
8
15
|
)
|
|
9
16
|
if (
|
|
10
17
|
[
|
|
@@ -26,6 +33,8 @@ export const collectElementRefs = (elm: AnyElement, allElms: AnyElement[]) => {
|
|
|
26
33
|
schematic_children,
|
|
27
34
|
schematic: elm,
|
|
28
35
|
source: source_component,
|
|
36
|
+
source_component,
|
|
37
|
+
source_port,
|
|
29
38
|
}
|
|
30
39
|
}
|
|
31
40
|
return null
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useCameraTransform } from "lib/render-context"
|
|
2
2
|
import getSVGPathBounds from "lib/utils/get-svg-path-bounds"
|
|
3
|
+
import { useCallback, useState } from "react"
|
|
3
4
|
|
|
4
5
|
import { applyToPoint } from "transformation-matrix"
|
|
5
6
|
|
|
@@ -13,9 +14,18 @@ interface Props {
|
|
|
13
14
|
fill?: string
|
|
14
15
|
d: string
|
|
15
16
|
}>
|
|
17
|
+
zIndex?: number
|
|
18
|
+
hoverContent?: any
|
|
16
19
|
}
|
|
17
20
|
|
|
18
|
-
export const SVGPathComponent = ({
|
|
21
|
+
export const SVGPathComponent = ({
|
|
22
|
+
size,
|
|
23
|
+
center,
|
|
24
|
+
rotation,
|
|
25
|
+
paths,
|
|
26
|
+
zIndex,
|
|
27
|
+
hoverContent,
|
|
28
|
+
}: Props) => {
|
|
19
29
|
const ct = useCameraTransform()
|
|
20
30
|
const pathBounds = getSVGPathBounds(paths.map((p) => p.d))
|
|
21
31
|
// Margin in SVG Space
|
|
@@ -30,36 +40,84 @@ export const SVGPathComponent = ({ size, center, rotation, paths }: Props) => {
|
|
|
30
40
|
pathBounds.height = Math.max(pathBounds.height, 1)
|
|
31
41
|
pathBounds.width = Math.max(pathBounds.width, 1)
|
|
32
42
|
const absoluteCenter = applyToPoint(ct, center)
|
|
43
|
+
const actualAbsWidth = size.width * ct.a
|
|
44
|
+
const actualAbsHeight = size.height * ct.d
|
|
33
45
|
const absoluteSize = {
|
|
34
|
-
width: Math.max(1,
|
|
35
|
-
height: Math.max(1,
|
|
46
|
+
width: Math.max(1, actualAbsWidth),
|
|
47
|
+
height: Math.max(1, actualAbsHeight),
|
|
36
48
|
}
|
|
37
49
|
|
|
50
|
+
const [hovering, setHovering] = useState(false)
|
|
51
|
+
|
|
52
|
+
const svgLeft = absoluteCenter.x - absoluteSize.width / 2
|
|
53
|
+
const svgTop = absoluteCenter.y - absoluteSize.height / 2
|
|
54
|
+
|
|
38
55
|
return (
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
56
|
+
<>
|
|
57
|
+
{hovering && (
|
|
58
|
+
<>
|
|
59
|
+
<div
|
|
60
|
+
style={{
|
|
61
|
+
position: "absolute",
|
|
62
|
+
left: svgLeft - 4,
|
|
63
|
+
top: svgTop - 4,
|
|
64
|
+
pointerEvents: "none",
|
|
65
|
+
width: actualAbsWidth + 8,
|
|
66
|
+
height: actualAbsHeight + 8,
|
|
67
|
+
border: "1px red solid",
|
|
68
|
+
zIndex: 1000,
|
|
69
|
+
}}
|
|
70
|
+
/>
|
|
71
|
+
<div
|
|
72
|
+
style={{
|
|
73
|
+
position: "absolute",
|
|
74
|
+
left: svgLeft + actualAbsWidth + 10,
|
|
75
|
+
pointerEvents: "none",
|
|
76
|
+
zIndex: 1000,
|
|
77
|
+
color: "red",
|
|
78
|
+
top: svgTop,
|
|
79
|
+
fontFamily: "monospace",
|
|
80
|
+
fontSize: 14,
|
|
81
|
+
textShadow: `-1px 1px 0 #fff,
|
|
82
|
+
1px 1px 0 #fff,
|
|
83
|
+
1px -1px 0 #fff,
|
|
84
|
+
-1px -1px 0 #fff`,
|
|
85
|
+
}}
|
|
86
|
+
>
|
|
87
|
+
{hoverContent}
|
|
88
|
+
</div>
|
|
89
|
+
</>
|
|
90
|
+
)}
|
|
91
|
+
<svg
|
|
92
|
+
onMouseOver={() => setHovering(Boolean(hoverContent))}
|
|
93
|
+
onMouseOut={() => setHovering(false)}
|
|
94
|
+
style={{
|
|
95
|
+
position: "absolute",
|
|
96
|
+
// backgroundColor: hovering ? "rgba(0, 0, 255, 0.5)" : "transparent",
|
|
97
|
+
cursor: hovering ? "pointer" : undefined,
|
|
98
|
+
zIndex,
|
|
99
|
+
transform: rotation === 0 ? "" : `rotate(${rotation}rad)`,
|
|
100
|
+
left: svgLeft,
|
|
101
|
+
top: svgTop,
|
|
102
|
+
// backgroundColor: badRatio ? "rgba(255, 0, 0, 0.5)" : "transparent",
|
|
103
|
+
}}
|
|
104
|
+
overflow="visible"
|
|
105
|
+
width={absoluteSize.width}
|
|
106
|
+
height={absoluteSize.height}
|
|
107
|
+
viewBox={`${pathBounds.minX} ${pathBounds.minY} ${pathBounds.width} ${pathBounds.height}`}
|
|
108
|
+
>
|
|
109
|
+
{paths.map((p, i) => (
|
|
110
|
+
<path
|
|
111
|
+
key={i}
|
|
112
|
+
fill={p.fill ?? "none"}
|
|
113
|
+
strokeLinecap="round"
|
|
114
|
+
strokeWidth={2 * (p.strokeWidth || 1)}
|
|
115
|
+
stroke={p.stroke || "red"}
|
|
116
|
+
d={p.d}
|
|
117
|
+
/>
|
|
118
|
+
))}
|
|
119
|
+
</svg>
|
|
120
|
+
</>
|
|
63
121
|
)
|
|
64
122
|
}
|
|
65
123
|
|
|
@@ -1,20 +1,43 @@
|
|
|
1
1
|
import * as Type from "lib/types"
|
|
2
2
|
import { directionToVec } from "lib/utils/direction-to-vec"
|
|
3
3
|
import * as Component from "./"
|
|
4
|
+
import { useState } from "react"
|
|
4
5
|
|
|
5
6
|
interface Props {
|
|
6
7
|
port: {
|
|
7
|
-
|
|
8
|
+
source_port: Type.SourcePort
|
|
9
|
+
source_component: Type.SourceComponent
|
|
8
10
|
schematic: Type.SchematicPort
|
|
9
11
|
}
|
|
10
12
|
}
|
|
11
13
|
|
|
12
|
-
export const SchematicPort = ({
|
|
14
|
+
export const SchematicPort = ({
|
|
15
|
+
port: { source_port, source_component, schematic },
|
|
16
|
+
}: Props) => {
|
|
17
|
+
const hoverName = source_component?.name
|
|
18
|
+
? `.${source_component.name} > .${
|
|
19
|
+
source_port?.name ?? source_port?.pin_number
|
|
20
|
+
}`
|
|
21
|
+
: `.${source_port?.name ?? source_port?.pin_number}`
|
|
13
22
|
return (
|
|
14
23
|
<Component.SVGPathComponent
|
|
15
24
|
rotation={0}
|
|
25
|
+
hoverContent={
|
|
26
|
+
<div>
|
|
27
|
+
{hoverName}
|
|
28
|
+
<br />
|
|
29
|
+
{source_port?.pin_number && `Pin ${source_port.pin_number}`}
|
|
30
|
+
{/* <br />
|
|
31
|
+
<div style={{ opacity: 0.5 }}>
|
|
32
|
+
{schematic.schematic_port_id}
|
|
33
|
+
<br />
|
|
34
|
+
{schematic.source_port_id}
|
|
35
|
+
</div> */}
|
|
36
|
+
</div>
|
|
37
|
+
}
|
|
16
38
|
center={schematic.center}
|
|
17
39
|
size={{ width: 0.2, height: 0.2 }}
|
|
40
|
+
zIndex={10}
|
|
18
41
|
paths={[
|
|
19
42
|
{
|
|
20
43
|
stroke: "blue",
|