SvgData import type {SvgData} from '@fuzdev/fuz_ui/svg.js'; A structured icon definition rendered by Svg.svelte. Rendering is purely
structural - typed fields, never raw markup - so untrusted data cannot
introduce script execution or navigation. See Svg.svelte for the full
security notes, including the residual style url(...) caveat.
paths?
List of svg path attribute objects, spread onto each path element. The
d attribute is required; a per-path fill overrides the resolved fill.
type Array<{d: string} & SvelteHTMLElements['path']> | null
style?
Inline style applied to the root svg element, merged with any style
passed as a component prop. Travels with the icon definition - per-instance
svg attributes belong on the Svg component itself.
type string | null
fill?
Default fill for every path, falling back to var(--text_color, #000).
Overridden by the component's fill prop, and per-path by a path's own fill.
type string | null
label?
Accessible name, applied as aria-label. Overridden by the component's label prop.
type string | null
viewBox?
Defaults to "0 0 100 100".
type string | null
gradients?
Gradient definitions rendered into the svg's <defs> block. This is the
structured replacement for raw markup - reference a gradient from a
path/shape fill or stroke with url(#id). Most svgs need only paths.
type Array<SvgGradient> | null