// Notched panel

Notched panel

Composable SVG-outline panel whose chamfers and edge cut-outs are declared as child decorators, not baked classes.

<talos-panel> draws a monochrome hairline-on-dark panel as a single SVG outline, then slots your content on top. The Talos idea: the shape is composed — each cut corner or notched edge is a declarative child (<talos-corner>, <talos-notch>) the panel reads to build its path, so the silhouette is data, not a fixed clip-path. Add or remove a decorator and the outline re-renders.

Default — plain rectangle

PREVIEW
<talos-panel panel-width="400" panel-height="200"></talos-panel>

With no decorators the panel is a plain rectangle at --talos-hud-fill with a 1px --talos-hud-edge hairline — the same geometry intent as .glass-panel.

Chamfered corners

PREVIEW
<talos-panel panel-width="400" panel-height="200">
  <talos-corner edge="top-right" radius="24"></talos-corner>
  <talos-corner edge="bottom-left" radius="24"></talos-corner>
</talos-panel>

Each <talos-corner> cuts one of the four corners. edge takes top-left, top-right, bottom-right, bottom-left; radius is the chamfer depth in px (default 16). An invalid edge or non-positive radius is ignored.

Notched edges

PREVIEW
<talos-panel panel-width="400" panel-height="200">
  <talos-notch edge="top" width="80" depth="14"></talos-notch>
  <talos-notch edge="bottom" width="120" depth="10"></talos-notch>
</talos-panel>

<talos-notch> cuts a centered trapezoidal slot into one edge — the one motif the CSS layer doesn’t provide. edge is top, right, bottom, or left; width and depth are px (defaults 60 / 20).

Composed — corners + notch + content

PREVIEW

Composable geometry

<talos-panel panel-width="400" panel-height="220" edge="hsl(0 0% 100% / 0.5)" stroke-width="1.5">
  <talos-corner edge="top-right" radius="22"></talos-corner>
  <talos-corner edge="bottom-left" radius="22"></talos-corner>
  <talos-notch edge="top" width="80" depth="14"></talos-notch>
  <h3>Composable geometry</h3>
</talos-panel>

Decorators stack freely. Non-decorator children (the <h3>) are slotted as content on top of the outline; fill, edge, and stroke-width override the panel chrome.

Animated entrance

PREVIEW
<talos-panel panel-width="400" panel-height="200" animate animation-duration="1200">
  <talos-corner edge="top-right" radius="22"></talos-corner>
  <talos-notch edge="bottom" width="90" depth="12"></talos-notch>
</talos-panel>

animate stroke-draws the outline once on first render; animation-duration sets the sweep in ms (default 800). Under prefers-reduced-motion the draw is skipped and the final outline shows immediately.

<talos-panel> attributes

AttributeDefaultEffect
panel-width / panel-height400 / 200viewBox dimensions; also set aspect-ratio
fill--talos-hud-fillpanel fill colour
edge--talos-hud-edgehairline border colour
stroke-width1border width in px
animatestroke-draws the outline on first render
animation-duration800draw duration in ms

<talos-corner> attributes

AttributeDefaultEffect
edgetop-left / top-right / bottom-right / bottom-left
radius16chamfer depth in px (ignored if ≤ 0)

<talos-notch> attributes

AttributeDefaultEffect
edgetop / right / bottom / left
width60slot width in px (ignored if ≤ 0)
depth20slot depth in px (ignored if ≤ 0)