id: "basic-shapes-profile"
version: "1.0.0"
name: "Basic Shapes"
description: "Basic geometric and document shapes for simple diagrams and visualizations"
icon: "SquareOutline"

# Metadata
metadata:
  tags:
    - "basic-shapes"
    - "geometric"
    - "visualization"
    - "diagrams"

# Element Types
elementTypes:
  - id: "basic-shapes.arrowRectangle"
    name: "Arrow rectangle"
    description: "An arrow rectangle shape"
    descriptionDetailed: "An arrow Rectangle represents a basic arrow rectangle geometric shape. Use arrow rectangles for simple visual elements, containers, or placeholders in diagrams."
    baseType: "composite-part"
    style:
      accentColor: "#0f62fe"
      defaultCanvasStyle: "shape"
      shape: "arrowRectangle"
      # Note: When shape is provided, icon is ignored

  - id: "basic-shapes.rectangle"
    name: "Rectangle"
    description: "A rectangular shape"
    descriptionDetailed: "A Rectangle represents a basic rectangular geometric shape. Use rectangles for containers, cards, or wide visual elements in diagrams."
    baseType: "composite-part"
    style:
      accentColor: "#198038"
      defaultCanvasStyle: "shape"
      shape: "rectangle"
      # Note: When shape is provided, icon is ignored

  - id: "basic-shapes.circle"
    name: "Circle"
    description: "A circular shape"
    descriptionDetailed: "A Circle represents a basic circular geometric shape. Use circles for nodes, points, or round visual elements in diagrams."
    baseType: "composite-part"
    style:
      accentColor: "#ba4e00"
      defaultCanvasStyle: "shape"
      shape: "circle"
      # Note: When shape is provided, icon is ignored

  - id: "basic-shapes.triangle"
    name: "Triangle"
    description: "A triangular shape"
    descriptionDetailed: "A Triangle represents a basic triangular geometric shape. Use triangles for indicators, markers, or triangular visual elements in diagrams."
    baseType: "composite-part"
    style:
      icon: "Warning"
      accentColor: "#da1e28"
      defaultCanvasStyle: "shape"
      shape: "triangle"
      # Note: When shape is provided, icon is ignored

  - id: "basic-shapes.diamond"
    name: "Diamond"
    description: "A diamond shape"
    descriptionDetailed: "A Diamond represents a basic diamond geometric shape. Use diamonds for decision points, special markers, or diamond-shaped visual elements in diagrams."
    baseType: "composite-part"
    style:
      accentColor: "#8a3ffc"
      defaultCanvasStyle: "shape"
      shape: "diamond"
      # Note: When shape is provided, icon is ignored

  - id: "basic-shapes.document"
    name: "Document"
    description: "A document shape"
    descriptionDetailed: "A Document represents a document or file. Use documents to represent files, documents, reports, or other document-like entities in diagrams."
    baseType: "composite-part"
    style:
      accentColor: "#007d79"
      defaultCanvasStyle: "shape"
      shape: "document"
      # Note: When shape is provided, icon is ignored

  - id: "basic-shapes.folder"
    name: "Folder"
    description: "A folder shape"
    descriptionDetailed: "A Folder represents a folder or directory. Use folders to represent directories, collections, or folder-like entities in diagrams."
    baseType: "composite-part"
    style:
      accentColor: "#ba4e00"
      defaultCanvasStyle: "shape"
      shape: "folder"
      # Note: When shape is provided, icon is ignored

  - id: "basic-shapes.hexagon"
    name: "Hexagon"
    description: "A hexagonal shape"
    descriptionDetailed: "A Hexagon represents a basic hexagonal geometric shape. Use hexagons for special markers, nodes, or hexagonal visual elements in diagrams."
    baseType: "composite-part"
    style:
      accentColor: "#0f62fe"
      defaultCanvasStyle: "shape"
      shape: "hexagon"
      # Note: When shape is provided, icon is ignored

  - id: "basic-shapes.octagon"
    name: "Octagon"
    description: "An octagonal shape"
    descriptionDetailed: "An Octagon represents a basic octagonal geometric shape. Use octagons for special markers, stop signs, or octagonal visual elements in diagrams."
    baseType: "composite-part"
    style:
      accentColor: "#da1e28"
      defaultCanvasStyle: "shape"
      shape: "octagon"
      # Note: When shape is provided, icon is ignored

  - id: "basic-shapes.star"
    name: "Star"
    description: "A star shape"
    descriptionDetailed: "A Star represents a basic star geometric shape. Use stars for highlights, favorites, or special markers in diagrams."
    baseType: "composite-part"
    style:
      accentColor: "#8e6a00"
      defaultCanvasStyle: "shape"
      shape: "star"
      # Note: When shape is provided, icon is ignored

  - id: "basic-shapes.calls"
    name: "Calls"
    description: "A calls shape"
    descriptionDetailed: "A calls represents a basic calls arrow shape. Use arrows for directions, flows, or pointing to elements in diagrams."
    baseType: "composite-part"
    style:
      accentColor: "#198038"
      defaultCanvasStyle: "shape"
      shape: "calls"
      # Note: When shape is provided, icon is ignored

  - id: "basic-shapes.brackets"
    name: "Brackets"
    description: "A brackets shape"
    descriptionDetailed: "A brackets represents a basic brackets shape. Use brackets to group or enclose elements in diagrams."
    baseType: "composite-part"
    style:
      accentColor: "#0072c3"
      defaultCanvasStyle: "shape"
      shape: "brackets"
      # Note: When shape is provided, icon is ignored

  - id: "basic-shapes.cylinder"
    name: "Cylinder"
    description: "A cylinder shape"
    descriptionDetailed: "A cylinder represents a basic cylinder shape. Use cylinders for containers, storage, or round visual elements in diagrams."
    baseType: "composite-part"
    style:
      accentColor: "#0072c3"
      defaultCanvasStyle: "shape"
      shape: "cylinder"
      # Note: When shape is provided, icon is ignored

  - id: "basic-shapes.parallelogram"
    name: "Parallelogram"
    description: "A parallelogram shape"
    descriptionDetailed: "A parallelogram represents a basic parallelogram shape. Use parallelograms for containers, storage, or round visual elements in diagrams."
    baseType: "composite-part"
    style:
      accentColor: "#0072c3"
      defaultCanvasStyle: "shape"
      shape: "parallelogram"
      # Note: When shape is provided, icon is ignored

  - id: "basic-shapes.pin"
    name: "Pin"
    description: "A pin shape"
    descriptionDetailed: "A pin represents a basic pin shape. Use pins for special markers, nodes, or pin-shaped visual elements in diagrams."
    baseType: "composite-part"
    style:
      accentColor: "#0072c3"
      defaultCanvasStyle: "shape"
      shape: "pin"
      # Note: When shape is provided, icon is ignored

  - id: "basic-shapes.plus"
    name: "Plus"
    description: "A plus shape"
    descriptionDetailed: "A plus represents a basic plus shape. Use pluses for special markers, nodes, or plus-shaped visual elements in diagrams."
    baseType: "composite-part"
    style:
      accentColor: "#0072c3"
      defaultCanvasStyle: "shape"
      shape: "plus"
      # Note: When shape is provided, icon is ignored

  - id: "basic-shapes.roundRectangle"
    name: "Round rectangle"
    description: "A round rectangle shape"
    descriptionDetailed: "A round rectangle represents a basic round rectangle shape. Use round rectangles for containers, storage, or round visual elements in diagrams."
    baseType: "composite-part"
    style:
      accentColor: "#0072c3"
      defaultCanvasStyle: "shape"
      shape: "roundRectangle"
      # Note: When shape is provided, icon is ignored

  - id: "basic-shapes.line"
    name: "Line"
    description: "A line shape"
    descriptionDetailed: "A line represents a basic line shape. Use lines for connections, flows, or pointing to elements in diagrams."
    baseType: "composite-part"
    style:
      accentColor: "#0072c3"
      defaultCanvasStyle: "shape"
      shape: "line"
      # Note: When shape is provided, icon is ignored

  - id: "basic-shapes.verticalLine"
    name: "Vertical line"
    description: "A vertical line shape"
    descriptionDetailed: "A vertical line represents a basic vertical line shape. Use vertical lines for connections, flows, or pointing to elements in diagrams."
    baseType: "composite-part"
    style:
      accentColor: "#0072c3"
      defaultCanvasStyle: "shape"
      shape: "verticalLine"
      # Note: When shape is provided, icon is ignored

# Relationship Types
relationshipTypes:
  - id: "basic-shapes.connects"
    name: "connects"
    description: "Connects a shape to another shape or element"
    descriptionDetailed: "A Connects relationship links basic shapes to each other or to other elements in diagrams. This relationship is used for visual connections between shapes and elements, such as grouping related items, showing flow between shapes, or connecting shapes to model elements. Shapes can connect to any element type including other shapes, model elements, and notes."
    typeMappings:
      - sourceElementTypes: ["basic-shapes.*"]
        targetElementTypes: ["*"]
    bidirectional: true
    relationshipType: "default"
    prefillLabel: false
    style:
      style: "line"
      startArrow: "none"
      endArrow: "none"
      defaultColor: "#000000"
      thickness: 1


# Property Groups
propertyGroups: []

# Text Templates

# Validations
validations: []
