GitHub

BOM Tree

Bill of Materials tree component with hierarchy, type badges, stock indicators, cost display, search, and drag-drop support. Designed for ERPlora manufacturing workflows.

BOM Tree with Items

Preview
ERPlora Hydraulic Valve Assembly
  • Hydraulic Valve Assembly FIN-HVA-001
    Finished
    1 unit
    $284.50 total
    • Valve Body Subassembly SUB-VB-042
      Sub-Assy
      1 unit
      In Stock (24)
      $142.00 per unit
      • Steel Billet - Grade 316L RAW-STL-316L
        Raw
        2.5 kg
        Low (12 kg)
        $45.00 per unit
      • O-Ring Seal Kit CON-ORK-008
        Consumable
        4 pcs
        In Stock (580)
        $3.20 per unit
    • Actuator Spring - Heavy Duty RAW-SPR-HD7
      Raw
      2 pcs
      Out of Stock
      $18.75 per unit
    • Anti-Static Blister Pack PKG-ASB-020
      Packaging
      1 pcs
      In Stock (300)
      $1.80 per unit

Type Badges and Stock Indicators

Preview

Material Type Badges

Raw Sub-Assy Finished Consumable Packaging

Stock Indicators

In Stock (580)
Low Stock (12)
Out of Stock

Cost Display

$45.00 per unit
$284.50 total

Compact BOM Tree

Preview
ERPlora Cooling Fan Blade Set
  • Cooling Fan Assembly FIN-CFA-010
    Finished
    1 unit
    • Aluminum Alloy Sheet 2mm RAW-ALS-002
      Raw
      0.8 m2
    • Brushless DC Motor 12V RAW-BDM-12V
      Raw
      1 pcs
    • M3 Hex Bolts (pack of 10) CON-M3H-010
      Consumable
      1 pack

Empty State

Preview
New Product BOM

No components added

Start building your bill of materials by adding raw materials and sub-assemblies.

Classes Reference

Class Description
.bom-treeRoot container with CSS variables
.bom-tree-borderedAdds outer border to container
.bom-tree-smSmall size variant (40px rows)
.bom-tree-lgLarge size variant (56px rows)
.bom-tree-compactCompact variant (36px rows, smaller icons)
.bom-tree-headerHeader bar with title and actions
.bom-tree-titleHeader title text
.bom-tree-actionsAction buttons container
.bom-tree-actionIndividual action button (36x36)
.bom-tree-searchSearch bar container
.bom-tree-search-inputSearch text input
.bom-tree-listUnstyled list for tree nodes
.bom-tree-list-nestedIndented child list (uses --bom-indent)
.bom-tree-nodeSingle tree node (li)
.bom-tree-itemItem row with hover/active states
.bom-tree-item-selectedSelected item highlight
.bom-tree-item-highlightWarning-colored highlight (search match)
.bom-tree-item-draggingOpacity reduction during drag
.bom-tree-item-drag-overDashed outline for drop target
.bom-tree-toggleExpand/collapse arrow
.bom-tree-toggle-expandedRotates arrow 90 degrees
.bom-tree-toggle-emptyInvisible toggle for leaf nodes
.bom-tree-levelLevel depth indicator container
.bom-tree-level-barColored bar for depth level
.bom-tree-level-bar-l1 to .bom-tree-level-bar-l5Level-specific colors (primary, success, warning, error, accent)
.bom-tree-iconItem icon container (32x32)
.bom-tree-icon-rawAmber icon for raw materials
.bom-tree-icon-subassemblyBlue icon for sub-assemblies
.bom-tree-icon-finishedGreen icon for finished goods
.bom-tree-icon-consumablePurple icon for consumables
.bom-tree-icon-packagingGray icon for packaging
.bom-tree-detailsName and SKU text container
.bom-tree-nameItem name (truncated)
.bom-tree-skuMonospace SKU code
.bom-tree-typeType badge base class
.bom-tree-type-rawAmber type badge
.bom-tree-type-subassemblyBlue type badge
.bom-tree-type-finishedGreen type badge
.bom-tree-type-consumablePurple type badge
.bom-tree-type-packagingGray type badge
.bom-tree-quantityQuantity display container
.bom-tree-qty-valueNumeric quantity value
.bom-tree-qty-unitUnit label (kg, pcs, etc.)
.bom-tree-stockStock indicator container
.bom-tree-stock-in-stockGreen stock indicator
.bom-tree-stock-low-stockWarning stock with pulsing dot
.bom-tree-stock-out-of-stockRed out-of-stock indicator
.bom-tree-costCost display container
.bom-tree-cost-valueCost numeric value
.bom-tree-cost-labelCost description label
.bom-tree-cost-totalHighlighted total cost with primary background
.bom-tree-footerFooter bar with summary
.bom-tree-summarySummary stats container
.bom-tree-emptyCentered empty state container
.bom-tree-empty-iconLarge icon in empty state
.bom-tree-empty-titleEmpty state heading