Просмотр исходного кода

Closes #8323: Display connector images for power port & outlet types

Add an optional image to Choice and render it beside each option in static
select fields (both the dropdown and the selected value), on ChoiceAttr detail
panels (via get_FOO_image()), and on the cable termination panels. Include
generated line drawings for power port and power outlet types, along with the
script used to generate them.
Jeremy Stretch 16 часов назад
Родитель
Сommit
e7e7761958
100 измененных файлов с 650 добавлено и 196 удалено
  1. 2 0
      docs/plugins/development/forms.md
  2. 225 185
      netbox/dcim/choices.py
  3. 13 2
      netbox/dcim/forms/bulk_create.py
  4. 5 4
      netbox/dcim/forms/filtersets.py
  5. 6 0
      netbox/dcim/models/device_components.py
  6. 13 0
      netbox/dcim/tests/test_models.py
  7. 17 3
      netbox/netbox/tests/test_ui.py
  8. 6 2
      netbox/netbox/ui/attrs.py
  9. 0 0
      netbox/project-static/dist/netbox.css
  10. 0 0
      netbox/project-static/dist/netbox.js
  11. 0 0
      netbox/project-static/dist/netbox.js.map
  12. 4 0
      netbox/project-static/img/connectors/power-outlet/CS6360C.svg
  13. 4 0
      netbox/project-static/img/connectors/power-outlet/CS6364C.svg
  14. 4 0
      netbox/project-static/img/connectors/power-outlet/CS8164C.svg
  15. 4 0
      netbox/project-static/img/connectors/power-outlet/CS8264C.svg
  16. 4 0
      netbox/project-static/img/connectors/power-outlet/CS8364C.svg
  17. 4 0
      netbox/project-static/img/connectors/power-outlet/CS8464C.svg
  18. 5 0
      netbox/project-static/img/connectors/power-outlet/eaton-c39.svg
  19. 4 0
      netbox/project-static/img/connectors/power-outlet/hdot-cx.svg
  20. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60309-2p-e-4h.svg
  21. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60309-2p-e-6h.svg
  22. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60309-2p-e-9h.svg
  23. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60309-3p-e-4h.svg
  24. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60309-3p-e-6h.svg
  25. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60309-3p-e-9h.svg
  26. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60309-3p-n-e-4h.svg
  27. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60309-3p-n-e-6h.svg
  28. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60309-3p-n-e-9h.svg
  29. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60309-p-n-e-4h.svg
  30. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60309-p-n-e-6h.svg
  31. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60309-p-n-e-9h.svg
  32. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60320-c13.svg
  33. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60320-c15.svg
  34. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60320-c17.svg
  35. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60320-c19.svg
  36. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60320-c21.svg
  37. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60320-c5.svg
  38. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60320-c7.svg
  39. 4 0
      netbox/project-static/img/connectors/power-outlet/iec-60906-1.svg
  40. 5 0
      netbox/project-static/img/connectors/power-outlet/ita-e.svg
  41. 4 0
      netbox/project-static/img/connectors/power-outlet/ita-f.svg
  42. 4 0
      netbox/project-static/img/connectors/power-outlet/ita-g.svg
  43. 4 0
      netbox/project-static/img/connectors/power-outlet/ita-h.svg
  44. 4 0
      netbox/project-static/img/connectors/power-outlet/ita-i.svg
  45. 4 0
      netbox/project-static/img/connectors/power-outlet/ita-j.svg
  46. 4 0
      netbox/project-static/img/connectors/power-outlet/ita-k.svg
  47. 4 0
      netbox/project-static/img/connectors/power-outlet/ita-l.svg
  48. 4 0
      netbox/project-static/img/connectors/power-outlet/ita-m.svg
  49. 4 0
      netbox/project-static/img/connectors/power-outlet/ita-n.svg
  50. 4 0
      netbox/project-static/img/connectors/power-outlet/ita-o.svg
  51. 4 0
      netbox/project-static/img/connectors/power-outlet/molex-micro-fit-1x2.svg
  52. 4 0
      netbox/project-static/img/connectors/power-outlet/molex-micro-fit-2x2.svg
  53. 4 0
      netbox/project-static/img/connectors/power-outlet/molex-micro-fit-2x3.svg
  54. 4 0
      netbox/project-static/img/connectors/power-outlet/molex-micro-fit-2x4.svg
  55. 4 0
      netbox/project-static/img/connectors/power-outlet/nbr-14136-10a.svg
  56. 4 0
      netbox/project-static/img/connectors/power-outlet/nbr-14136-20a.svg
  57. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-1-15r.svg
  58. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-10-30r.svg
  59. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-10-50r.svg
  60. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-14-20r.svg
  61. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-14-30r.svg
  62. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-14-50r.svg
  63. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-14-60r.svg
  64. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-15-15r.svg
  65. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-15-20r.svg
  66. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-15-30r.svg
  67. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-15-50r.svg
  68. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-15-60r.svg
  69. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-5-15r.svg
  70. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-5-20r.svg
  71. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-5-30r.svg
  72. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-5-50r.svg
  73. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-6-15r.svg
  74. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-6-20r.svg
  75. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-6-30r.svg
  76. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-6-50r.svg
  77. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-l1-15r.svg
  78. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-l10-30r.svg
  79. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-l14-20r.svg
  80. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-l14-30r.svg
  81. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-l15-20r.svg
  82. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-l15-30r.svg
  83. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-l21-20r.svg
  84. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-l21-30r.svg
  85. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-l22-20r.svg
  86. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-l22-30r.svg
  87. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-l5-15r.svg
  88. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-l5-20r.svg
  89. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-l5-30r.svg
  90. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-l6-15r.svg
  91. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-l6-20r.svg
  92. 4 0
      netbox/project-static/img/connectors/power-outlet/nema-l6-30r.svg
  93. 5 0
      netbox/project-static/img/connectors/power-outlet/neutrik-powercon-20a.svg
  94. 5 0
      netbox/project-static/img/connectors/power-outlet/neutrik-powercon-32a.svg
  95. 5 0
      netbox/project-static/img/connectors/power-outlet/neutrik-powercon-true1-top.svg
  96. 5 0
      netbox/project-static/img/connectors/power-outlet/neutrik-powercon-true1.svg
  97. 5 0
      netbox/project-static/img/connectors/power-outlet/saf-d-grid.svg
  98. 4 0
      netbox/project-static/img/connectors/power-outlet/usb-a.svg
  99. 4 0
      netbox/project-static/img/connectors/power-outlet/usb-c.svg
  100. 4 0
      netbox/project-static/img/connectors/power-outlet/usb-micro-b.svg

+ 2 - 0
docs/plugins/development/forms.md

@@ -218,6 +218,8 @@ These fields render a standard HTML `<select>` element (as opposed to the API-ba
 
 For choice set-backed fields, descriptions are defined per choice using a `Choice` object in the `ChoiceSet` and are rendered automatically. Pass `show_descriptions=False` to suppress them for a particular field.
 
+A `Choice` may also define an `image`: the path to a static file (such as a small line drawing) displayed beside the option's label.
+
 ```python
 from utilities.choices import Choice, ChoiceSet
 from utilities.forms.fields import ChoiceField

+ 225 - 185
netbox/dcim/choices.py

@@ -500,129 +500,149 @@ class PowerPortTypeChoices(ChoiceSet):
 
     CHOICES = (
         ('IEC 60320', (
-            Choice(TYPE_IEC_C6, 'C6'),
-            Choice(TYPE_IEC_C8, 'C8'),
-            Choice(TYPE_IEC_C14, 'C14'),
-            Choice(TYPE_IEC_C16, 'C16'),
-            Choice(TYPE_IEC_C18, 'C18'),
-            Choice(TYPE_IEC_C20, 'C20'),
-            Choice(TYPE_IEC_C22, 'C22'),
+            Choice(TYPE_IEC_C6, 'C6', image='connectors/power-port/iec-60320-c6.svg'),
+            Choice(TYPE_IEC_C8, 'C8', image='connectors/power-port/iec-60320-c8.svg'),
+            Choice(TYPE_IEC_C14, 'C14', image='connectors/power-port/iec-60320-c14.svg'),
+            Choice(TYPE_IEC_C16, 'C16', image='connectors/power-port/iec-60320-c16.svg'),
+            Choice(TYPE_IEC_C18, 'C18', image='connectors/power-port/iec-60320-c18.svg'),
+            Choice(TYPE_IEC_C20, 'C20', image='connectors/power-port/iec-60320-c20.svg'),
+            Choice(TYPE_IEC_C22, 'C22', image='connectors/power-port/iec-60320-c22.svg'),
         )),
         ('IEC 60309', (
-            Choice(TYPE_IEC_PNE4H, 'P+N+E 4H'),
-            Choice(TYPE_IEC_PNE6H, 'P+N+E 6H'),
-            Choice(TYPE_IEC_PNE9H, 'P+N+E 9H'),
-            Choice(TYPE_IEC_2PE4H, '2P+E 4H'),
-            Choice(TYPE_IEC_2PE6H, '2P+E 6H'),
-            Choice(TYPE_IEC_2PE9H, '2P+E 9H'),
-            Choice(TYPE_IEC_3PE4H, '3P+E 4H'),
-            Choice(TYPE_IEC_3PE6H, '3P+E 6H'),
-            Choice(TYPE_IEC_3PE9H, '3P+E 9H'),
-            Choice(TYPE_IEC_3PNE4H, '3P+N+E 4H'),
-            Choice(TYPE_IEC_3PNE6H, '3P+N+E 6H'),
-            Choice(TYPE_IEC_3PNE9H, '3P+N+E 9H'),
+            Choice(TYPE_IEC_PNE4H, 'P+N+E 4H', image='connectors/power-port/iec-60309-p-n-e-4h.svg'),
+            Choice(TYPE_IEC_PNE6H, 'P+N+E 6H', image='connectors/power-port/iec-60309-p-n-e-6h.svg'),
+            Choice(TYPE_IEC_PNE9H, 'P+N+E 9H', image='connectors/power-port/iec-60309-p-n-e-9h.svg'),
+            Choice(TYPE_IEC_2PE4H, '2P+E 4H', image='connectors/power-port/iec-60309-2p-e-4h.svg'),
+            Choice(TYPE_IEC_2PE6H, '2P+E 6H', image='connectors/power-port/iec-60309-2p-e-6h.svg'),
+            Choice(TYPE_IEC_2PE9H, '2P+E 9H', image='connectors/power-port/iec-60309-2p-e-9h.svg'),
+            Choice(TYPE_IEC_3PE4H, '3P+E 4H', image='connectors/power-port/iec-60309-3p-e-4h.svg'),
+            Choice(TYPE_IEC_3PE6H, '3P+E 6H', image='connectors/power-port/iec-60309-3p-e-6h.svg'),
+            Choice(TYPE_IEC_3PE9H, '3P+E 9H', image='connectors/power-port/iec-60309-3p-e-9h.svg'),
+            Choice(TYPE_IEC_3PNE4H, '3P+N+E 4H', image='connectors/power-port/iec-60309-3p-n-e-4h.svg'),
+            Choice(TYPE_IEC_3PNE6H, '3P+N+E 6H', image='connectors/power-port/iec-60309-3p-n-e-6h.svg'),
+            Choice(TYPE_IEC_3PNE9H, '3P+N+E 9H', image='connectors/power-port/iec-60309-3p-n-e-9h.svg'),
         )),
         ('IEC 60906-1', (
-            Choice(TYPE_IEC_60906_1, 'IEC 60906-1'),
-            Choice(TYPE_NBR_14136_10A, '2P+T 10A (NBR 14136)'),
-            Choice(TYPE_NBR_14136_20A, '2P+T 20A (NBR 14136)'),
+            Choice(TYPE_IEC_60906_1, 'IEC 60906-1', image='connectors/power-port/iec-60906-1.svg'),
+            Choice(TYPE_NBR_14136_10A, '2P+T 10A (NBR 14136)', image='connectors/power-port/nbr-14136-10a.svg'),
+            Choice(TYPE_NBR_14136_20A, '2P+T 20A (NBR 14136)', image='connectors/power-port/nbr-14136-20a.svg'),
         )),
         (_('NEMA (Non-locking)'), (
-            Choice(TYPE_NEMA_115P, 'NEMA 1-15P'),
-            Choice(TYPE_NEMA_515P, 'NEMA 5-15P'),
-            Choice(TYPE_NEMA_520P, 'NEMA 5-20P'),
-            Choice(TYPE_NEMA_530P, 'NEMA 5-30P'),
-            Choice(TYPE_NEMA_550P, 'NEMA 5-50P'),
-            Choice(TYPE_NEMA_615P, 'NEMA 6-15P'),
-            Choice(TYPE_NEMA_620P, 'NEMA 6-20P'),
-            Choice(TYPE_NEMA_630P, 'NEMA 6-30P'),
-            Choice(TYPE_NEMA_650P, 'NEMA 6-50P'),
-            Choice(TYPE_NEMA_1030P, 'NEMA 10-30P'),
-            Choice(TYPE_NEMA_1050P, 'NEMA 10-50P'),
-            Choice(TYPE_NEMA_1420P, 'NEMA 14-20P'),
-            Choice(TYPE_NEMA_1430P, 'NEMA 14-30P'),
-            Choice(TYPE_NEMA_1450P, 'NEMA 14-50P'),
-            Choice(TYPE_NEMA_1460P, 'NEMA 14-60P'),
-            Choice(TYPE_NEMA_1515P, 'NEMA 15-15P'),
-            Choice(TYPE_NEMA_1520P, 'NEMA 15-20P'),
-            Choice(TYPE_NEMA_1530P, 'NEMA 15-30P'),
-            Choice(TYPE_NEMA_1550P, 'NEMA 15-50P'),
-            Choice(TYPE_NEMA_1560P, 'NEMA 15-60P'),
+            Choice(TYPE_NEMA_115P, 'NEMA 1-15P', image='connectors/power-port/nema-1-15p.svg'),
+            Choice(TYPE_NEMA_515P, 'NEMA 5-15P', image='connectors/power-port/nema-5-15p.svg'),
+            Choice(TYPE_NEMA_520P, 'NEMA 5-20P', image='connectors/power-port/nema-5-20p.svg'),
+            Choice(TYPE_NEMA_530P, 'NEMA 5-30P', image='connectors/power-port/nema-5-30p.svg'),
+            Choice(TYPE_NEMA_550P, 'NEMA 5-50P', image='connectors/power-port/nema-5-50p.svg'),
+            Choice(TYPE_NEMA_615P, 'NEMA 6-15P', image='connectors/power-port/nema-6-15p.svg'),
+            Choice(TYPE_NEMA_620P, 'NEMA 6-20P', image='connectors/power-port/nema-6-20p.svg'),
+            Choice(TYPE_NEMA_630P, 'NEMA 6-30P', image='connectors/power-port/nema-6-30p.svg'),
+            Choice(TYPE_NEMA_650P, 'NEMA 6-50P', image='connectors/power-port/nema-6-50p.svg'),
+            Choice(TYPE_NEMA_1030P, 'NEMA 10-30P', image='connectors/power-port/nema-10-30p.svg'),
+            Choice(TYPE_NEMA_1050P, 'NEMA 10-50P', image='connectors/power-port/nema-10-50p.svg'),
+            Choice(TYPE_NEMA_1420P, 'NEMA 14-20P', image='connectors/power-port/nema-14-20p.svg'),
+            Choice(TYPE_NEMA_1430P, 'NEMA 14-30P', image='connectors/power-port/nema-14-30p.svg'),
+            Choice(TYPE_NEMA_1450P, 'NEMA 14-50P', image='connectors/power-port/nema-14-50p.svg'),
+            Choice(TYPE_NEMA_1460P, 'NEMA 14-60P', image='connectors/power-port/nema-14-60p.svg'),
+            Choice(TYPE_NEMA_1515P, 'NEMA 15-15P', image='connectors/power-port/nema-15-15p.svg'),
+            Choice(TYPE_NEMA_1520P, 'NEMA 15-20P', image='connectors/power-port/nema-15-20p.svg'),
+            Choice(TYPE_NEMA_1530P, 'NEMA 15-30P', image='connectors/power-port/nema-15-30p.svg'),
+            Choice(TYPE_NEMA_1550P, 'NEMA 15-50P', image='connectors/power-port/nema-15-50p.svg'),
+            Choice(TYPE_NEMA_1560P, 'NEMA 15-60P', image='connectors/power-port/nema-15-60p.svg'),
         )),
         (_('NEMA (Locking)'), (
-            Choice(TYPE_NEMA_L115P, 'NEMA L1-15P'),
-            Choice(TYPE_NEMA_L515P, 'NEMA L5-15P'),
-            Choice(TYPE_NEMA_L520P, 'NEMA L5-20P'),
-            Choice(TYPE_NEMA_L530P, 'NEMA L5-30P'),
+            Choice(TYPE_NEMA_L115P, 'NEMA L1-15P', image='connectors/power-port/nema-l1-15p.svg'),
+            Choice(TYPE_NEMA_L515P, 'NEMA L5-15P', image='connectors/power-port/nema-l5-15p.svg'),
+            Choice(TYPE_NEMA_L520P, 'NEMA L5-20P', image='connectors/power-port/nema-l5-20p.svg'),
+            Choice(TYPE_NEMA_L530P, 'NEMA L5-30P', image='connectors/power-port/nema-l5-30p.svg'),
             Choice(TYPE_NEMA_L550P, 'NEMA L5-50P'),
-            Choice(TYPE_NEMA_L615P, 'NEMA L6-15P'),
-            Choice(TYPE_NEMA_L620P, 'NEMA L6-20P'),
-            Choice(TYPE_NEMA_L630P, 'NEMA L6-30P'),
+            Choice(TYPE_NEMA_L615P, 'NEMA L6-15P', image='connectors/power-port/nema-l6-15p.svg'),
+            Choice(TYPE_NEMA_L620P, 'NEMA L6-20P', image='connectors/power-port/nema-l6-20p.svg'),
+            Choice(TYPE_NEMA_L630P, 'NEMA L6-30P', image='connectors/power-port/nema-l6-30p.svg'),
             Choice(TYPE_NEMA_L650P, 'NEMA L6-50P'),
-            Choice(TYPE_NEMA_L1030P, 'NEMA L10-30P'),
-            Choice(TYPE_NEMA_L1420P, 'NEMA L14-20P'),
-            Choice(TYPE_NEMA_L1430P, 'NEMA L14-30P'),
+            Choice(TYPE_NEMA_L1030P, 'NEMA L10-30P', image='connectors/power-port/nema-l10-30p.svg'),
+            Choice(TYPE_NEMA_L1420P, 'NEMA L14-20P', image='connectors/power-port/nema-l14-20p.svg'),
+            Choice(TYPE_NEMA_L1430P, 'NEMA L14-30P', image='connectors/power-port/nema-l14-30p.svg'),
             Choice(TYPE_NEMA_L1450P, 'NEMA L14-50P'),
             Choice(TYPE_NEMA_L1460P, 'NEMA L14-60P'),
-            Choice(TYPE_NEMA_L1520P, 'NEMA L15-20P'),
-            Choice(TYPE_NEMA_L1530P, 'NEMA L15-30P'),
+            Choice(TYPE_NEMA_L1520P, 'NEMA L15-20P', image='connectors/power-port/nema-l15-20p.svg'),
+            Choice(TYPE_NEMA_L1530P, 'NEMA L15-30P', image='connectors/power-port/nema-l15-30p.svg'),
             Choice(TYPE_NEMA_L1550P, 'NEMA L15-50P'),
             Choice(TYPE_NEMA_L1560P, 'NEMA L15-60P'),
-            Choice(TYPE_NEMA_L2120P, 'NEMA L21-20P'),
-            Choice(TYPE_NEMA_L2130P, 'NEMA L21-30P'),
-            Choice(TYPE_NEMA_L2220P, 'NEMA L22-20P'),
-            Choice(TYPE_NEMA_L2230P, 'NEMA L22-30P'),
+            Choice(TYPE_NEMA_L2120P, 'NEMA L21-20P', image='connectors/power-port/nema-l21-20p.svg'),
+            Choice(TYPE_NEMA_L2130P, 'NEMA L21-30P', image='connectors/power-port/nema-l21-30p.svg'),
+            Choice(TYPE_NEMA_L2220P, 'NEMA L22-20P', image='connectors/power-port/nema-l22-20p.svg'),
+            Choice(TYPE_NEMA_L2230P, 'NEMA L22-30P', image='connectors/power-port/nema-l22-30p.svg'),
         )),
         (_('California Style'), (
-            Choice(TYPE_CS6361C, 'CS6361C'),
-            Choice(TYPE_CS6365C, 'CS6365C'),
-            Choice(TYPE_CS8165C, 'CS8165C'),
-            Choice(TYPE_CS8265C, 'CS8265C'),
-            Choice(TYPE_CS8365C, 'CS8365C'),
-            Choice(TYPE_CS8465C, 'CS8465C'),
+            Choice(TYPE_CS6361C, 'CS6361C', image='connectors/power-port/cs6361c.svg'),
+            Choice(TYPE_CS6365C, 'CS6365C', image='connectors/power-port/cs6365c.svg'),
+            Choice(TYPE_CS8165C, 'CS8165C', image='connectors/power-port/cs8165c.svg'),
+            Choice(TYPE_CS8265C, 'CS8265C', image='connectors/power-port/cs8265c.svg'),
+            Choice(TYPE_CS8365C, 'CS8365C', image='connectors/power-port/cs8365c.svg'),
+            Choice(TYPE_CS8465C, 'CS8465C', image='connectors/power-port/cs8465c.svg'),
         )),
         (_('International/ITA'), (
-            Choice(TYPE_ITA_C, 'ITA Type C (CEE 7/16)'),
-            Choice(TYPE_ITA_E, 'ITA Type E (CEE 7/6)'),
-            Choice(TYPE_ITA_F, 'ITA Type F (CEE 7/4)'),
-            Choice(TYPE_ITA_EF, 'ITA Type E/F (CEE 7/7)'),
-            Choice(TYPE_ITA_G, 'ITA Type G (BS 1363)'),
-            Choice(TYPE_ITA_H, 'ITA Type H'),
-            Choice(TYPE_ITA_I, 'ITA Type I'),
-            Choice(TYPE_ITA_J, 'ITA Type J'),
-            Choice(TYPE_ITA_K, 'ITA Type K'),
-            Choice(TYPE_ITA_L, 'ITA Type L (CEI 23-50)'),
-            Choice(TYPE_ITA_M, 'ITA Type M (BS 546)'),
-            Choice(TYPE_ITA_N, 'ITA Type N'),
-            Choice(TYPE_ITA_O, 'ITA Type O'),
+            Choice(TYPE_ITA_C, 'ITA Type C (CEE 7/16)', image='connectors/power-port/ita-c.svg'),
+            Choice(TYPE_ITA_E, 'ITA Type E (CEE 7/6)', image='connectors/power-port/ita-e.svg'),
+            Choice(TYPE_ITA_F, 'ITA Type F (CEE 7/4)', image='connectors/power-port/ita-f.svg'),
+            Choice(TYPE_ITA_EF, 'ITA Type E/F (CEE 7/7)', image='connectors/power-port/ita-ef.svg'),
+            Choice(TYPE_ITA_G, 'ITA Type G (BS 1363)', image='connectors/power-port/ita-g.svg'),
+            Choice(TYPE_ITA_H, 'ITA Type H', image='connectors/power-port/ita-h.svg'),
+            Choice(TYPE_ITA_I, 'ITA Type I', image='connectors/power-port/ita-i.svg'),
+            Choice(TYPE_ITA_J, 'ITA Type J', image='connectors/power-port/ita-j.svg'),
+            Choice(TYPE_ITA_K, 'ITA Type K', image='connectors/power-port/ita-k.svg'),
+            Choice(TYPE_ITA_L, 'ITA Type L (CEI 23-50)', image='connectors/power-port/ita-l.svg'),
+            Choice(TYPE_ITA_M, 'ITA Type M (BS 546)', image='connectors/power-port/ita-m.svg'),
+            Choice(TYPE_ITA_N, 'ITA Type N', image='connectors/power-port/ita-n.svg'),
+            Choice(TYPE_ITA_O, 'ITA Type O', image='connectors/power-port/ita-o.svg'),
         )),
         ('USB', (
-            Choice(TYPE_USB_A, 'USB Type A'),
-            Choice(TYPE_USB_B, 'USB Type B'),
-            Choice(TYPE_USB_C, 'USB Type C'),
-            Choice(TYPE_USB_MINI_A, 'USB Mini A'),
-            Choice(TYPE_USB_MINI_B, 'USB Mini B'),
-            Choice(TYPE_USB_MICRO_A, 'USB Micro A'),
-            Choice(TYPE_USB_MICRO_B, 'USB Micro B'),
-            Choice(TYPE_USB_MICRO_AB, 'USB Micro AB'),
-            Choice(TYPE_USB_3_B, 'USB 3.0 Type B'),
-            Choice(TYPE_USB_3_MICROB, 'USB 3.0 Micro B'),
+            Choice(TYPE_USB_A, 'USB Type A', image='connectors/power-port/usb-a.svg'),
+            Choice(TYPE_USB_B, 'USB Type B', image='connectors/power-port/usb-b.svg'),
+            Choice(TYPE_USB_C, 'USB Type C', image='connectors/power-port/usb-c.svg'),
+            Choice(TYPE_USB_MINI_A, 'USB Mini A', image='connectors/power-port/usb-mini-a.svg'),
+            Choice(TYPE_USB_MINI_B, 'USB Mini B', image='connectors/power-port/usb-mini-b.svg'),
+            Choice(TYPE_USB_MICRO_A, 'USB Micro A', image='connectors/power-port/usb-micro-a.svg'),
+            Choice(TYPE_USB_MICRO_B, 'USB Micro B', image='connectors/power-port/usb-micro-b.svg'),
+            Choice(TYPE_USB_MICRO_AB, 'USB Micro AB', image='connectors/power-port/usb-micro-ab.svg'),
+            Choice(TYPE_USB_3_B, 'USB 3.0 Type B', image='connectors/power-port/usb-3-b.svg'),
+            Choice(TYPE_USB_3_MICROB, 'USB 3.0 Micro B', image='connectors/power-port/usb-3-micro-b.svg'),
         )),
         ('Molex', (
-            Choice(TYPE_MOLEX_MICRO_FIT_1X2, 'Molex Micro-Fit 1x2'),
-            Choice(TYPE_MOLEX_MICRO_FIT_2X2, 'Molex Micro-Fit 2x2'),
-            Choice(TYPE_MOLEX_MICRO_FIT_2X3, 'Molex Micro-Fit 2x3'),
-            Choice(TYPE_MOLEX_MICRO_FIT_2X4, 'Molex Micro-Fit 2x4'),
+            Choice(
+                TYPE_MOLEX_MICRO_FIT_1X2, 'Molex Micro-Fit 1x2', image='connectors/power-port/molex-micro-fit-1x2.svg'
+            ),
+            Choice(
+                TYPE_MOLEX_MICRO_FIT_2X2, 'Molex Micro-Fit 2x2', image='connectors/power-port/molex-micro-fit-2x2.svg'
+            ),
+            Choice(
+                TYPE_MOLEX_MICRO_FIT_2X3, 'Molex Micro-Fit 2x3', image='connectors/power-port/molex-micro-fit-2x3.svg'
+            ),
+            Choice(
+                TYPE_MOLEX_MICRO_FIT_2X4, 'Molex Micro-Fit 2x4', image='connectors/power-port/molex-micro-fit-2x4.svg'
+            ),
         )),
         ('DC', (
             Choice(TYPE_DC, 'DC Terminal'),
         )),
         (_('Proprietary'), (
-            Choice(TYPE_SAF_D_GRID, 'Saf-D-Grid'),
-            Choice(TYPE_NEUTRIK_POWERCON_20A, 'Neutrik powerCON (20A)'),
-            Choice(TYPE_NEUTRIK_POWERCON_32A, 'Neutrik powerCON (32A)'),
-            Choice(TYPE_NEUTRIK_POWERCON_TRUE1, 'Neutrik powerCON TRUE1'),
-            Choice(TYPE_NEUTRIK_POWERCON_TRUE1_TOP, 'Neutrik powerCON TRUE1 TOP'),
+            Choice(TYPE_SAF_D_GRID, 'Saf-D-Grid', image='connectors/power-port/saf-d-grid.svg'),
+            Choice(
+                TYPE_NEUTRIK_POWERCON_20A, 'Neutrik powerCON (20A)',
+                image='connectors/power-port/neutrik-powercon-20.svg',
+            ),
+            Choice(
+                TYPE_NEUTRIK_POWERCON_32A, 'Neutrik powerCON (32A)',
+                image='connectors/power-port/neutrik-powercon-32.svg',
+            ),
+            Choice(
+                TYPE_NEUTRIK_POWERCON_TRUE1, 'Neutrik powerCON TRUE1',
+                image='connectors/power-port/neutrik-powercon-true1.svg',
+            ),
+            Choice(
+                TYPE_NEUTRIK_POWERCON_TRUE1_TOP, 'Neutrik powerCON TRUE1 TOP',
+                image='connectors/power-port/neutrik-powercon-true1-top.svg',
+            ),
             Choice(TYPE_UBIQUITI_SMARTPOWER, 'Ubiquiti SmartPower'),
         )),
         (_('Other'), (
@@ -753,123 +773,143 @@ class PowerOutletTypeChoices(ChoiceSet):
 
     CHOICES = (
         ('IEC 60320', (
-            Choice(TYPE_IEC_C5, 'C5'),
-            Choice(TYPE_IEC_C7, 'C7'),
-            Choice(TYPE_IEC_C13, 'C13'),
-            Choice(TYPE_IEC_C15, 'C15'),
-            Choice(TYPE_IEC_C17, 'C17'),
-            Choice(TYPE_IEC_C19, 'C19'),
-            Choice(TYPE_IEC_C21, 'C21'),
+            Choice(TYPE_IEC_C5, 'C5', image='connectors/power-outlet/iec-60320-c5.svg'),
+            Choice(TYPE_IEC_C7, 'C7', image='connectors/power-outlet/iec-60320-c7.svg'),
+            Choice(TYPE_IEC_C13, 'C13', image='connectors/power-outlet/iec-60320-c13.svg'),
+            Choice(TYPE_IEC_C15, 'C15', image='connectors/power-outlet/iec-60320-c15.svg'),
+            Choice(TYPE_IEC_C17, 'C17', image='connectors/power-outlet/iec-60320-c17.svg'),
+            Choice(TYPE_IEC_C19, 'C19', image='connectors/power-outlet/iec-60320-c19.svg'),
+            Choice(TYPE_IEC_C21, 'C21', image='connectors/power-outlet/iec-60320-c21.svg'),
         )),
         ('IEC 60309', (
-            Choice(TYPE_IEC_PNE4H, 'P+N+E 4H'),
-            Choice(TYPE_IEC_PNE6H, 'P+N+E 6H'),
-            Choice(TYPE_IEC_PNE9H, 'P+N+E 9H'),
-            Choice(TYPE_IEC_2PE4H, '2P+E 4H'),
-            Choice(TYPE_IEC_2PE6H, '2P+E 6H'),
-            Choice(TYPE_IEC_2PE9H, '2P+E 9H'),
-            Choice(TYPE_IEC_3PE4H, '3P+E 4H'),
-            Choice(TYPE_IEC_3PE6H, '3P+E 6H'),
-            Choice(TYPE_IEC_3PE9H, '3P+E 9H'),
-            Choice(TYPE_IEC_3PNE4H, '3P+N+E 4H'),
-            Choice(TYPE_IEC_3PNE6H, '3P+N+E 6H'),
-            Choice(TYPE_IEC_3PNE9H, '3P+N+E 9H'),
+            Choice(TYPE_IEC_PNE4H, 'P+N+E 4H', image='connectors/power-outlet/iec-60309-p-n-e-4h.svg'),
+            Choice(TYPE_IEC_PNE6H, 'P+N+E 6H', image='connectors/power-outlet/iec-60309-p-n-e-6h.svg'),
+            Choice(TYPE_IEC_PNE9H, 'P+N+E 9H', image='connectors/power-outlet/iec-60309-p-n-e-9h.svg'),
+            Choice(TYPE_IEC_2PE4H, '2P+E 4H', image='connectors/power-outlet/iec-60309-2p-e-4h.svg'),
+            Choice(TYPE_IEC_2PE6H, '2P+E 6H', image='connectors/power-outlet/iec-60309-2p-e-6h.svg'),
+            Choice(TYPE_IEC_2PE9H, '2P+E 9H', image='connectors/power-outlet/iec-60309-2p-e-9h.svg'),
+            Choice(TYPE_IEC_3PE4H, '3P+E 4H', image='connectors/power-outlet/iec-60309-3p-e-4h.svg'),
+            Choice(TYPE_IEC_3PE6H, '3P+E 6H', image='connectors/power-outlet/iec-60309-3p-e-6h.svg'),
+            Choice(TYPE_IEC_3PE9H, '3P+E 9H', image='connectors/power-outlet/iec-60309-3p-e-9h.svg'),
+            Choice(TYPE_IEC_3PNE4H, '3P+N+E 4H', image='connectors/power-outlet/iec-60309-3p-n-e-4h.svg'),
+            Choice(TYPE_IEC_3PNE6H, '3P+N+E 6H', image='connectors/power-outlet/iec-60309-3p-n-e-6h.svg'),
+            Choice(TYPE_IEC_3PNE9H, '3P+N+E 9H', image='connectors/power-outlet/iec-60309-3p-n-e-9h.svg'),
         )),
         ('IEC 60906-1', (
-            Choice(TYPE_IEC_60906_1, 'IEC 60906-1'),
-            Choice(TYPE_NBR_14136_10A, '2P+T 10A (NBR 14136)'),
-            Choice(TYPE_NBR_14136_20A, '2P+T 20A (NBR 14136)'),
+            Choice(TYPE_IEC_60906_1, 'IEC 60906-1', image='connectors/power-outlet/iec-60906-1.svg'),
+            Choice(TYPE_NBR_14136_10A, '2P+T 10A (NBR 14136)', image='connectors/power-outlet/nbr-14136-10a.svg'),
+            Choice(TYPE_NBR_14136_20A, '2P+T 20A (NBR 14136)', image='connectors/power-outlet/nbr-14136-20a.svg'),
         )),
         (_('NEMA (Non-locking)'), (
-            Choice(TYPE_NEMA_115R, 'NEMA 1-15R'),
-            Choice(TYPE_NEMA_515R, 'NEMA 5-15R'),
-            Choice(TYPE_NEMA_520R, 'NEMA 5-20R'),
-            Choice(TYPE_NEMA_530R, 'NEMA 5-30R'),
-            Choice(TYPE_NEMA_550R, 'NEMA 5-50R'),
-            Choice(TYPE_NEMA_615R, 'NEMA 6-15R'),
-            Choice(TYPE_NEMA_620R, 'NEMA 6-20R'),
-            Choice(TYPE_NEMA_630R, 'NEMA 6-30R'),
-            Choice(TYPE_NEMA_650R, 'NEMA 6-50R'),
-            Choice(TYPE_NEMA_1030R, 'NEMA 10-30R'),
-            Choice(TYPE_NEMA_1050R, 'NEMA 10-50R'),
-            Choice(TYPE_NEMA_1420R, 'NEMA 14-20R'),
-            Choice(TYPE_NEMA_1430R, 'NEMA 14-30R'),
-            Choice(TYPE_NEMA_1450R, 'NEMA 14-50R'),
-            Choice(TYPE_NEMA_1460R, 'NEMA 14-60R'),
-            Choice(TYPE_NEMA_1515R, 'NEMA 15-15R'),
-            Choice(TYPE_NEMA_1520R, 'NEMA 15-20R'),
-            Choice(TYPE_NEMA_1530R, 'NEMA 15-30R'),
-            Choice(TYPE_NEMA_1550R, 'NEMA 15-50R'),
-            Choice(TYPE_NEMA_1560R, 'NEMA 15-60R'),
+            Choice(TYPE_NEMA_115R, 'NEMA 1-15R', image='connectors/power-outlet/nema-1-15r.svg'),
+            Choice(TYPE_NEMA_515R, 'NEMA 5-15R', image='connectors/power-outlet/nema-5-15r.svg'),
+            Choice(TYPE_NEMA_520R, 'NEMA 5-20R', image='connectors/power-outlet/nema-5-20r.svg'),
+            Choice(TYPE_NEMA_530R, 'NEMA 5-30R', image='connectors/power-outlet/nema-5-30r.svg'),
+            Choice(TYPE_NEMA_550R, 'NEMA 5-50R', image='connectors/power-outlet/nema-5-50r.svg'),
+            Choice(TYPE_NEMA_615R, 'NEMA 6-15R', image='connectors/power-outlet/nema-6-15r.svg'),
+            Choice(TYPE_NEMA_620R, 'NEMA 6-20R', image='connectors/power-outlet/nema-6-20r.svg'),
+            Choice(TYPE_NEMA_630R, 'NEMA 6-30R', image='connectors/power-outlet/nema-6-30r.svg'),
+            Choice(TYPE_NEMA_650R, 'NEMA 6-50R', image='connectors/power-outlet/nema-6-50r.svg'),
+            Choice(TYPE_NEMA_1030R, 'NEMA 10-30R', image='connectors/power-outlet/nema-10-30r.svg'),
+            Choice(TYPE_NEMA_1050R, 'NEMA 10-50R', image='connectors/power-outlet/nema-10-50r.svg'),
+            Choice(TYPE_NEMA_1420R, 'NEMA 14-20R', image='connectors/power-outlet/nema-14-20r.svg'),
+            Choice(TYPE_NEMA_1430R, 'NEMA 14-30R', image='connectors/power-outlet/nema-14-30r.svg'),
+            Choice(TYPE_NEMA_1450R, 'NEMA 14-50R', image='connectors/power-outlet/nema-14-50r.svg'),
+            Choice(TYPE_NEMA_1460R, 'NEMA 14-60R', image='connectors/power-outlet/nema-14-60r.svg'),
+            Choice(TYPE_NEMA_1515R, 'NEMA 15-15R', image='connectors/power-outlet/nema-15-15r.svg'),
+            Choice(TYPE_NEMA_1520R, 'NEMA 15-20R', image='connectors/power-outlet/nema-15-20r.svg'),
+            Choice(TYPE_NEMA_1530R, 'NEMA 15-30R', image='connectors/power-outlet/nema-15-30r.svg'),
+            Choice(TYPE_NEMA_1550R, 'NEMA 15-50R', image='connectors/power-outlet/nema-15-50r.svg'),
+            Choice(TYPE_NEMA_1560R, 'NEMA 15-60R', image='connectors/power-outlet/nema-15-60r.svg'),
         )),
         (_('NEMA (Locking)'), (
-            Choice(TYPE_NEMA_L115R, 'NEMA L1-15R'),
-            Choice(TYPE_NEMA_L515R, 'NEMA L5-15R'),
-            Choice(TYPE_NEMA_L520R, 'NEMA L5-20R'),
-            Choice(TYPE_NEMA_L530R, 'NEMA L5-30R'),
+            Choice(TYPE_NEMA_L115R, 'NEMA L1-15R', image='connectors/power-outlet/nema-l1-15r.svg'),
+            Choice(TYPE_NEMA_L515R, 'NEMA L5-15R', image='connectors/power-outlet/nema-l5-15r.svg'),
+            Choice(TYPE_NEMA_L520R, 'NEMA L5-20R', image='connectors/power-outlet/nema-l5-20r.svg'),
+            Choice(TYPE_NEMA_L530R, 'NEMA L5-30R', image='connectors/power-outlet/nema-l5-30r.svg'),
             Choice(TYPE_NEMA_L550R, 'NEMA L5-50R'),
-            Choice(TYPE_NEMA_L615R, 'NEMA L6-15R'),
-            Choice(TYPE_NEMA_L620R, 'NEMA L6-20R'),
-            Choice(TYPE_NEMA_L630R, 'NEMA L6-30R'),
+            Choice(TYPE_NEMA_L615R, 'NEMA L6-15R', image='connectors/power-outlet/nema-l6-15r.svg'),
+            Choice(TYPE_NEMA_L620R, 'NEMA L6-20R', image='connectors/power-outlet/nema-l6-20r.svg'),
+            Choice(TYPE_NEMA_L630R, 'NEMA L6-30R', image='connectors/power-outlet/nema-l6-30r.svg'),
             Choice(TYPE_NEMA_L650R, 'NEMA L6-50R'),
-            Choice(TYPE_NEMA_L1030R, 'NEMA L10-30R'),
-            Choice(TYPE_NEMA_L1420R, 'NEMA L14-20R'),
-            Choice(TYPE_NEMA_L1430R, 'NEMA L14-30R'),
+            Choice(TYPE_NEMA_L1030R, 'NEMA L10-30R', image='connectors/power-outlet/nema-l10-30r.svg'),
+            Choice(TYPE_NEMA_L1420R, 'NEMA L14-20R', image='connectors/power-outlet/nema-l14-20r.svg'),
+            Choice(TYPE_NEMA_L1430R, 'NEMA L14-30R', image='connectors/power-outlet/nema-l14-30r.svg'),
             Choice(TYPE_NEMA_L1450R, 'NEMA L14-50R'),
             Choice(TYPE_NEMA_L1460R, 'NEMA L14-60R'),
-            Choice(TYPE_NEMA_L1520R, 'NEMA L15-20R'),
-            Choice(TYPE_NEMA_L1530R, 'NEMA L15-30R'),
+            Choice(TYPE_NEMA_L1520R, 'NEMA L15-20R', image='connectors/power-outlet/nema-l15-20r.svg'),
+            Choice(TYPE_NEMA_L1530R, 'NEMA L15-30R', image='connectors/power-outlet/nema-l15-30r.svg'),
             Choice(TYPE_NEMA_L1550R, 'NEMA L15-50R'),
             Choice(TYPE_NEMA_L1560R, 'NEMA L15-60R'),
-            Choice(TYPE_NEMA_L2120R, 'NEMA L21-20R'),
-            Choice(TYPE_NEMA_L2130R, 'NEMA L21-30R'),
-            Choice(TYPE_NEMA_L2220R, 'NEMA L22-20R'),
-            Choice(TYPE_NEMA_L2230R, 'NEMA L22-30R'),
+            Choice(TYPE_NEMA_L2120R, 'NEMA L21-20R', image='connectors/power-outlet/nema-l21-20r.svg'),
+            Choice(TYPE_NEMA_L2130R, 'NEMA L21-30R', image='connectors/power-outlet/nema-l21-30r.svg'),
+            Choice(TYPE_NEMA_L2220R, 'NEMA L22-20R', image='connectors/power-outlet/nema-l22-20r.svg'),
+            Choice(TYPE_NEMA_L2230R, 'NEMA L22-30R', image='connectors/power-outlet/nema-l22-30r.svg'),
         )),
         (_('California Style'), (
-            Choice(TYPE_CS6360C, 'CS6360C'),
-            Choice(TYPE_CS6364C, 'CS6364C'),
-            Choice(TYPE_CS8164C, 'CS8164C'),
-            Choice(TYPE_CS8264C, 'CS8264C'),
-            Choice(TYPE_CS8364C, 'CS8364C'),
-            Choice(TYPE_CS8464C, 'CS8464C'),
+            Choice(TYPE_CS6360C, 'CS6360C', image='connectors/power-outlet/CS6360C.svg'),
+            Choice(TYPE_CS6364C, 'CS6364C', image='connectors/power-outlet/CS6364C.svg'),
+            Choice(TYPE_CS8164C, 'CS8164C', image='connectors/power-outlet/CS8164C.svg'),
+            Choice(TYPE_CS8264C, 'CS8264C', image='connectors/power-outlet/CS8264C.svg'),
+            Choice(TYPE_CS8364C, 'CS8364C', image='connectors/power-outlet/CS8364C.svg'),
+            Choice(TYPE_CS8464C, 'CS8464C', image='connectors/power-outlet/CS8464C.svg'),
         )),
         (_('ITA/International'), (
-            Choice(TYPE_ITA_E, 'ITA Type E (CEE 7/5)'),
-            Choice(TYPE_ITA_F, 'ITA Type F (CEE 7/3)'),
-            Choice(TYPE_ITA_G, 'ITA Type G (BS 1363)'),
-            Choice(TYPE_ITA_H, 'ITA Type H'),
-            Choice(TYPE_ITA_I, 'ITA Type I'),
-            Choice(TYPE_ITA_J, 'ITA Type J'),
-            Choice(TYPE_ITA_K, 'ITA Type K'),
-            Choice(TYPE_ITA_L, 'ITA Type L (CEI 23-50)'),
-            Choice(TYPE_ITA_M, 'ITA Type M (BS 546)'),
-            Choice(TYPE_ITA_N, 'ITA Type N'),
-            Choice(TYPE_ITA_O, 'ITA Type O'),
+            Choice(TYPE_ITA_E, 'ITA Type E (CEE 7/5)', image='connectors/power-outlet/ita-e.svg'),
+            Choice(TYPE_ITA_F, 'ITA Type F (CEE 7/3)', image='connectors/power-outlet/ita-f.svg'),
+            Choice(TYPE_ITA_G, 'ITA Type G (BS 1363)', image='connectors/power-outlet/ita-g.svg'),
+            Choice(TYPE_ITA_H, 'ITA Type H', image='connectors/power-outlet/ita-h.svg'),
+            Choice(TYPE_ITA_I, 'ITA Type I', image='connectors/power-outlet/ita-i.svg'),
+            Choice(TYPE_ITA_J, 'ITA Type J', image='connectors/power-outlet/ita-j.svg'),
+            Choice(TYPE_ITA_K, 'ITA Type K', image='connectors/power-outlet/ita-k.svg'),
+            Choice(TYPE_ITA_L, 'ITA Type L (CEI 23-50)', image='connectors/power-outlet/ita-l.svg'),
+            Choice(TYPE_ITA_M, 'ITA Type M (BS 546)', image='connectors/power-outlet/ita-m.svg'),
+            Choice(TYPE_ITA_N, 'ITA Type N', image='connectors/power-outlet/ita-n.svg'),
+            Choice(TYPE_ITA_O, 'ITA Type O', image='connectors/power-outlet/ita-o.svg'),
             Choice(TYPE_ITA_MULTISTANDARD, 'ITA Multistandard'),
         )),
         ('USB', (
-            Choice(TYPE_USB_A, 'USB Type A'),
-            Choice(TYPE_USB_MICROB, 'USB Micro B'),
-            Choice(TYPE_USB_C, 'USB Type C'),
+            Choice(TYPE_USB_A, 'USB Type A', image='connectors/power-outlet/usb-a.svg'),
+            Choice(TYPE_USB_MICROB, 'USB Micro B', image='connectors/power-outlet/usb-micro-b.svg'),
+            Choice(TYPE_USB_C, 'USB Type C', image='connectors/power-outlet/usb-c.svg'),
         )),
         ('Molex', (
-            Choice(TYPE_MOLEX_MICRO_FIT_1X2, 'Molex Micro-Fit 1x2'),
-            Choice(TYPE_MOLEX_MICRO_FIT_2X2, 'Molex Micro-Fit 2x2'),
-            Choice(TYPE_MOLEX_MICRO_FIT_2X3, 'Molex Micro-Fit 2x3'),
-            Choice(TYPE_MOLEX_MICRO_FIT_2X4, 'Molex Micro-Fit 2x4'),
+            Choice(
+                TYPE_MOLEX_MICRO_FIT_1X2, 'Molex Micro-Fit 1x2', image='connectors/power-outlet/molex-micro-fit-1x2.svg'
+            ),
+            Choice(
+                TYPE_MOLEX_MICRO_FIT_2X2, 'Molex Micro-Fit 2x2', image='connectors/power-outlet/molex-micro-fit-2x2.svg'
+            ),
+            Choice(
+                TYPE_MOLEX_MICRO_FIT_2X3, 'Molex Micro-Fit 2x3', image='connectors/power-outlet/molex-micro-fit-2x3.svg'
+            ),
+            Choice(
+                TYPE_MOLEX_MICRO_FIT_2X4, 'Molex Micro-Fit 2x4', image='connectors/power-outlet/molex-micro-fit-2x4.svg'
+            ),
         )),
         ('DC', (
             Choice(TYPE_DC, 'DC Terminal'),
         )),
         (_('Proprietary'), (
-            Choice(TYPE_EATON_C39, 'Eaton C39'),
-            Choice(TYPE_HDOT_CX, 'HDOT Cx'),
-            Choice(TYPE_SAF_D_GRID, 'Saf-D-Grid'),
-            Choice(TYPE_NEUTRIK_POWERCON_20A, 'Neutrik powerCON (20A)'),
-            Choice(TYPE_NEUTRIK_POWERCON_32A, 'Neutrik powerCON (32A)'),
-            Choice(TYPE_NEUTRIK_POWERCON_TRUE1, 'Neutrik powerCON TRUE1'),
-            Choice(TYPE_NEUTRIK_POWERCON_TRUE1_TOP, 'Neutrik powerCON TRUE1 TOP'),
+            Choice(TYPE_EATON_C39, 'Eaton C39', image='connectors/power-outlet/eaton-c39.svg'),
+            Choice(TYPE_HDOT_CX, 'HDOT Cx', image='connectors/power-outlet/hdot-cx.svg'),
+            Choice(TYPE_SAF_D_GRID, 'Saf-D-Grid', image='connectors/power-outlet/saf-d-grid.svg'),
+            Choice(
+                TYPE_NEUTRIK_POWERCON_20A, 'Neutrik powerCON (20A)',
+                image='connectors/power-outlet/neutrik-powercon-20a.svg',
+            ),
+            Choice(
+                TYPE_NEUTRIK_POWERCON_32A, 'Neutrik powerCON (32A)',
+                image='connectors/power-outlet/neutrik-powercon-32a.svg',
+            ),
+            Choice(
+                TYPE_NEUTRIK_POWERCON_TRUE1, 'Neutrik powerCON TRUE1',
+                image='connectors/power-outlet/neutrik-powercon-true1.svg',
+            ),
+            Choice(
+                TYPE_NEUTRIK_POWERCON_TRUE1_TOP, 'Neutrik powerCON TRUE1 TOP',
+                image='connectors/power-outlet/neutrik-powercon-true1-top.svg',
+            ),
             Choice(TYPE_UBIQUITI_SMARTPOWER, 'Ubiquiti SmartPower'),
         )),
         (_('Other'), (

+ 13 - 2
netbox/dcim/forms/bulk_create.py

@@ -1,11 +1,12 @@
 from django import forms
 from django.utils.translation import gettext_lazy as _
 
+from dcim.choices import PowerOutletTypeChoices, PowerPortTypeChoices
 from dcim.models import *
 from extras.models import Tag
 from netbox.forms.mixins import ChangelogMessageMixin, CustomFieldsMixin
-from utilities.forms import form_from_model
-from utilities.forms.fields import DynamicModelMultipleChoiceField, ExpandableNameField
+from utilities.forms import add_blank_choice, form_from_model
+from utilities.forms.fields import DynamicModelMultipleChoiceField, ExpandableNameField, TypedChoiceField
 from utilities.forms.mixins import BackgroundJobMixin
 
 from .object_create import ComponentCreateForm
@@ -69,6 +70,11 @@ class PowerPortBulkCreateForm(
     DeviceBulkAddComponentForm
 ):
     model = PowerPort
+    type = TypedChoiceField(
+        label=_('Type'),
+        choices=add_blank_choice(PowerPortTypeChoices),
+        required=False,
+    )
     field_order = ('name', 'label', 'type', 'maximum_draw', 'allocated_draw', 'description', 'tags')
 
 
@@ -77,6 +83,11 @@ class PowerOutletBulkCreateForm(
     DeviceBulkAddComponentForm
 ):
     model = PowerOutlet
+    type = TypedChoiceField(
+        label=_('Type'),
+        choices=add_blank_choice(PowerOutletTypeChoices),
+        required=False,
+    )
     field_order = (
         'name', 'label', 'type', 'status', 'color', 'feed_leg', 'mark_connected',
         'description', 'tags',

+ 5 - 4
netbox/dcim/forms/filtersets.py

@@ -22,6 +22,7 @@ from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES, FilterForm, add_blank_ch
 from utilities.forms.fields import (
     ColorField,
     DynamicModelMultipleChoiceField,
+    MultipleChoiceField,
     PositiveBigIntegerField,
     TagFilterField,
 )
@@ -1797,7 +1798,7 @@ class PowerPortFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm):
         FieldSet('cabled', 'connected', 'occupied', name=_('Connection')),
         FieldSet('owner_group_id', 'owner_id', name=_('Ownership')),
     )
-    type = forms.MultipleChoiceField(
+    type = MultipleChoiceField(
         label=_('Type'),
         choices=PowerPortTypeChoices,
         required=False
@@ -1812,7 +1813,7 @@ class PowerPortTemplateFilterForm(ModularDeviceComponentTemplateFilterForm):
         FieldSet('name', 'label', 'type', name=_('Attributes')),
         FieldSet('device_type_id', 'module_type_id', name=_('Device')),
     )
-    type = forms.MultipleChoiceField(
+    type = MultipleChoiceField(
         label=_('Type'),
         choices=PowerPortTypeChoices,
         required=False
@@ -1832,7 +1833,7 @@ class PowerOutletFilterForm(PathEndpointFilterForm, DeviceComponentFilterForm):
         FieldSet('cabled', 'connected', 'occupied', name=_('Connection')),
         FieldSet('owner_group_id', 'owner_id', name=_('Ownership')),
     )
-    type = forms.MultipleChoiceField(
+    type = MultipleChoiceField(
         label=_('Type'),
         choices=PowerOutletTypeChoices,
         required=False
@@ -1856,7 +1857,7 @@ class PowerOutletTemplateFilterForm(ModularDeviceComponentTemplateFilterForm):
         FieldSet('name', 'label', 'type', name=_('Attributes')),
         FieldSet('device_type_id', 'module_type_id', name=_('Device')),
     )
-    type = forms.MultipleChoiceField(
+    type = MultipleChoiceField(
         label=_('Type'),
         choices=PowerOutletTypeChoices,
         required=False

+ 6 - 0
netbox/dcim/models/device_components.py

@@ -545,6 +545,9 @@ class PowerPort(ModularComponentModel, CabledObjectModel, PathEndpoint, Tracking
                     ).format(maximum_draw=self.maximum_draw)
                 })
 
+    def get_type_image(self):
+        return PowerPortTypeChoices.images.get(self.type)
+
     def get_downstream_powerports(self, leg=None):
         """
         Return a queryset of all PowerPorts connected via cable to a child PowerOutlet. For example, in the topology
@@ -693,6 +696,9 @@ class PowerOutlet(ModularComponentModel, CabledObjectModel, PathEndpoint, Tracki
     def get_status_color(self):
         return PowerOutletStatusChoices.colors.get(self.status)
 
+    def get_type_image(self):
+        return PowerOutletTypeChoices.images.get(self.type)
+
 
 #
 # Cooling components

+ 13 - 0
netbox/dcim/tests/test_models.py

@@ -4132,6 +4132,19 @@ class SiteSignalTestCase(TestCase):
         site.save()
 
 
+class PowerTypeImageTestCase(TestCase):
+
+    def test_get_type_image(self):
+        for model, choices, value in (
+            (PowerPort, PowerPortTypeChoices, PowerPortTypeChoices.TYPE_IEC_C14),
+            (PowerOutlet, PowerOutletTypeChoices, PowerOutletTypeChoices.TYPE_IEC_C13),
+        ):
+            with self.subTest(model=model.__name__):
+                self.assertEqual(model(type=value).get_type_image(), choices.images[value])
+                self.assertIsNone(model(type=choices.TYPE_OTHER).get_type_image())
+                self.assertIsNone(model(type=None).get_type_image())
+
+
 class PowerPortDrawTestCase(TestCase):
     """
     Tests for PowerPort.get_power_draw() power aggregation logic.

+ 17 - 3
netbox/netbox/tests/test_ui.py

@@ -91,7 +91,7 @@ class ChoiceAttrTestCase(TestCase):
         )
         self.assertEqual(
             attr.get_context(self.termination, 'role', attr.get_value(self.termination), {}),
-            {'bg_color': self.termination.get_role_color()},
+            {'bg_color': self.termination.get_role_color(), 'image': None},
         )
 
     def test_choice_attr_related_accessor(self):
@@ -103,7 +103,7 @@ class ChoiceAttrTestCase(TestCase):
         )
         self.assertEqual(
             attr.get_context(self.termination, 'interface.type', attr.get_value(self.termination), {}),
-            {'bg_color': None},
+            {'bg_color': None, 'image': None},
         )
 
     def test_choice_attr_related_accessor_with_color(self):
@@ -117,9 +117,23 @@ class ChoiceAttrTestCase(TestCase):
             attr.get_context(
                 self.termination, 'virtual_circuit.status', attr.get_value(self.termination), {}
             ),
-            {'bg_color': self.termination.virtual_circuit.get_status_color()},
+            {'bg_color': self.termination.virtual_circuit.get_status_color(), 'image': None},
         )
 
+    def test_choice_attr_with_image(self):
+        attr = attrs.ChoiceAttr('type')
+        obj = SimpleNamespace(
+            type='foo',
+            get_type_display=lambda: 'Foo',
+            get_type_image=lambda: 'foo.svg',
+        )
+
+        self.assertEqual(
+            attr.get_context(obj, 'type', attr.get_value(obj), {}),
+            {'bg_color': None, 'image': 'foo.svg'},
+        )
+        self.assertIn('foo.svg', attr.render(obj, {'name': 'type'}))
+
 
 class RelatedObjectListAttrTestCase(TestCase):
     """

+ 6 - 2
netbox/netbox/ui/attrs.py

@@ -193,7 +193,8 @@ class ChoiceAttr(ObjectAttribute):
     to retrieve the human-friendly choice label. For example, accessor="interface.type"
     will call interface.get_type_display().
     If a get_FOO_color() method exists on that object, it will be used to render a
-    background color for the attribute value.
+    background color for the attribute value. Likewise, if a get_FOO_image() method exists,
+    the static image it returns will be displayed beside the value.
     """
     template_name = 'ui/attrs/choice.html'
 
@@ -218,13 +219,16 @@ class ChoiceAttr(ObjectAttribute):
     def get_context(self, obj, attr, value, context):
         target, field_name = self._resolve_target(obj)
         if target is None:
-            return {'bg_color': None}
+            return {'bg_color': None, 'image': None}
 
         get_color = getattr(target, f'get_{field_name}_color', None)
         bg_color = get_color() if callable(get_color) else None
+        get_image = getattr(target, f'get_{field_name}_image', None)
+        image = get_image() if callable(get_image) else None
 
         return {
             'bg_color': bg_color,
+            'image': image,
         }
 
 

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
netbox/project-static/dist/netbox.css


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
netbox/project-static/dist/netbox.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
netbox/project-static/dist/netbox.js.map


+ 4 - 0
netbox/project-static/img/connectors/power-outlet/CS6360C.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M33.49 14.98A17.08 17.08 0 0 1 46.16 22.45L42.21 25.11A12.32 12.32 0 0 0 33.07 19.73Z"/><path d="M47.22 39.75A17.08 17.08 0 0 1 30.51 49.02L30.93 44.27A12.32 12.32 0 0 0 42.98 37.59Z"/><path d="M16.28 38.67A17.08 17.08 0 0 1 17.21 23.46L21.33 25.84A12.32 12.32 0 0 0 20.66 36.81Z"/><path d="M12.15 40.42A21.56 21.56 0 0 1 10.65 35L15.36 34.34A16.8 16.8 0 0 0 16.54 38.56Z"/><circle cx="32" cy="32" r="3.92"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/CS6364C.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M30.63 7.15A24.89 24.89 0 0 1 31.06 7.13A3.11 3.11 0 1 1 37.25 7.67A24.89 24.89 0 0 1 43.62 9.99A3.11 3.11 0 1 1 48.71 13.55A24.89 24.89 0 0 1 56.89 31.57L55.14 31.6A23.15 23.15 0 0 1 41.78 52.98L42.52 54.56A24.89 24.89 0 0 1 24.38 55.69A3.11 3.11 0 1 1 18.75 53.07A24.89 24.89 0 0 1 12.7 47.72A3.11 3.11 0 1 1 9.41 42.45A24.89 24.89 0 0 1 30.63 7.15Z"/></g>
+<g fill="#000"><path d="M31.74 16.82A15.18 15.18 0 0 1 45.01 24.18L41.39 26.36A10.95 10.95 0 0 0 31.81 21.05Z"/><path d="M31.71 15.33A16.68 16.68 0 0 1 40.08 17.42L39.24 18.94A14.93 14.93 0 0 0 31.74 17.07Z"/><path d="M44.28 40.92A15.18 15.18 0 0 1 33.32 47.12L32.95 42.91A10.95 10.95 0 0 0 40.86 38.44Z"/><path d="M18.99 39.82A15.18 15.18 0 0 1 18.13 25.82L22 27.55A10.95 10.95 0 0 0 22.61 37.64Z"/><path d="M16.85 41.1A17.67 17.67 0 0 1 14.37 33.23L17.1 33.04A14.93 14.93 0 0 0 19.2 39.69Z"/><circle cx="32" cy="32" r="3.48"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/CS8164C.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M31.93 7.11A24.89 24.89 0 0 1 32.36 7.11A3.11 3.11 0 1 1 38.51 7.98A24.89 24.89 0 0 1 56.85 30.7L55.11 30.79A23.15 23.15 0 0 1 39.92 53.75L40.51 55.39A24.89 24.89 0 0 1 31.2 56.88A3.11 3.11 0 1 1 25.07 55.9A24.89 24.89 0 0 1 16.39 51.39A3.11 3.11 0 1 1 12.08 46.92A24.89 24.89 0 0 1 16.96 12.17A3.11 3.11 0 1 1 22.34 9.06A24.89 24.89 0 0 1 31.93 7.11Z"/></g>
+<g fill="#000"><path d="M32.26 16.82A15.18 15.18 0 0 1 44.88 23.95L41.29 26.2A10.95 10.95 0 0 0 32.19 21.05Z"/><path d="M32.29 15.33A16.68 16.68 0 0 1 40.34 17.56L39.47 19.07A14.93 14.93 0 0 0 32.26 17.07Z"/><path d="M44.13 41.14A15.18 15.18 0 0 1 31.74 47.18L31.81 42.95A10.95 10.95 0 0 0 40.75 38.59Z"/><path d="M20.37 41.76A15.18 15.18 0 0 1 18.24 25.58L22.07 27.37A10.95 10.95 0 0 0 23.61 39.04Z"/><path d="M18.46 43.36A17.67 17.67 0 0 1 14.5 34.46L17.21 34.08A14.93 14.93 0 0 0 20.56 41.6Z"/><circle cx="32" cy="32" r="3.48"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/CS8264C.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M34.67 15.13A17.08 17.08 0 0 1 46.79 23.46L42.67 25.84A12.32 12.32 0 0 0 33.93 19.83Z"/><path d="M46.94 40.28A17.08 17.08 0 0 1 29.62 48.91L30.29 44.2A12.32 12.32 0 0 0 42.78 37.97Z"/><path d="M16.28 38.67A17.08 17.08 0 0 1 17.21 23.46L21.33 25.84A12.32 12.32 0 0 0 20.66 36.81Z"/><path d="M12.15 40.42A21.56 21.56 0 0 1 10.65 35L15.36 34.34A16.8 16.8 0 0 0 16.54 38.56Z"/><circle cx="32" cy="32" r="3.92"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/CS8364C.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M34.1 7.2A24.89 24.89 0 0 1 34.53 7.24A3.11 3.11 0 1 1 40.58 8.64A24.89 24.89 0 0 1 45.86 11.33A3.11 3.11 0 1 1 50.54 15.4A24.89 24.89 0 0 1 56.89 32L55.15 32A23.15 23.15 0 0 1 40.67 53.46L41.32 55.08A24.89 24.89 0 0 1 24.79 55.82A3.11 3.11 0 1 1 19.12 53.3A24.89 24.89 0 0 1 13.85 49.03A3.11 3.11 0 1 1 10.2 44A24.89 24.89 0 0 1 34.1 7.2Z"/></g>
+<g fill="#000"><path d="M32.79 16.84A15.18 15.18 0 0 1 46.36 27.06L42.35 28.43A10.95 10.95 0 0 0 32.57 21.06Z"/><path d="M32.59 20.82A11.2 11.2 0 0 1 35.46 21.35L34.15 25.37A6.97 6.97 0 0 0 32.36 25.04Z"/><path d="M44.44 40.71A15.18 15.18 0 0 1 33.06 47.15L32.76 42.92A10.95 10.95 0 0 0 40.97 38.28Z"/><path d="M20.04 41.35A15.18 15.18 0 0 1 18.72 24.64L22.42 26.69A10.95 10.95 0 0 0 23.37 38.74Z"/><path d="M23.17 38.9A11.2 11.2 0 0 1 21.69 36.38L25.36 34.82A7.22 7.22 0 0 0 26.31 36.44Z"/><circle cx="32" cy="32" r="3.48"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/CS8464C.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M33.79 15.01A17.08 17.08 0 0 1 46.32 22.7L42.33 25.29A12.32 12.32 0 0 0 33.29 19.75Z"/><path d="M47.72 38.67A17.08 17.08 0 0 1 29.62 48.91L30.29 44.2A12.32 12.32 0 0 0 43.34 36.81Z"/><path d="M18.01 41.8A17.08 17.08 0 0 1 17.06 23.72L21.22 26.03A12.32 12.32 0 0 0 21.91 39.07Z"/><path d="M21.68 39.23A12.6 12.6 0 0 1 20.16 36.31L23.84 34.97A8.68 8.68 0 0 0 24.89 36.98Z"/><circle cx="32" cy="32" r="3.92"/></g>
+</svg>

+ 5 - 0
netbox/project-static/img/connectors/power-outlet/eaton-c39.svg

@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M9.6 10L54.4 10A5.6 5.6 0 0 1 60 15.6L60 48.4A5.6 5.6 0 0 1 54.4 54L9.6 54A5.6 5.6 0 0 1 4 48.4L4 15.6A5.6 5.6 0 0 1 9.6 10Z"/></g>
+<g fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round"><path d="M22.8 20.8L41.2 20.8L41.2 28.8L49.6 28.8L49.6 43.2L35.84 43.2L35.84 36.8L28.16 36.8L28.16 43.2L14.4 43.2L14.4 28.8L22.8 28.8Z"/></g>
+<g fill="#000"><path d="M26.4 23.6L37.6 23.6L37.6 27.6L26.4 27.6Z"/><path d="M30 24.8L34 24.8L34 32.8L30 32.8Z"/><path d="M16.8 36.4L26.4 36.4L26.4 40.4L16.8 40.4Z"/><path d="M18.8 31.2L22.8 31.2L22.8 39.2L18.8 39.2Z"/><path d="M37.6 36.4L47.2 36.4L47.2 40.4L37.6 40.4Z"/><path d="M41.2 31.2L45.2 31.2L45.2 39.2L41.2 39.2Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/hdot-cx.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M16.08 13.83A3.65 3.65 0 0 1 18.66 12.77L45.34 12.77A3.65 3.65 0 0 1 47.92 13.83L58.93 24.84A3.65 3.65 0 0 1 60 27.43L60 43.93A7.3 7.3 0 0 1 52.7 51.23L11.3 51.23A7.3 7.3 0 0 1 4 43.93L4 27.43A3.65 3.65 0 0 1 5.07 24.84Z"/></g>
+<g fill="#000"><path d="M23.48 19.22L40.52 19.22L40.52 25.3L23.48 25.3Z"/><path d="M28.96 21.04L35.04 21.04L35.04 33.22L28.96 33.22Z"/><path d="M8.87 38.7L23.48 38.7L23.48 44.78L8.87 44.78Z"/><path d="M11.91 30.78L18 30.78L18 42.96L11.91 42.96Z"/><path d="M40.52 38.7L55.13 38.7L55.13 44.78L40.52 44.78Z"/><path d="M46 30.78L52.09 30.78L52.09 42.96L46 42.96Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60309-2p-e-4h.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M27.58 59.65A28 28 0 1 1 36.42 59.65A4.42 4.42 0 0 1 27.58 59.65Z"/></g>
+<g fill="#000"><circle cx="41.58" cy="37.53" r="5.06"/><circle cx="22.42" cy="37.53" r="3.79"/><circle cx="32" cy="20.94" r="3.79"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60309-2p-e-6h.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M27.58 59.65A28 28 0 1 1 36.42 59.65A4.42 4.42 0 0 1 27.58 59.65Z"/></g>
+<g fill="#000"><circle cx="32" cy="43.06" r="5.06"/><circle cx="22.42" cy="26.47" r="3.79"/><circle cx="41.58" cy="26.47" r="3.79"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60309-2p-e-9h.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M27.58 59.65A28 28 0 1 1 36.42 59.65A4.42 4.42 0 0 1 27.58 59.65Z"/></g>
+<g fill="#000"><circle cx="20.94" cy="32" r="5.06"/><circle cx="37.53" cy="22.42" r="3.79"/><circle cx="37.53" cy="41.58" r="3.79"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60309-3p-e-4h.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M28.13 59.73A28 28 0 1 1 35.87 59.73A3.89 3.89 0 1 1 28.13 59.73Z"/></g>
+<g fill="#000"><circle cx="42.34" cy="37.97" r="4.44"/><circle cx="26.03" cy="42.34" r="3.33"/><circle cx="21.66" cy="26.03" r="3.33"/><circle cx="37.97" cy="21.66" r="3.33"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60309-3p-e-6h.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M28.13 59.73A28 28 0 1 1 35.87 59.73A3.89 3.89 0 1 1 28.13 59.73Z"/></g>
+<g fill="#000"><circle cx="32" cy="43.94" r="4.44"/><circle cx="20.06" cy="32" r="3.33"/><circle cx="32" cy="20.06" r="3.33"/><circle cx="43.94" cy="32" r="3.33"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60309-3p-e-9h.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M28.13 59.73A28 28 0 1 1 35.87 59.73A3.89 3.89 0 1 1 28.13 59.73Z"/></g>
+<g fill="#000"><circle cx="20.06" cy="32" r="4.44"/><circle cx="32" cy="20.06" r="3.33"/><circle cx="43.94" cy="32" r="3.33"/><circle cx="32" cy="43.94" r="3.33"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60309-3p-n-e-4h.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M28.65 59.8A28 28 0 1 1 35.35 59.8A3.42 3.42 0 1 1 28.65 59.8Z"/></g>
+<g fill="#000"><circle cx="43.21" cy="38.47" r="3.91"/><circle cx="29.31" cy="44.67" r="2.93"/><circle cx="19.12" cy="33.35" r="2.93"/><circle cx="26.73" cy="20.17" r="2.93"/><circle cx="41.62" cy="23.34" r="2.93"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60309-3p-n-e-6h.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M28.65 59.8A28 28 0 1 1 35.35 59.8A3.42 3.42 0 1 1 28.65 59.8Z"/></g>
+<g fill="#000"><circle cx="32" cy="44.95" r="3.91"/><circle cx="19.68" cy="36" r="2.93"/><circle cx="24.39" cy="21.52" r="2.93"/><circle cx="39.61" cy="21.52" r="2.93"/><circle cx="44.32" cy="36" r="2.93"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60309-3p-n-e-9h.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M28.65 59.8A28 28 0 1 1 35.35 59.8A3.42 3.42 0 1 1 28.65 59.8Z"/></g>
+<g fill="#000"><circle cx="19.05" cy="32" r="3.91"/><circle cx="28" cy="19.68" r="2.93"/><circle cx="42.48" cy="24.39" r="2.93"/><circle cx="42.48" cy="39.61" r="2.93"/><circle cx="28" cy="44.32" r="2.93"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60309-p-n-e-4h.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M27.58 59.65A28 28 0 1 1 36.42 59.65A4.42 4.42 0 0 1 27.58 59.65Z"/></g>
+<g fill="#000"><circle cx="41.58" cy="37.53" r="5.06"/><circle cx="22.42" cy="37.53" r="3.79"/><circle cx="32" cy="20.94" r="3.79"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60309-p-n-e-6h.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M27.58 59.65A28 28 0 1 1 36.42 59.65A4.42 4.42 0 0 1 27.58 59.65Z"/></g>
+<g fill="#000"><circle cx="32" cy="43.06" r="5.06"/><circle cx="22.42" cy="26.47" r="3.79"/><circle cx="41.58" cy="26.47" r="3.79"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60309-p-n-e-9h.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M27.58 59.65A28 28 0 1 1 36.42 59.65A4.42 4.42 0 0 1 27.58 59.65Z"/></g>
+<g fill="#000"><circle cx="20.94" cy="32" r="5.06"/><circle cx="37.53" cy="22.42" r="3.79"/><circle cx="37.53" cy="41.58" r="3.79"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60320-c13.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M16.08 13.83A3.65 3.65 0 0 1 18.66 12.77L45.34 12.77A3.65 3.65 0 0 1 47.92 13.83L58.93 24.84A3.65 3.65 0 0 1 60 27.43L60 43.93A7.3 7.3 0 0 1 52.7 51.23L11.3 51.23A7.3 7.3 0 0 1 4 43.93L4 27.43A3.65 3.65 0 0 1 5.07 24.84Z"/></g>
+<g fill="#000"><path d="M11.91 30.78L18 30.78L18 42.96L11.91 42.96Z"/><path d="M46 30.78L52.09 30.78L52.09 42.96L46 42.96Z"/><path d="M28.96 21.04L35.04 21.04L35.04 33.22L28.96 33.22Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60320-c15.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M16.08 13.83A3.65 3.65 0 0 1 18.66 12.77L45.34 12.77A3.65 3.65 0 0 1 47.92 13.83L58.93 24.84A3.65 3.65 0 0 1 60 27.43L60 43.93A7.3 7.3 0 0 1 52.7 51.23L40.03 51.23A1.95 1.95 0 0 1 38.09 49.29L38.09 45.39L37.88 43.82L37.27 42.35L36.3 41.09L35.04 40.12L33.58 39.51L32 39.3L30.42 39.51L28.96 40.12L27.7 41.09L26.73 42.35L26.12 43.82L25.91 45.39L25.91 49.29A1.95 1.95 0 0 1 23.97 51.23L11.3 51.23A7.3 7.3 0 0 1 4 43.93L4 27.43A3.65 3.65 0 0 1 5.07 24.84Z"/></g>
+<g fill="#000"><path d="M11.91 30.78L18 30.78L18 42.96L11.91 42.96Z"/><path d="M46 30.78L52.09 30.78L52.09 42.96L46 42.96Z"/><path d="M28.96 21.04L35.04 21.04L35.04 33.22L28.96 33.22Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60320-c17.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M16.08 13.83A3.65 3.65 0 0 1 18.66 12.77L45.34 12.77A3.65 3.65 0 0 1 47.92 13.83L58.93 24.84A3.65 3.65 0 0 1 60 27.43L60 43.93A7.3 7.3 0 0 1 52.7 51.23L11.3 51.23A7.3 7.3 0 0 1 4 43.93L4 27.43A3.65 3.65 0 0 1 5.07 24.84Z"/></g>
+<g fill="#000"><path d="M11.91 30.78L18 30.78L18 42.96L11.91 42.96Z"/><path d="M46 30.78L52.09 30.78L52.09 42.96L46 42.96Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60320-c19.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M10 12L54 12A6 6 0 0 1 60 18L60 46A6 6 0 0 1 54 52L10 52A6 6 0 0 1 4 46L4 18A6 6 0 0 1 10 12Z"/></g>
+<g fill="#000"><path d="M25 21.5L39 21.5L39 26.5L25 26.5Z"/><path d="M13 37.5L25 37.5L25 42.5L13 42.5Z"/><path d="M39 37.5L51 37.5L51 42.5L39 42.5Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60320-c21.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M17.12 12.88A3 3 0 0 1 19.24 12L44.76 12A3 3 0 0 1 46.88 12.88L59.12 25.12A3 3 0 0 1 60 27.24L60 46A6 6 0 0 1 54 52L10 52A6 6 0 0 1 4 46L4 27.24A3 3 0 0 1 4.88 25.12Z"/></g>
+<g fill="#000"><path d="M25 21.5L39 21.5L39 26.5L25 26.5Z"/><path d="M13 37.5L25 37.5L25 42.5L13 42.5Z"/><path d="M39 37.5L51 37.5L51 42.5L39 42.5Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60320-c5.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M18.1 27.44A14 14 0 1 1 45.9 27.44A12.44 12.44 0 1 1 35.12 39.43A14 14 0 0 1 28.88 39.43A12.44 12.44 0 1 1 18.1 27.44Z"/></g>
+<g fill="#000"><circle cx="32" cy="25.78" r="5.91"/><circle cx="16.44" cy="39.78" r="4.51"/><circle cx="47.56" cy="39.78" r="4.51"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60320-c7.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M32 25.58A14.74 14.74 0 1 1 32 38.42A14.74 14.74 0 1 1 32 25.58Z"/></g>
+<g fill="#000"><circle cx="16.16" cy="32" r="5.34"/><circle cx="47.84" cy="32" r="5.34"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/iec-60906-1.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M15.69 19.28A2.37 2.37 0 0 1 17.36 18.59L46.64 18.59A2.37 2.37 0 0 1 48.31 19.28L59.35 30.33A2.37 2.37 0 0 1 59.35 33.67L48.31 44.72A2.37 2.37 0 0 1 46.64 45.41L17.36 45.41A2.37 2.37 0 0 1 15.69 44.72L4.65 33.67A2.37 2.37 0 0 1 4.65 30.33Z"/></g>
+<g fill="#000"><circle cx="17.01" cy="32" r="3.79"/><circle cx="46.99" cy="32" r="3.79"/><circle cx="32" cy="27.27" r="3.79"/></g>
+</svg>

+ 5 - 0
netbox/project-static/img/connectors/power-outlet/ita-e.svg

@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round"><circle cx="32" cy="18" r="5.32"/></g>
+<g fill="#000"><circle cx="18.7" cy="32" r="3.85"/><circle cx="45.3" cy="32" r="3.85"/><circle cx="32" cy="18" r="3.36"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/ita-f.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><circle cx="18.7" cy="32" r="3.85"/><circle cx="45.3" cy="32" r="3.85"/><path d="M27.8 5.12L36.2 5.12L36.2 8.48L27.8 8.48Z"/><path d="M27.8 55.52L36.2 55.52L36.2 58.88L27.8 58.88Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/ita-g.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M9.83 4L54.17 4A5.83 5.83 0 0 1 60 9.83L60 54.17A5.83 5.83 0 0 1 54.17 60L9.83 60A5.83 5.83 0 0 1 4 54.17L4 9.83A5.83 5.83 0 0 1 9.83 4Z"/></g>
+<g fill="#000"><path d="M29.38 14.09L34.62 14.09L34.62 24.01L29.38 24.01Z"/><path d="M14.97 42.33L23.13 42.33L23.13 47.58L14.97 47.58Z"/><path d="M40.87 42.33L49.03 42.33L49.03 47.58L40.87 47.58Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/ita-h.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><circle cx="18" cy="25" r="3.83"/><circle cx="46" cy="25" r="3.83"/><circle cx="32" cy="39" r="3.83"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/ita-i.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M9.89 4L54.11 4A5.89 5.89 0 0 1 60 9.89L60 54.11A5.89 5.89 0 0 1 54.11 60L9.89 60A5.89 5.89 0 0 1 4 54.11L4 9.89A5.89 5.89 0 0 1 9.89 4Z"/></g>
+<g fill="#000"><path d="M23.07 16.11L25.87 17.73L20.72 26.67L17.91 25.05Z"/><path d="M38.13 17.73L40.93 16.11L46.09 25.05L43.28 26.67Z"/><path d="M30.38 37.31L33.62 37.31L33.62 47.62L30.38 47.62Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/ita-j.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M17.6 17.81A4.67 4.67 0 0 1 20.9 16.44L43.1 16.44A4.67 4.67 0 0 1 46.4 17.81L59.59 31A1.4 1.4 0 0 1 60 31.99L60 32.01A1.4 1.4 0 0 1 59.59 33L46.4 46.19A4.67 4.67 0 0 1 43.1 47.56L20.9 47.56A4.67 4.67 0 0 1 17.6 46.19L4.41 33A1.4 1.4 0 0 1 4 32.01L4 31.99A1.4 1.4 0 0 1 4.41 31Z"/></g>
+<g fill="#000"><circle cx="17.22" cy="32" r="3.5"/><circle cx="46.78" cy="32" r="3.5"/><circle cx="32" cy="39.78" r="3.5"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/ita-k.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><circle cx="18.7" cy="24.3" r="3.71"/><circle cx="45.3" cy="24.3" r="3.71"/><path d="M27.57 41.45L36.43 41.45A4.55 4.55 0 1 1 27.57 41.45Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/ita-l.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M23.09 4L40.91 4A5.09 5.09 0 0 1 46 9.09L46 54.91A5.09 5.09 0 0 1 40.91 60L23.09 60A5.09 5.09 0 0 1 18 54.91L18 9.09A5.09 5.09 0 0 1 23.09 4Z"/></g>
+<g fill="#000"><circle cx="32" cy="32" r="2.86"/><circle cx="32" cy="19.91" r="2.86"/><circle cx="32" cy="15.45" r="3.5"/><circle cx="32" cy="44.09" r="2.86"/><circle cx="32" cy="48.55" r="3.5"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/ita-m.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M10.22 4L53.78 4A6.22 6.22 0 0 1 60 10.22L60 53.78A6.22 6.22 0 0 1 53.78 60L10.22 60A6.22 6.22 0 0 1 4 53.78L4 10.22A6.22 6.22 0 0 1 10.22 4Z"/></g>
+<g fill="#000"><circle cx="18.83" cy="46.83" r="3.94"/><circle cx="45.17" cy="46.83" r="3.94"/><circle cx="32" cy="17.17" r="4.77"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/ita-n.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M15.69 19.28A2.37 2.37 0 0 1 17.36 18.59L46.64 18.59A2.37 2.37 0 0 1 48.31 19.28L59.35 30.33A2.37 2.37 0 0 1 59.35 33.67L48.31 44.72A2.37 2.37 0 0 1 46.64 45.41L17.36 45.41A2.37 2.37 0 0 1 15.69 44.72L4.65 33.67A2.37 2.37 0 0 1 4.65 30.33Z"/></g>
+<g fill="#000"><circle cx="17.01" cy="32" r="3.79"/><circle cx="46.99" cy="32" r="3.79"/><circle cx="32" cy="27.27" r="3.79"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/ita-o.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><circle cx="18.36" cy="40.54" r="3.81"/><circle cx="45.64" cy="40.54" r="3.81"/><circle cx="32" cy="23.46" r="3.81"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/molex-micro-fit-1x2.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M7.03 24.43L56.97 24.43A3.03 3.03 0 0 1 60 27.46L60 54.7A3.03 3.03 0 0 1 56.97 57.73L7.03 57.73A3.03 3.03 0 0 1 4 54.7L4 27.46A3.03 3.03 0 0 1 7.03 24.43Z"/><path d="M19.14 6.27L44.86 6.27A2.27 2.27 0 0 1 47.14 8.54L47.14 22.16A2.27 2.27 0 0 1 44.86 24.43L19.14 24.43A2.27 2.27 0 0 1 16.86 22.16L16.86 8.54A2.27 2.27 0 0 1 19.14 6.27Z"/></g>
+<g fill="#000"><path d="M13.84 33.14L27.46 33.14A1.14 1.14 0 0 1 28.59 34.27L28.59 47.89A1.14 1.14 0 0 1 27.46 49.03L13.84 49.03A1.14 1.14 0 0 1 12.7 47.89L12.7 34.27A1.14 1.14 0 0 1 13.84 33.14Z"/><path d="M42.22 33.14L44.49 33.14A6.81 6.81 0 0 1 51.3 39.95L51.3 42.22A6.81 6.81 0 0 1 44.49 49.03L42.22 49.03A6.81 6.81 0 0 1 35.41 42.22L35.41 39.95A6.81 6.81 0 0 1 42.22 33.14Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/molex-micro-fit-2x2.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M13.14 17.71L50.86 17.71A2.29 2.29 0 0 1 53.14 20L53.14 57.71A2.29 2.29 0 0 1 50.86 60L13.14 60A2.29 2.29 0 0 1 10.86 57.71L10.86 20A2.29 2.29 0 0 1 13.14 17.71Z"/><path d="M22.29 4L41.71 4A1.71 1.71 0 0 1 43.43 5.71L43.43 16A1.71 1.71 0 0 1 41.71 17.71L22.29 17.71A1.71 1.71 0 0 1 20.57 16L20.57 5.71A1.71 1.71 0 0 1 22.29 4Z"/></g>
+<g fill="#000"><path d="M18.29 24.29L28.57 24.29A0.86 0.86 0 0 1 29.43 25.14L29.43 35.43A0.86 0.86 0 0 1 28.57 36.29L18.29 36.29A0.86 0.86 0 0 1 17.43 35.43L17.43 25.14A0.86 0.86 0 0 1 18.29 24.29Z"/><path d="M39.71 24.29L41.43 24.29A5.14 5.14 0 0 1 46.57 29.43L46.57 31.14A5.14 5.14 0 0 1 41.43 36.29L39.71 36.29A5.14 5.14 0 0 1 34.57 31.14L34.57 29.43A5.14 5.14 0 0 1 39.71 24.29Z"/><path d="M22.57 41.43L24.29 41.43A5.14 5.14 0 0 1 29.43 46.57L29.43 48.29A5.14 5.14 0 0 1 24.29 53.43L22.57 53.43A5.14 5.14 0 0 1 17.43 48.29L17.43 46.57A5.14 5.14 0 0 1 22.57 41.43Z"/><path d="M35.43 41.43L45.71 41.43A0.86 0.86 0 0 1 46.57 42.29L46.57 52.57A0.86 0.86 0 0 1 45.71 53.43L35.43 53.43A0.86 0.86 0 0 1 34.57 52.57L34.57 42.29A0.86 0.86 0 0 1 35.43 41.43Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/molex-micro-fit-2x3.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M6.15 18.54L57.85 18.54A2.15 2.15 0 0 1 60 20.69L60 56.23A2.15 2.15 0 0 1 57.85 58.38L6.15 58.38A2.15 2.15 0 0 1 4 56.23L4 20.69A2.15 2.15 0 0 1 6.15 18.54Z"/><path d="M22.85 5.62L41.15 5.62A1.62 1.62 0 0 1 42.77 7.23L42.77 16.92A1.62 1.62 0 0 1 41.15 18.54L22.85 18.54A1.62 1.62 0 0 1 21.23 16.92L21.23 7.23A1.62 1.62 0 0 1 22.85 5.62Z"/></g>
+<g fill="#000"><path d="M11 24.73L20.69 24.73A0.81 0.81 0 0 1 21.5 25.54L21.5 35.23A0.81 0.81 0 0 1 20.69 36.04L11 36.04A0.81 0.81 0 0 1 10.19 35.23L10.19 25.54A0.81 0.81 0 0 1 11 24.73Z"/><path d="M31.19 24.73L32.81 24.73A4.85 4.85 0 0 1 37.65 29.58L37.65 31.19A4.85 4.85 0 0 1 32.81 36.04L31.19 36.04A4.85 4.85 0 0 1 26.35 31.19L26.35 29.58A4.85 4.85 0 0 1 31.19 24.73Z"/><path d="M43.31 24.73L53 24.73A0.81 0.81 0 0 1 53.81 25.54L53.81 35.23A0.81 0.81 0 0 1 53 36.04L43.31 36.04A0.81 0.81 0 0 1 42.5 35.23L42.5 25.54A0.81 0.81 0 0 1 43.31 24.73Z"/><path d="M15.04 40.88L16.65 40.88A4.85 4.85 0 0 1 21.5 45.73L21.5 47.35A4.85 4.85 0 0 1 16.65 52.19L15.04 52.19A4.85 4.85 0 0 1 10.19 47.35L10.19 45.73A4.85 4.85 0 0 1 15.04 40.88Z"/><path d="M27.15 40.88L36.85 40.88A0.81 0.81 0 0 1 37.65 41.69L37.65 51.38A0.81 0.81 0 0 1 36.85 52.19L27.15 52.19A0.81 0.81 0 0 1 26.35 51.38L26.35 41.69A0.81 0.81 0 0 1 27.15 40.88Z"/><path d="M47.35 40.88L48.96 40.88A4.85 4.85 0 0 1 53.81 45.73L53.81 47.35A4.85 4.85 0 0 1 48.96 52.19L47.35 52.19A4.85 4.85 0 0 1 42.5 47.35L42.5 45.73A4.85 4.85 0 0 1 47.35 40.88Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/molex-micro-fit-2x4.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M5.67 21.55L58.33 21.55A1.67 1.67 0 0 1 60 23.22L60 50.81A1.67 1.67 0 0 1 58.33 52.48L5.67 52.48A1.67 1.67 0 0 1 4 50.81L4 23.22A1.67 1.67 0 0 1 5.67 21.55Z"/><path d="M24.9 11.52L39.1 11.52A1.25 1.25 0 0 1 40.36 12.78L40.36 20.3A1.25 1.25 0 0 1 39.1 21.55L24.9 21.55A1.25 1.25 0 0 1 23.64 20.3L23.64 12.78A1.25 1.25 0 0 1 24.9 11.52Z"/></g>
+<g fill="#000"><path d="M9.43 26.36L16.96 26.36A0.63 0.63 0 0 1 17.58 26.99L17.58 34.51A0.63 0.63 0 0 1 16.96 35.13L9.43 35.13A0.63 0.63 0 0 1 8.81 34.51L8.81 26.99A0.63 0.63 0 0 1 9.43 26.36Z"/><path d="M25.1 26.36L26.36 26.36A3.76 3.76 0 0 1 30.12 30.12L30.12 31.37A3.76 3.76 0 0 1 26.36 35.13L25.1 35.13A3.76 3.76 0 0 1 21.34 31.37L21.34 30.12A3.76 3.76 0 0 1 25.1 26.36Z"/><path d="M34.51 26.36L42.03 26.36A0.63 0.63 0 0 1 42.66 26.99L42.66 34.51A0.63 0.63 0 0 1 42.03 35.13L34.51 35.13A0.63 0.63 0 0 1 33.88 34.51L33.88 26.99A0.63 0.63 0 0 1 34.51 26.36Z"/><path d="M50.18 26.36L51.43 26.36A3.76 3.76 0 0 1 55.19 30.12L55.19 31.37A3.76 3.76 0 0 1 51.43 35.13L50.18 35.13A3.76 3.76 0 0 1 46.42 31.37L46.42 30.12A3.76 3.76 0 0 1 50.18 26.36Z"/><path d="M12.57 38.9L13.82 38.9A3.76 3.76 0 0 1 17.58 42.66L17.58 43.91A3.76 3.76 0 0 1 13.82 47.67L12.57 47.67A3.76 3.76 0 0 1 8.81 43.91L8.81 42.66A3.76 3.76 0 0 1 12.57 38.9Z"/><path d="M21.97 38.9L29.49 38.9A0.63 0.63 0 0 1 30.12 39.52L30.12 47.04A0.63 0.63 0 0 1 29.49 47.67L21.97 47.67A0.63 0.63 0 0 1 21.34 47.04L21.34 39.52A0.63 0.63 0 0 1 21.97 38.9Z"/><path d="M37.64 38.9L38.9 38.9A3.76 3.76 0 0 1 42.66 42.66L42.66 43.91A3.76 3.76 0 0 1 38.9 47.67L37.64 47.67A3.76 3.76 0 0 1 33.88 43.91L33.88 42.66A3.76 3.76 0 0 1 37.64 38.9Z"/><path d="M47.04 38.9L54.57 38.9A0.63 0.63 0 0 1 55.19 39.52L55.19 47.04A0.63 0.63 0 0 1 54.57 47.67L47.04 47.67A0.63 0.63 0 0 1 46.42 47.04L46.42 39.52A0.63 0.63 0 0 1 47.04 38.9Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nbr-14136-10a.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M15.69 19.28A2.37 2.37 0 0 1 17.36 18.59L46.64 18.59A2.37 2.37 0 0 1 48.31 19.28L59.35 30.33A2.37 2.37 0 0 1 59.35 33.67L48.31 44.72A2.37 2.37 0 0 1 46.64 45.41L17.36 45.41A2.37 2.37 0 0 1 15.69 44.72L4.65 33.67A2.37 2.37 0 0 1 4.65 30.33Z"/></g>
+<g fill="#000"><circle cx="17.01" cy="32" r="3.47"/><circle cx="46.99" cy="32" r="3.47"/><circle cx="32" cy="27.27" r="3.47"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nbr-14136-20a.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M15.69 19.28A2.37 2.37 0 0 1 17.36 18.59L46.64 18.59A2.37 2.37 0 0 1 48.31 19.28L59.35 30.33A2.37 2.37 0 0 1 59.35 33.67L48.31 44.72A2.37 2.37 0 0 1 46.64 45.41L17.36 45.41A2.37 2.37 0 0 1 15.69 44.72L4.65 33.67A2.37 2.37 0 0 1 4.65 30.33Z"/></g>
+<g fill="#000"><circle cx="17.01" cy="32" r="4.1"/><circle cx="46.99" cy="32" r="4.1"/><circle cx="32" cy="27.27" r="4.1"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-1-15r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M40.54 21.36L44.74 21.36L44.74 42.64L40.54 42.64Z"/><path d="M19.26 25.28L23.46 25.28L23.46 38.72L19.26 38.72Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-10-30r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M27.66 11.28L31.86 11.28L31.86 23.6L27.66 23.6Z"/><path d="M29.76 19.54L39.84 19.54L39.84 23.74L29.76 23.74Z"/><path d="M44.6 31.89L48.24 33.99L41.24 46.11L37.6 44.01Z"/><path d="M16.32 33.43L19.96 31.33L26.96 43.45L23.32 45.55Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-10-50r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M30.18 9.88L34.38 9.88L34.38 28.36L30.18 28.36Z"/><path d="M44.6 31.89L48.24 33.99L41.24 46.11L37.6 44.01Z"/><path d="M16.32 33.43L19.96 31.33L26.96 43.45L23.32 45.55Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-14-20r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M45.3 23.74L49.5 23.74L49.5 36.9L45.3 36.9Z"/><path d="M14.5 23.74L18.7 23.74L18.7 36.9L14.5 36.9Z"/><path d="M25.42 42.5L38.58 42.5L38.58 46.7L25.42 46.7Z"/><path d="M27.8 10.44L36.2 10.44L36.2 14.36A4.2 4.2 0 0 1 27.8 14.36Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-14-30r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M44.74 21.78L48.94 21.78L48.94 39.98L44.74 39.98Z"/><path d="M15.62 21.78L19.82 21.78L19.82 39.98L15.62 39.98Z"/><path d="M33.68 39.56L37.88 39.56L37.88 53L33.68 53Z"/><path d="M26.4 40.26L35.78 40.26L35.78 44.46L26.4 44.46Z"/><path d="M27.8 10.44L36.2 10.44L36.2 14.36A4.2 4.2 0 0 1 27.8 14.36Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-14-50r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M44.74 21.64L48.94 21.64L48.94 40.12L44.74 40.12Z"/><path d="M15.06 21.64L19.26 21.64L19.26 40.12L15.06 40.12Z"/><path d="M30.18 37.04L34.38 37.04L34.38 55.52L30.18 55.52Z"/><path d="M27.8 10.44L36.2 10.44L36.2 14.36A4.2 4.2 0 0 1 27.8 14.36Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-14-60r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M44.74 21.64L48.94 21.64L48.94 40.12L44.74 40.12Z"/><path d="M15.06 21.64L19.26 21.64L19.26 40.12L15.06 40.12Z"/><path d="M23.74 45.58L41.94 45.58L41.94 49.78L23.74 49.78Z"/><path d="M27.8 10.44L36.2 10.44L36.2 14.36A4.2 4.2 0 0 1 27.8 14.36Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-15-15r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M13.66 25.28L17.86 25.28L17.86 38.72L13.66 38.72Z"/><path d="M40.68 29.9L54.12 29.9L54.12 34.1L40.68 34.1Z"/><path d="M25.28 46.14L38.72 46.14L38.72 50.34L25.28 50.34Z"/><path d="M27.8 11.84L36.2 11.84L36.2 15.76A4.2 4.2 0 0 1 27.8 15.76Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-15-20r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M13.94 22.76L18.14 22.76L18.14 41.24L13.94 41.24Z"/><path d="M35.64 29.9L53.56 29.9L53.56 34.1L35.64 34.1Z"/><path d="M23.04 46.42L40.96 46.42L40.96 50.62L23.04 50.62Z"/><path d="M27.8 11.84L36.2 11.84L36.2 15.76A4.2 4.2 0 0 1 27.8 15.76Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-15-30r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M10.86 29.9L24.02 29.9L24.02 34.1L10.86 34.1Z"/><path d="M40.82 29.9L53.98 29.9L53.98 34.1L40.82 34.1Z"/><path d="M25.42 46.14L38.58 46.14L38.58 50.34L25.42 50.34Z"/><path d="M27.8 11.84L36.2 11.84L36.2 15.76A4.2 4.2 0 0 1 27.8 15.76Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-15-50r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M46.7 25.28L50.9 25.28L50.9 38.72L46.7 38.72Z"/><path d="M11.14 29.9L24.3 29.9L24.3 34.1L11.14 34.1Z"/><path d="M25.42 46.14L38.58 46.14L38.58 50.34L25.42 50.34Z"/><path d="M27.8 11.84L36.2 11.84L36.2 15.76A4.2 4.2 0 0 1 27.8 15.76Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-15-60r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M15.34 21.64L19.54 21.64L19.54 40.12L15.34 40.12Z"/><path d="M35.5 29.9L53.7 29.9L53.7 34.1L35.5 34.1Z"/><path d="M23.74 45.58L41.94 45.58L41.94 49.78L23.74 49.78Z"/><path d="M27.8 10.44L36.2 10.44L36.2 14.36A4.2 4.2 0 0 1 27.8 14.36Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-5-15r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M40.54 24.72L44.74 24.72L44.74 46L40.54 46Z"/><path d="M19.26 28.78L23.46 28.78L23.46 41.94L19.26 41.94Z"/><path d="M27.8 11.84L36.2 11.84L36.2 15.76A4.2 4.2 0 0 1 27.8 15.76Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-5-20r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M38.02 25.56L42.22 25.56L42.22 45.16L38.02 45.16Z"/><path d="M40.12 32.7L53 32.7L53 36.9L40.12 36.9Z"/><path d="M19.26 28.78L23.46 28.78L23.46 41.94L19.26 41.94Z"/><path d="M27.8 11.84L36.2 11.84L36.2 15.76A4.2 4.2 0 0 1 27.8 15.76Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-5-30r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M40.4 28.5L44.6 28.5L44.6 41.66L40.4 41.66Z"/><path d="M34.8 29.34L42.5 29.34L42.5 33.54L34.8 33.54Z"/><path d="M19.26 28.78L23.46 28.78L23.46 41.94L19.26 41.94Z"/><path d="M27.8 11.84L36.2 11.84L36.2 15.76A4.2 4.2 0 0 1 27.8 15.76Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-5-50r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M40.54 25.84L44.74 25.84L44.74 47.12L40.54 47.12Z"/><path d="M13.94 28.92L18.14 28.92L18.14 42.36L13.94 42.36Z"/><path d="M27.8 11.84L36.2 11.84L36.2 15.76A4.2 4.2 0 0 1 27.8 15.76Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-6-15r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M37.32 36.34L50.76 36.34L50.76 40.54L37.32 40.54Z"/><path d="M13.24 36.34L26.68 36.34L26.68 40.54L13.24 40.54Z"/><path d="M27.8 11.84L36.2 11.84L36.2 15.76A4.2 4.2 0 0 1 27.8 15.76Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-6-20r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M36.9 24.72L41.1 24.72L41.1 45.72L36.9 45.72Z"/><path d="M39 33.54L54.12 33.54L54.12 37.74L39 37.74Z"/><path d="M13.66 34.1L26.82 34.1L26.82 38.3L13.66 38.3Z"/><path d="M27.8 11.84L36.2 11.84L36.2 15.76A4.2 4.2 0 0 1 27.8 15.76Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-6-30r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M37.46 33.82L50.62 33.82L50.62 38.02L37.46 38.02Z"/><path d="M13.38 33.82L26.54 33.82L26.54 38.02L13.38 38.02Z"/><path d="M27.8 11.84L36.2 11.84L36.2 15.76A4.2 4.2 0 0 1 27.8 15.76Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-6-50r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M17.02 26.12L21.22 26.12L21.22 47.4L17.02 47.4Z"/><path d="M43.34 28.64L47.54 28.64L47.54 42.08L43.34 42.08Z"/><path d="M27.8 11.84L36.2 11.84L36.2 15.76A4.2 4.2 0 0 1 27.8 15.76Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-l1-15r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M22.19 15.68A19.04 19.04 0 0 1 41.81 15.68L39.64 19.28A14.84 14.84 0 0 0 24.36 19.28Z"/><path d="M41.88 46.11A17.22 17.22 0 0 1 22.37 46.28L24.72 42.79A13.02 13.02 0 0 0 39.47 42.67Z"/><path d="M43.88 48.97A20.72 20.72 0 0 1 39.09 51.47L37.79 47.92A16.94 16.94 0 0 0 41.72 45.88Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-l10-30r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M32 10.86A21.14 21.14 0 0 1 46.42 16.54L43.55 19.61A16.94 16.94 0 0 0 32 15.06Z"/><path d="M50.49 42.25A21.14 21.14 0 0 1 38.53 52.11L37.23 48.11A16.94 16.94 0 0 0 46.82 40.21Z"/><path d="M14.07 43.2A21.14 21.14 0 0 1 11.78 25.82L15.8 27.05A16.94 16.94 0 0 0 17.63 40.98Z"/><path d="M17.4 41.13A17.22 17.22 0 0 1 15.53 37.03L19.68 35.77A12.88 12.88 0 0 0 21.08 38.83Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-l14-20r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M23.45 16.57A17.64 17.64 0 0 1 39.73 16.15L37.89 19.92A13.44 13.44 0 0 0 25.48 20.25Z"/><path d="M48.36 25.39A17.64 17.64 0 0 1 48.36 38.61L44.46 37.03A13.44 13.44 0 0 0 44.46 26.97Z"/><path d="M40.28 47.58A17.64 17.64 0 0 1 23.72 47.58L25.69 43.87A13.44 13.44 0 0 0 38.31 43.87Z"/><path d="M17.04 41.35A17.64 17.64 0 0 1 16.42 23.72L20.13 25.69A13.44 13.44 0 0 0 20.6 39.12Z"/><path d="M12.08 27.4A20.44 20.44 0 0 1 13.95 22.4L16.67 23.85A17.36 17.36 0 0 0 15.08 28.09Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-l14-30r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M23.45 16.57A17.64 17.64 0 0 1 39.73 16.15L37.89 19.92A13.44 13.44 0 0 0 25.48 20.25Z"/><path d="M48.47 25.68A17.64 17.64 0 0 1 48.87 37.16L44.85 35.93A13.44 13.44 0 0 0 44.55 27.18Z"/><path d="M40.28 47.58A17.64 17.64 0 0 1 23.72 47.58L25.69 43.87A13.44 13.44 0 0 0 38.31 43.87Z"/><path d="M17.04 41.35A17.64 17.64 0 0 1 16.42 23.72L20.13 25.69A13.44 13.44 0 0 0 20.6 39.12Z"/><path d="M18.63 28.91A13.72 13.72 0 0 1 19.89 25.56L23.35 27.4A9.8 9.8 0 0 0 22.45 29.8Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-l15-20r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M23.18 16.72A17.64 17.64 0 0 1 35.97 14.81L35.02 18.9A13.44 13.44 0 0 0 25.28 20.36Z"/><path d="M47.99 24.55A17.64 17.64 0 0 1 46.62 41.86L43.14 39.52A13.44 13.44 0 0 0 44.18 26.32Z"/><path d="M40.28 47.58A17.64 17.64 0 0 1 23.72 47.58L25.69 43.87A13.44 13.44 0 0 0 38.31 43.87Z"/><path d="M16.42 40.28A17.64 17.64 0 0 1 16.28 23.99L20.02 25.9A13.44 13.44 0 0 0 20.13 38.31Z"/><path d="M12.01 27.75A20.44 20.44 0 0 1 13.79 22.72L16.53 24.12A17.36 17.36 0 0 0 15.02 28.39Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-l15-30r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M23.18 16.72A17.64 17.64 0 0 1 35.97 14.81L35.02 18.9A13.44 13.44 0 0 0 25.28 20.36Z"/><path d="M47.99 24.55A17.64 17.64 0 0 1 46.62 41.86L43.14 39.52A13.44 13.44 0 0 0 44.18 26.32Z"/><path d="M40.28 47.58A17.64 17.64 0 0 1 23.72 47.58L25.69 43.87A13.44 13.44 0 0 0 38.31 43.87Z"/><path d="M16.42 40.28A17.64 17.64 0 0 1 16.28 23.99L20.02 25.9A13.44 13.44 0 0 0 20.13 38.31Z"/><path d="M18.58 29.15A13.72 13.72 0 0 1 19.78 25.77L23.27 27.55A9.8 9.8 0 0 0 22.41 29.96Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-l21-20r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M22.39 17.21A17.64 17.64 0 0 1 38.32 15.53L36.82 19.45A13.44 13.44 0 0 0 24.68 20.73Z"/><path d="M48.24 25.11A17.64 17.64 0 0 1 49.04 36.57L44.98 35.48A13.44 13.44 0 0 0 44.37 26.75Z"/><path d="M41.61 46.79A17.64 17.64 0 0 1 25.68 48.47L27.18 44.55A13.44 13.44 0 0 0 39.32 43.27Z"/><path d="M18.03 41.07A16.66 16.66 0 0 1 17.16 24.44L20.9 26.34A12.46 12.46 0 0 0 21.55 38.79Z"/><path d="M14.62 43.28A20.72 20.72 0 0 1 12.29 38.4L16.42 37.06A16.38 16.38 0 0 0 18.26 40.92Z"/><circle cx="32" cy="32" r="2.8"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-l21-30r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M22.39 17.21A17.64 17.64 0 0 1 38.32 15.53L36.82 19.45A13.44 13.44 0 0 0 24.68 20.73Z"/><path d="M48.24 25.11A17.64 17.64 0 0 1 49.04 36.57L44.98 35.48A13.44 13.44 0 0 0 44.37 26.75Z"/><path d="M41.61 46.79A17.64 17.64 0 0 1 25.68 48.47L27.18 44.55A13.44 13.44 0 0 0 39.32 43.27Z"/><path d="M18.03 41.07A16.66 16.66 0 0 1 17.16 24.44L20.9 26.34A12.46 12.46 0 0 0 21.55 38.79Z"/><path d="M21.32 38.94A12.74 12.74 0 0 1 19.88 35.94L23.21 34.86A9.24 9.24 0 0 0 24.25 37.03Z"/><circle cx="32" cy="32" r="2.8"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-l22-20r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M25.11 15.76A17.64 17.64 0 0 1 36.27 14.88L35.25 18.96A13.44 13.44 0 0 0 26.75 19.63Z"/><path d="M46.96 22.65A17.64 17.64 0 0 1 47.85 39.73L44.08 37.89A13.44 13.44 0 0 0 43.4 24.88Z"/><path d="M40.55 47.43A17.64 17.64 0 0 1 23.99 47.72L25.9 43.98A13.44 13.44 0 0 0 38.52 43.75Z"/><path d="M18.03 41.07A16.66 16.66 0 0 1 17.16 24.44L20.9 26.34A12.46 12.46 0 0 0 21.55 38.79Z"/><path d="M14.62 43.28A20.72 20.72 0 0 1 12.29 38.4L16.42 37.06A16.38 16.38 0 0 0 18.26 40.92Z"/><circle cx="32" cy="32" r="2.8"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-l22-30r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M25.11 15.76A17.64 17.64 0 0 1 36.27 14.88L35.25 18.96A13.44 13.44 0 0 0 26.75 19.63Z"/><path d="M46.96 22.65A17.64 17.64 0 0 1 47.85 39.73L44.08 37.89A13.44 13.44 0 0 0 43.4 24.88Z"/><path d="M40.55 47.43A17.64 17.64 0 0 1 23.99 47.72L25.9 43.98A13.44 13.44 0 0 0 38.52 43.75Z"/><path d="M18.03 41.07A16.66 16.66 0 0 1 17.16 24.44L20.9 26.34A12.46 12.46 0 0 0 21.55 38.79Z"/><path d="M21.32 38.94A12.74 12.74 0 0 1 19.88 35.94L23.21 34.86A9.24 9.24 0 0 0 24.25 37.03Z"/><circle cx="32" cy="32" r="2.8"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-l5-15r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M36.63 15.85A16.8 16.8 0 0 1 48.74 30.54L44.55 30.9A12.6 12.6 0 0 0 35.47 19.89Z"/><path d="M44.49 46.37A19.04 19.04 0 0 1 25.49 49.89L26.92 45.95A14.84 14.84 0 0 0 41.74 43.2Z"/><path d="M14.91 36.9A17.78 17.78 0 0 1 19.87 19L22.74 22.07A13.58 13.58 0 0 0 18.95 35.74Z"/><path d="M18.68 35.82A13.86 13.86 0 0 1 18.14 32.24L21.92 32.18A10.08 10.08 0 0 0 22.31 34.78Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-l5-20r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M35.06 14.63A17.64 17.64 0 0 1 44.25 19.31L41.34 22.33A13.44 13.44 0 0 0 34.33 18.76Z"/><path d="M47.85 39.73A17.64 17.64 0 0 1 31.69 49.64L31.77 45.44A13.44 13.44 0 0 0 44.08 37.89Z"/><path d="M17.73 42.37A17.64 17.64 0 0 1 16.57 23.45L20.25 25.48A13.44 13.44 0 0 0 21.13 39.9Z"/><path d="M18.69 28.68A13.72 13.72 0 0 1 20 25.35L23.67 27.38A9.52 9.52 0 0 0 22.76 29.7Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-l5-30r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M34.15 14.49A17.64 17.64 0 0 1 44.47 19.53L41.5 22.5A13.44 13.44 0 0 0 33.64 18.66Z"/><path d="M46.96 41.35A17.64 17.64 0 0 1 33.84 49.54L33.4 45.37A13.44 13.44 0 0 0 43.4 39.12Z"/><path d="M17.73 42.37A17.64 17.64 0 0 1 16.72 23.18L20.36 25.28A13.44 13.44 0 0 0 21.13 39.9Z"/><path d="M18.75 28.45A13.72 13.72 0 0 1 20.12 25.14L23.76 27.24A9.52 9.52 0 0 0 22.8 29.54Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-l6-15r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M36.46 15.37A17.22 17.22 0 0 1 49.13 30.2L44.95 30.64A13.02 13.02 0 0 0 35.37 19.42Z"/><path d="M43.99 45.32A17.92 17.92 0 0 1 25.29 48.62L26.86 44.72A13.72 13.72 0 0 0 41.18 42.2Z"/><path d="M15.26 37.12A17.5 17.5 0 0 1 20.99 18.4L23.63 21.66A13.3 13.3 0 0 0 19.28 35.89Z"/><path d="M15.01 19.66A21 21 0 0 1 18.78 15.68L21.16 18.62A17.22 17.22 0 0 0 18.07 21.88Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-l6-20r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M32 14.36A17.64 17.64 0 0 1 46.09 21.38L42.73 23.91A13.44 13.44 0 0 0 32 18.56Z"/><path d="M46.27 42.37A17.64 17.64 0 0 1 35.67 49.25L34.79 45.15A13.44 13.44 0 0 0 42.87 39.9Z"/><path d="M17.55 42.12A17.64 17.64 0 0 1 16.42 23.72L20.13 25.69A13.44 13.44 0 0 0 20.99 39.71Z"/><path d="M18.63 28.91A13.72 13.72 0 0 1 19.89 25.56L23.59 27.53A9.52 9.52 0 0 0 22.72 29.86Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/nema-l6-30r.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><circle cx="32" cy="32" r="28"/></g>
+<g fill="#000"><path d="M32 14.36A17.64 17.64 0 0 1 46.09 21.38L42.73 23.91A13.44 13.44 0 0 0 32 18.56Z"/><path d="M46.27 42.37A17.64 17.64 0 0 1 35.67 49.25L34.79 45.15A13.44 13.44 0 0 0 42.87 39.9Z"/><path d="M17.55 42.12A17.64 17.64 0 0 1 16.42 23.72L20.13 25.69A13.44 13.44 0 0 0 20.99 39.71Z"/><path d="M18.63 28.91A13.72 13.72 0 0 1 19.89 25.56L23.59 27.53A9.52 9.52 0 0 0 22.72 29.86Z"/></g>
+</svg>

+ 5 - 0
netbox/project-static/img/connectors/power-outlet/neutrik-powercon-20a.svg

@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M49.16 4L14.84 4A6.32 6.32 0 0 0 8.52 10.32L8.52 53.68A6.32 6.32 0 0 0 14.84 60L49.16 60A6.32 6.32 0 0 0 55.48 53.68L55.48 10.32A6.32 6.32 0 0 0 49.16 4Z"/></g>
+<g fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round"><circle cx="49.16" cy="10.32" r="3.07"/><circle cx="14.84" cy="53.68" r="3.07"/><circle cx="32" cy="32" r="21.32"/><circle cx="32" cy="32" r="11.56"/></g>
+<g fill="#000"><path d="M37.06 13.12L26.94 13.12L26.94 16.55L37.06 16.55Z"/><path d="M50.43 28.57L47.54 28.57L47.54 35.43L50.43 35.43Z"/><path d="M27.91 27.91A5.78 5.78 0 1 0 36.09 27.91L35.07 28.93A4.34 4.34 0 1 1 28.93 28.93Z"/><path d="M40.05 24.97L39.03 23.95L35.45 27.53L36.47 28.55Z"/><path d="M26.76 25.74L25.74 26.76L27.53 28.55L28.55 27.53Z"/><path d="M21.52 27.11A11.56 11.56 0 0 0 21.52 36.89L23 36.2A9.94 9.94 0 0 1 23 27.8Z"/><path d="M42.48 36.89A11.56 11.56 0 0 0 42.48 27.11L41 27.8A9.94 9.94 0 0 1 41 36.2Z"/></g>
+</svg>

+ 5 - 0
netbox/project-static/img/connectors/power-outlet/neutrik-powercon-32a.svg

@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M13.08 4L50.92 4A5.3 5.3 0 0 1 56.22 9.3L56.22 54.7A5.3 5.3 0 0 1 50.92 60L13.08 60A5.3 5.3 0 0 1 7.78 54.7L7.78 9.3A5.3 5.3 0 0 1 13.08 4Z"/></g>
+<g fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round"><circle cx="13.08" cy="9.3" r="2.57"/><circle cx="50.92" cy="54.7" r="2.57"/><circle cx="32" cy="32" r="22.4"/><circle cx="32" cy="32" r="15.89"/><circle cx="32" cy="32" r="7.04"/></g>
+<g fill="#000"><path d="M26.76 11A21.64 21.64 0 0 1 37.24 11L36.72 13.06A19.52 19.52 0 0 0 27.28 13.06Z"/><path d="M29.35 48.42L34.65 48.42L34.65 51.3L29.35 51.3Z"/><path d="M28.29 25.42L33.14 25.42L33.14 26.78L28.29 26.78Z"/><path d="M38.58 28.29L38.58 33.14L37.22 33.14L37.22 28.29Z"/><path d="M35.71 38.58L30.86 38.58L30.86 37.22L35.71 37.22Z"/><path d="M25.42 35.71L25.42 30.86L26.78 30.86L26.78 35.71Z"/></g>
+</svg>

+ 5 - 0
netbox/project-static/img/connectors/power-outlet/neutrik-powercon-true1-top.svg

@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M12.7 4L51.3 4A8.7 8.7 0 0 1 60 12.7L60 51.3A8.7 8.7 0 0 1 51.3 60L12.7 60A8.7 8.7 0 0 1 4 51.3L4 12.7A8.7 8.7 0 0 1 12.7 4Z"/></g>
+<g fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round"><circle cx="32" cy="32" r="22.46"/><circle cx="32" cy="32" r="4.19"/><circle cx="12.7" cy="12.7" r="2.72"/><circle cx="12.7" cy="51.3" r="2.72"/><circle cx="51.3" cy="12.7" r="2.72"/><circle cx="51.3" cy="51.3" r="2.72"/></g>
+<g fill="#000"><path d="M24.48 37.26A9.18 9.18 0 0 1 27.83 23.82L28.8 25.73A7.04 7.04 0 0 0 26.23 36.04Z"/><path d="M40.32 35.88A9.18 9.18 0 0 1 27 39.69L28.17 37.9A7.04 7.04 0 0 0 38.38 34.98Z"/><path d="M31.2 22.86A9.18 9.18 0 0 1 41.16 32.48L39.03 32.37A7.04 7.04 0 0 0 31.39 24.99Z"/></g>
+</svg>

+ 5 - 0
netbox/project-static/img/connectors/power-outlet/neutrik-powercon-true1.svg

@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M12.7 4L51.3 4A8.7 8.7 0 0 1 60 12.7L60 51.3A8.7 8.7 0 0 1 51.3 60L12.7 60A8.7 8.7 0 0 1 4 51.3L4 12.7A8.7 8.7 0 0 1 12.7 4Z"/></g>
+<g fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round"><circle cx="32" cy="32" r="22.46"/><circle cx="32" cy="32" r="4.19"/><circle cx="12.7" cy="12.7" r="2.72"/><circle cx="12.7" cy="51.3" r="2.72"/><circle cx="51.3" cy="12.7" r="2.72"/><circle cx="51.3" cy="51.3" r="2.72"/></g>
+<g fill="#000"><path d="M24.48 37.26A9.18 9.18 0 0 1 27.83 23.82L28.8 25.73A7.04 7.04 0 0 0 26.23 36.04Z"/><path d="M40.32 35.88A9.18 9.18 0 0 1 27 39.69L28.17 37.9A7.04 7.04 0 0 0 38.38 34.98Z"/><path d="M31.2 22.86A9.18 9.18 0 0 1 41.16 32.48L39.03 32.37A7.04 7.04 0 0 0 31.39 24.99Z"/></g>
+</svg>

+ 5 - 0
netbox/project-static/img/connectors/power-outlet/saf-d-grid.svg

@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M7.35 11.8L56.65 11.8A3.35 3.35 0 0 1 60 15.15L60 48.85A3.35 3.35 0 0 1 56.65 52.2L7.35 52.2A3.35 3.35 0 0 1 4 48.85L4 15.15A3.35 3.35 0 0 1 7.35 11.8Z"/></g>
+<g fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round"><path d="M16.67 18.25A1.68 1.68 0 0 1 18.24 17.16L45.76 17.16A1.68 1.68 0 0 1 47.33 18.25L51.85 30.38A1.68 1.68 0 0 1 51.95 30.96L51.95 43.49A3.35 3.35 0 0 1 48.6 46.84L15.4 46.84A3.35 3.35 0 0 1 12.05 43.49L12.05 30.96A1.68 1.68 0 0 1 12.15 30.38Z"/></g>
+<g fill="#000"><path d="M28.31 27.81L35.69 27.81L35.69 30.16L28.31 30.16Z"/><path d="M16.74 35.86L24.12 35.86L24.12 38.2L16.74 38.2Z"/><path d="M39.88 35.86L47.26 35.86L47.26 38.2L39.88 38.2Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/usb-a.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M5.4 21.5L58.6 21.5A1.4 1.4 0 0 1 60 22.9L60 41.1A1.4 1.4 0 0 1 58.6 42.5L5.4 42.5A1.4 1.4 0 0 1 4 41.1L4 22.9A1.4 1.4 0 0 1 5.4 21.5Z"/></g>
+<g fill="#000"><path d="M8.67 23.6L55.33 23.6L55.33 32.47L8.67 32.47Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/usb-c.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M12.67 23.33L51.33 23.33A8.67 8.67 0 0 1 60 32L60 32A8.67 8.67 0 0 1 51.33 40.67L12.67 40.67A8.67 8.67 0 0 1 4 32L4 32A8.67 8.67 0 0 1 12.67 23.33Z"/></g>
+<g fill="#000"><path d="M11 29.67L53 29.67A1 1 0 0 1 54 30.67L54 33.33A1 1 0 0 1 53 34.33L11 34.33A1 1 0 0 1 10 33.33L10 30.67A1 1 0 0 1 11 29.67Z"/></g>
+</svg>

+ 4 - 0
netbox/project-static/img/connectors/power-outlet/usb-micro-b.svg

@@ -0,0 +1,4 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
+<g fill="none" stroke="#000" stroke-width="3" stroke-linejoin="round"><path d="M60 24.49L60 33.83L54.32 39.51L9.68 39.51L4 33.83L4 24.49Z"/></g>
+<g fill="#000"><path d="M11.71 26.52L52.29 26.52L52.29 30.17L11.71 30.17Z"/></g>
+</svg>

Некоторые файлы не были показаны из-за большого количества измененных файлов