import { useState, useEffect, useRef } from 'react' import Icon from './components/Icon' import { onMessage, notifyReady, requestSelection, setColorSource, setLwSource, setLinetypeSource, setLinetypeScale, setFill, } from './lib/rhinoBridge' const LW_PRESETS = [0.02, 0.10, 0.13, 0.18, 0.25, 0.35, 0.50, 0.70, 1.00] // --------------------------------------------------------------------------- function SectionHead({ title }) { return (
{title}
) } /** Source-Dropdown im Vectorworks-Stil: Link-Icon + Label + Caret */ function SourceSelect({ source, onChange, overrideLabel = 'Eigene' }) { return (
- Pille (index.css) damit's optisch konsistent mit dem Fill-Dropdown wirkt. Nur paddingLeft ueberschreiben wegen Link-Icon. */ }} >
) } function ColorBar({ color, onChange, height = 22 }) { // Readonly-Variante als reines Anzeige-Rechteck if (!onChange) { return (
) } // Editierbar: