homebridge-config-ui-x 5.4.2-beta.1 → 5.4.2-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/CHANGELOG.md +14 -5
  2. package/CLAUDE.md +112 -0
  3. package/dist/modules/accessories/accessories.service.js +5 -1
  4. package/dist/modules/accessories/accessories.service.js.map +1 -1
  5. package/dist/modules/plugins/plugins.service.d.ts +1 -0
  6. package/dist/modules/plugins/plugins.service.js +27 -15
  7. package/dist/modules/plugins/plugins.service.js.map +1 -1
  8. package/package.json +17 -12
  9. package/public/3rdpartylicenses.txt +0 -26
  10. package/public/{chunk-5EOLSGNC.js → chunk-2AUDO3YT.js} +1 -1
  11. package/public/chunk-3BY2YC6T.js +4 -0
  12. package/public/{chunk-KTUC5YRH.js → chunk-447KMSW5.js} +1 -1
  13. package/public/{chunk-KT7FH6PP.js → chunk-4N2RTOW6.js} +1 -1
  14. package/public/{chunk-ZUTM7S4U.js → chunk-4WAU3AJS.js} +1 -1
  15. package/public/chunk-54ET3HHS.js +1 -0
  16. package/public/{chunk-7N3D3R4N.js → chunk-5H52XZ6O.js} +1 -1
  17. package/public/{chunk-QX6BFGHZ.js → chunk-5TCYRJ6A.js} +1 -1
  18. package/public/{chunk-OA7Y3E5A.js → chunk-6GMXEQVA.js} +2 -2
  19. package/public/{chunk-TLDD55XE.js → chunk-76EVYYMU.js} +1 -1
  20. package/public/{chunk-D7VCPH6W.js → chunk-77JZBWAC.js} +1 -1
  21. package/public/chunk-A7KOVDDP.js +1 -0
  22. package/public/{chunk-FVKMBZOU.js → chunk-AE7VAWOU.js} +1 -1
  23. package/public/{chunk-5GTAKNFH.js → chunk-AQHDOCGY.js} +1 -1
  24. package/public/{chunk-GEOFZWCT.js → chunk-AXCC4J6O.js} +1 -1
  25. package/public/{chunk-PDR2DPWY.js → chunk-BMYHLJ4Z.js} +1 -1
  26. package/public/{chunk-WCOLHYTR.js → chunk-BU65ZOCD.js} +1 -1
  27. package/public/{chunk-7EQFLCW4.js → chunk-CNMM42I5.js} +1 -1
  28. package/public/{chunk-HWAWBYVQ.js → chunk-D3JHDB7S.js} +1 -1
  29. package/public/{chunk-JRG7ZOJK.js → chunk-D6CPRYC5.js} +1 -1
  30. package/public/{chunk-IWFKJHPR.js → chunk-EA3EXGPZ.js} +1 -1
  31. package/public/{chunk-F6VPU4OB.js → chunk-ESBJ735P.js} +1 -1
  32. package/public/{chunk-C26THLFD.js → chunk-EVTILPTO.js} +1 -1
  33. package/public/{chunk-KZKL7DGI.js → chunk-G7FA4DP4.js} +1 -1
  34. package/public/{chunk-PZDZMQIH.js → chunk-GP42LZHH.js} +1 -1
  35. package/public/{chunk-IOKYXV5M.js → chunk-H36QJYLQ.js} +3 -3
  36. package/public/{chunk-WTDK2HE6.js → chunk-H3PPMCMP.js} +1 -1
  37. package/public/chunk-H4W6IHVS.js +40 -0
  38. package/public/chunk-HEGPM62I.js +30 -0
  39. package/public/{chunk-55WWMXPN.js → chunk-HXT4SHE6.js} +1 -1
  40. package/public/{chunk-3ELSLPXD.js → chunk-HYPOP2EP.js} +1 -1
  41. package/public/{chunk-5E4D6S2D.js → chunk-I2TETZLW.js} +1 -1
  42. package/public/{chunk-JLWMZIYV.js → chunk-IQS2UE5Y.js} +1 -1
  43. package/public/{chunk-MF4B4RDR.js → chunk-KLJT4NEV.js} +1 -1
  44. package/public/{chunk-UFWMJUXF.js → chunk-L4V3CVWY.js} +1 -1
  45. package/public/{chunk-R3YDN2RN.js → chunk-LG4MCRG7.js} +1 -1
  46. package/public/{chunk-BIUKRAP5.js → chunk-LIQTQ5UM.js} +1 -1
  47. package/public/{chunk-CMOVUX6R.js → chunk-LPHTUMGC.js} +1 -1
  48. package/public/{chunk-IJVEKP7K.js → chunk-MEVZTYFM.js} +1 -1
  49. package/public/chunk-MWLXH2WO.js +1 -0
  50. package/public/{chunk-2C3X2ESN.js → chunk-NFWGYMP7.js} +1 -1
  51. package/public/{chunk-FXJWZ2UF.js → chunk-NJOBXAPT.js} +1 -1
  52. package/public/{chunk-NCU34GBK.js → chunk-NPTU3Q33.js} +1 -1
  53. package/public/{chunk-RHKVQD3P.js → chunk-NSYEZ34R.js} +1 -1
  54. package/public/{chunk-K4XV2HUU.js → chunk-ORSHJEJW.js} +1 -1
  55. package/public/{chunk-OIVH2FRT.js → chunk-P5ZQVV5O.js} +1 -1
  56. package/public/{chunk-4LTZ5TVN.js → chunk-PJZVEG7P.js} +1 -1
  57. package/public/chunk-PNGS72JD.js +1 -0
  58. package/public/{chunk-NFOWCDOY.js → chunk-QJLRIYZC.js} +1 -1
  59. package/public/chunk-QORWJ4OP.js +1 -0
  60. package/public/{chunk-BWE5NZTG.js → chunk-RDXZFFUN.js} +1 -1
  61. package/public/{chunk-FBHFDXKU.js → chunk-S3VLWXH2.js} +1 -1
  62. package/public/{chunk-2PQCVYHY.js → chunk-SHW4DQ7G.js} +1 -1
  63. package/public/{chunk-Z2T4OZ7I.js → chunk-TGOCI72Q.js} +1 -1
  64. package/public/{chunk-V6JVOQNN.js → chunk-UHWT4HS2.js} +1 -1
  65. package/public/chunk-UOLP7IQJ.js +1 -0
  66. package/public/{chunk-6PGTBS2L.js → chunk-USXSMG2A.js} +1 -1
  67. package/public/{chunk-H5WTK5UT.js → chunk-V2P2FPJ7.js} +1 -1
  68. package/public/{chunk-K2DLW4M4.js → chunk-VCW3X3YF.js} +1 -1
  69. package/public/{chunk-FVLGW5AW.js → chunk-VLDRDEFR.js} +1 -1
  70. package/public/{chunk-TEEROAPU.js → chunk-WC5MFFHY.js} +1 -1
  71. package/public/{chunk-HWHM6ACA.js → chunk-WFYRC664.js} +1 -1
  72. package/public/chunk-X74DIMPI.js +1 -0
  73. package/public/{chunk-Y6ETBMB7.js → chunk-XLRMIDFZ.js} +1 -1
  74. package/public/{chunk-PKLEEBKP.js → chunk-Y5FMCZDS.js} +1 -1
  75. package/public/{chunk-H45DK7IX.js → chunk-YATJTZML.js} +1 -1
  76. package/public/{chunk-GRC6QQGR.js → chunk-Z7PXW5TK.js} +1 -1
  77. package/public/{chunk-J6CJ26QN.js → chunk-ZHPB347D.js} +1 -1
  78. package/public/{chunk-4LKN5WQ2.js → chunk-ZMG3XTQO.js} +1 -1
  79. package/public/index.html +2 -2
  80. package/public/main-BXUQQISD.js +1 -0
  81. package/public/{styles-LKRXKJ7O.css → styles-AUT3PDLG.css} +1 -1
  82. package/public/assets/hap-icons/light-bulb.svg +0 -25
  83. package/public/assets/hap-icons/outlet.svg +0 -25
  84. package/public/assets/hap-icons/switch.svg +0 -25
  85. package/public/assets/hap-icons/unknown.svg +0 -25
  86. package/public/assets/service-icons/air-purifier.svg +0 -50
  87. package/public/assets/service-icons/air-quality-sensor.svg +0 -30
  88. package/public/assets/service-icons/carbon-dioxide-sensor.svg +0 -53
  89. package/public/assets/service-icons/carbon-monoxide-sensor.svg +0 -53
  90. package/public/assets/service-icons/contact-sensor.svg +0 -45
  91. package/public/assets/service-icons/door.svg +0 -49
  92. package/public/assets/service-icons/doorbell.svg +0 -7
  93. package/public/assets/service-icons/fan.svg +0 -15
  94. package/public/assets/service-icons/filter-maintenance.svg +0 -54
  95. package/public/assets/service-icons/garage-door.svg +0 -120
  96. package/public/assets/service-icons/irrigation-system.svg +0 -34
  97. package/public/assets/service-icons/leak-sensor.svg +0 -42
  98. package/public/assets/service-icons/light-sensor.svg +0 -34
  99. package/public/assets/service-icons/lock-mechanism.svg +0 -39
  100. package/public/assets/service-icons/microphone.svg +0 -12
  101. package/public/assets/service-icons/motion-sensor.svg +0 -84
  102. package/public/assets/service-icons/occupancy-sensor.svg +0 -49
  103. package/public/assets/service-icons/robot-vacuum.svg +0 -76
  104. package/public/assets/service-icons/security-system.svg +0 -19
  105. package/public/assets/service-icons/smoke-sensor.svg +0 -38
  106. package/public/assets/service-icons/speaker.svg +0 -28
  107. package/public/assets/service-icons/stateless-programmable-switch.svg +0 -18
  108. package/public/assets/service-icons/television.svg +0 -17
  109. package/public/assets/service-icons/valve-faucet.svg +0 -22
  110. package/public/assets/service-icons/valve-generic.svg +0 -25
  111. package/public/assets/service-icons/valve-irrigation.svg +0 -34
  112. package/public/assets/service-icons/valve-shower-head.svg +0 -32
  113. package/public/assets/service-icons/washing-machine.svg +0 -34
  114. package/public/assets/service-icons/window-covering.svg +0 -44
  115. package/public/assets/service-icons/window.svg +0 -71
  116. package/public/chunk-2FM5PPJA.js +0 -1
  117. package/public/chunk-3Q6PUSIQ.js +0 -30
  118. package/public/chunk-A34J5LMH.js +0 -1
  119. package/public/chunk-BFDH5H4M.js +0 -1
  120. package/public/chunk-DFFTJVRY.js +0 -1
  121. package/public/chunk-DQJTU7SJ.js +0 -1
  122. package/public/chunk-ETENXVXQ.js +0 -1
  123. package/public/chunk-GOUQJ6IU.js +0 -12
  124. package/public/chunk-JONTLP2T.js +0 -1
  125. package/public/chunk-ZAAYNVER.js +0 -4
  126. package/public/main-AAF4AVF2.js +0 -1
@@ -1,42 +0,0 @@
1
- <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
2
- <!-- outer casing -->
3
- <rect
4
- class="red-outline"
5
- x="3.5"
6
- y="1"
7
- width="25"
8
- height="30"
9
- rx="3"
10
- stroke="#7f7f7f"
11
- fill="none"
12
- stroke-width="1.2"
13
- />
14
-
15
- <!-- water droplet -->
16
- <g transform="translate(1.8, -4.3), scale(0.85)">
17
- <path
18
- d="M23.61 24.58C23.61 28.67 20.44 31.99 16.56 31.99C12.68 31.99 9.52 28.67 9.52 24.58C9.52 20.49 12.68 17.13 16.56 10.87C20.44 17.13 23.61 20.49 23.61 24.58Z"
19
- fill="#1976d2"
20
- fill-opacity="0.25"
21
- stroke="#7f7f7f"
22
- stroke-width="1"
23
- />
24
- </g>
25
-
26
- <!-- grille horizontal lines -->
27
- <line stroke-linecap="round" x1="7" y1="26" x2="25" y2="26" stroke="#7f7f7f" stroke-width="0.5" />
28
- <line stroke-linecap="round" x1="7" y1="27.5" x2="25" y2="27.5" stroke="#7f7f7f" stroke-width="0.5" />
29
- <line stroke-linecap="round" x1="7" y1="29" x2="25" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
30
-
31
- <!-- grille vertical lines -->
32
- <line stroke-linecap="round" x1="7" y1="26" x2="7" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
33
- <line stroke-linecap="round" x1="9" y1="26" x2="9" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
34
- <line stroke-linecap="round" x1="11" y1="26" x2="11" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
35
- <line stroke-linecap="round" x1="13" y1="26" x2="13" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
36
- <line stroke-linecap="round" x1="15" y1="26" x2="15" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
37
- <line stroke-linecap="round" x1="17" y1="26" x2="17" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
38
- <line stroke-linecap="round" x1="19" y1="26" x2="19" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
39
- <line stroke-linecap="round" x1="21" y1="26" x2="21" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
40
- <line stroke-linecap="round" x1="23" y1="26" x2="23" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
41
- <line stroke-linecap="round" x1="25" y1="26" x2="25" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
42
- </svg>
@@ -1,34 +0,0 @@
1
- <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
2
- <!-- outer casing -->
3
- <rect x="3.5" y="1" width="25" height="30" rx="3" stroke="#7f7f7f" fill="none" stroke-width="1.2" />
4
-
5
- <!-- sun outline -->
6
- <circle cx="16" cy="13.75" r="6" stroke="#ff9800" fill="none" stroke-width="1.2" stroke-opacity="0.5" />
7
-
8
- <!-- sun rays, top first going clockwise -->
9
- <line x1="16" y1="2.5" x2="16" y2="6.5" stroke="#ff9800" stroke-width="1.2" stroke-opacity="0.5" />
10
- <line x1="24" y1="5.5" x2="21" y2="8.5" stroke="#ff9800" stroke-width="1.2" stroke-opacity="0.5" />
11
- <line x1="23.25" y1="13.5" x2="27.25" y2="13.5" stroke="#ff9800" stroke-width="1.2" stroke-opacity="0.5" />
12
- <line x1="21.25" y1="18.75" x2="24.25" y2="21.75" stroke="#ff9800" stroke-width="1.2" stroke-opacity="0.5" />
13
- <line x1="16" y1="21" x2="16" y2="25" stroke="#ff9800" stroke-width="1.2" stroke-opacity="0.5" />
14
- <line x1="10.75" y1="18.75" x2="7.75" y2="21.75" stroke="#ff9800" stroke-width="1.2" stroke-opacity="0.5" />
15
- <line x1="4.75" y1="13.5" x2="8.75" y2="13.5" stroke="#ff9800" stroke-width="1.2" stroke-opacity="0.5" />
16
- <line x1="8" y1="5.5" x2="11" y2="8.5" stroke="#ff9800" stroke-width="1.2" stroke-opacity="0.5" />
17
-
18
- <!-- grille horizontal lines -->
19
- <line stroke-linecap="round" x1="7" y1="26" x2="25" y2="26" stroke="#7f7f7f" stroke-width="0.5" />
20
- <line stroke-linecap="round" x1="7" y1="27.5" x2="25" y2="27.5" stroke="#7f7f7f" stroke-width="0.5" />
21
- <line stroke-linecap="round" x1="7" y1="29" x2="25" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
22
-
23
- <!-- grille vertical lines -->
24
- <line stroke-linecap="round" x1="7" y1="26" x2="7" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
25
- <line stroke-linecap="round" x1="9" y1="26" x2="9" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
26
- <line stroke-linecap="round" x1="11" y1="26" x2="11" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
27
- <line stroke-linecap="round" x1="13" y1="26" x2="13" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
28
- <line stroke-linecap="round" x1="15" y1="26" x2="15" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
29
- <line stroke-linecap="round" x1="17" y1="26" x2="17" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
30
- <line stroke-linecap="round" x1="19" y1="26" x2="19" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
31
- <line stroke-linecap="round" x1="21" y1="26" x2="21" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
32
- <line stroke-linecap="round" x1="23" y1="26" x2="23" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
33
- <line stroke-linecap="round" x1="25" y1="26" x2="25" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
34
- </svg>
@@ -1,39 +0,0 @@
1
- <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
2
- <!-- shackle, locked -->
3
- <path
4
- d="M8 16 C6 -4, 26 -4, 24 16"
5
- fill="none"
6
- stroke="#7f7f7f"
7
- stroke-width="2"
8
- class="shackle-locked"
9
- stroke-linecap="round"
10
- stroke-linejoin="round"
11
- />
12
-
13
- <!-- shackle, unlocked -->
14
- <path
15
- d="M8 16 C6 -2, 22 -2, 24 7"
16
- fill="none"
17
- stroke="#7f7f7f"
18
- stroke-width="2"
19
- class="shackle-unlocked"
20
- stroke-linecap="round"
21
- stroke-linejoin="round"
22
- stroke-opacity="0"
23
- />
24
-
25
- <!-- main lock -->
26
- <rect x="5" y="16" width="22" height="15" rx="3" fill="none" stroke="#7f7f7f" stroke-width="2" />
27
-
28
- <!-- status keyhole -->
29
- <circle
30
- cx="16"
31
- cy="23.5"
32
- r="3"
33
- stroke="#7f7f7f"
34
- stroke-width="0.5"
35
- fill="#4caf50"
36
- fill-opacity="0.5"
37
- class="keyhole"
38
- />
39
- </svg>
@@ -1,12 +0,0 @@
1
- <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
2
- <!-- outer casing -->
3
- <rect x="6" y="1" width="18" height="30" rx="3" stroke="#7f7f7f" fill="none" stroke-width="2" />
4
-
5
- <!-- grille lines -->
6
- <line stroke-linecap="round" x1="10" y1="6" x2="20" y2="6" stroke="#7f7f7f" stroke-width="2" />
7
- <line stroke-linecap="round" x1="10" y1="10" x2="20" y2="10" stroke="#7f7f7f" stroke-width="2" />
8
- <line stroke-linecap="round" x1="10" y1="14" x2="20" y2="14" stroke="#7f7f7f" stroke-width="2" />
9
-
10
- <!-- power button -->
11
- <circle cx="15" cy="23" r="3" stroke="#7f7f7f" stroke-width="2" fill="#1976d2" fill-opacity="0.5" />
12
- </svg>
@@ -1,84 +0,0 @@
1
- <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
2
- <!-- outer casing -->
3
- <rect
4
- class="orange-outline"
5
- x="3.5"
6
- y="1"
7
- width="25"
8
- height="30"
9
- rx="3"
10
- stroke="#7f7f7f"
11
- fill="none"
12
- stroke-width="1.2"
13
- />
14
-
15
- <!-- human figure -->
16
- <g transform="translate(7, -0.75), scale(0.075)">
17
- <path
18
- d="M190.85 83.94C190.85 70.36 180.09 59.24 166.93 59.24C153.78 59.24 143.02 70.36 143.02 83.94C143.02 97.53 153.78 108.65 166.93 108.65C180.09 108.65 190.85 97.53 190.85 83.94Z"
19
- fill="#1976d2"
20
- fill-opacity="0.25"
21
- stroke="#7f7f7f"
22
- stroke-width="7"
23
- />
24
- <path
25
- d="M232.24 175.95C210.12 175.95 190.98 163.6 180.22 145.69C179.08 143.72 169.99 127.91 168.86 125.93C164.67 118.52 156.9 114.2 148.53 114.2C145.54 114.2 142.55 114.81 139.56 116.05C135.37 117.82 114.45 126.67 76.78 142.6L76.78 200.66L100.69 200.66L100.69 159.28L121.62 150.02L88.73 324.17L113.85 324.17L134.78 225.36L160.49 250.06L160.49 324.17L184.4 324.17L184.4 230.92L159.89 205.6C164.19 183.36 166.59 171.01 167.06 168.54C182.61 188.3 205.93 200.66 232.24 200.66C232.24 195.72 232.24 178.42 232.24 175.95Z"
26
- fill="#1976d2"
27
- fill-opacity="0.25"
28
- stroke="#7f7f7f"
29
- stroke-width="7"
30
- />
31
- </g>
32
-
33
- <!-- motion lines, top to bottom -->
34
- <rect
35
- x="9"
36
- y="9"
37
- width="2"
38
- height="1"
39
- rx="0.2"
40
- stroke="#7f7f7f"
41
- fill="#1976d2"
42
- fill-opacity="0.25"
43
- stroke-width="0.25"
44
- />
45
- <rect
46
- x="7"
47
- y="13"
48
- width="3"
49
- height="1"
50
- rx="0.2"
51
- stroke="#7f7f7f"
52
- fill="#1976d2"
53
- fill-opacity="0.25"
54
- stroke-width="0.25"
55
- />
56
- <rect
57
- x="8"
58
- y="17"
59
- width="4"
60
- height="1"
61
- rx="0.2"
62
- stroke="#7f7f7f"
63
- fill="#1976d2"
64
- fill-opacity="0.25"
65
- stroke-width="0.25"
66
- />
67
-
68
- <!-- grille horizontal lines -->
69
- <line stroke-linecap="round" x1="7" y1="26" x2="25" y2="26" stroke="#7f7f7f" stroke-width="0.5" />
70
- <line stroke-linecap="round" x1="7" y1="27.5" x2="25" y2="27.5" stroke="#7f7f7f" stroke-width="0.5" />
71
- <line stroke-linecap="round" x1="7" y1="29" x2="25" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
72
-
73
- <!-- grille vertical lines -->
74
- <line stroke-linecap="round" x1="7" y1="26" x2="7" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
75
- <line stroke-linecap="round" x1="9" y1="26" x2="9" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
76
- <line stroke-linecap="round" x1="11" y1="26" x2="11" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
77
- <line stroke-linecap="round" x1="13" y1="26" x2="13" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
78
- <line stroke-linecap="round" x1="15" y1="26" x2="15" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
79
- <line stroke-linecap="round" x1="17" y1="26" x2="17" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
80
- <line stroke-linecap="round" x1="19" y1="26" x2="19" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
81
- <line stroke-linecap="round" x1="21" y1="26" x2="21" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
82
- <line stroke-linecap="round" x1="23" y1="26" x2="23" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
83
- <line stroke-linecap="round" x1="25" y1="26" x2="25" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
84
- </svg>
@@ -1,49 +0,0 @@
1
- <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
2
- <!-- outer casing -->
3
- <rect
4
- class="orange-outline"
5
- x="3.5"
6
- y="1"
7
- width="25"
8
- height="30"
9
- rx="3"
10
- stroke="#7f7f7f"
11
- fill="none"
12
- stroke-width="1.2"
13
- />
14
-
15
- <!-- human figure -->
16
- <g transform="translate(4.75, -0.75), scale(0.075)">
17
- <path
18
- d="M190.85 83.94C190.85 70.36 180.09 59.24 166.93 59.24C153.78 59.24 143.02 70.36 143.02 83.94C143.02 97.53 153.78 108.65 166.93 108.65C180.09 108.65 190.85 97.53 190.85 83.94Z"
19
- fill="#ff9800"
20
- fill-opacity="0.25"
21
- stroke="#7f7f7f"
22
- stroke-width="7"
23
- />
24
- <path
25
- d="M232.24 175.95C210.12 175.95 190.98 163.6 180.22 145.69C179.08 143.72 169.99 127.91 168.86 125.93C164.67 118.52 156.9 114.2 148.53 114.2C145.54 114.2 142.55 114.81 139.56 116.05C135.37 117.82 114.45 126.67 76.78 142.6L76.78 200.66L100.69 200.66L100.69 159.28L121.62 150.02L88.73 324.17L113.85 324.17L134.78 225.36L160.49 250.06L160.49 324.17L184.4 324.17L184.4 230.92L159.89 205.6C164.19 183.36 166.59 171.01 167.06 168.54C182.61 188.3 205.93 200.66 232.24 200.66C232.24 195.72 232.24 178.42 232.24 175.95Z"
26
- fill="#ff9800"
27
- fill-opacity="0.25"
28
- stroke="#7f7f7f"
29
- stroke-width="7"
30
- />
31
- </g>
32
-
33
- <!-- grille horizontal lines -->
34
- <line stroke-linecap="round" x1="7" y1="26" x2="25" y2="26" stroke="#7f7f7f" stroke-width="0.5" />
35
- <line stroke-linecap="round" x1="7" y1="27.5" x2="25" y2="27.5" stroke="#7f7f7f" stroke-width="0.5" />
36
- <line stroke-linecap="round" x1="7" y1="29" x2="25" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
37
-
38
- <!-- grille vertical lines -->
39
- <line stroke-linecap="round" x1="7" y1="26" x2="7" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
40
- <line stroke-linecap="round" x1="9" y1="26" x2="9" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
41
- <line stroke-linecap="round" x1="11" y1="26" x2="11" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
42
- <line stroke-linecap="round" x1="13" y1="26" x2="13" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
43
- <line stroke-linecap="round" x1="15" y1="26" x2="15" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
44
- <line stroke-linecap="round" x1="17" y1="26" x2="17" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
45
- <line stroke-linecap="round" x1="19" y1="26" x2="19" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
46
- <line stroke-linecap="round" x1="21" y1="26" x2="21" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
47
- <line stroke-linecap="round" x1="23" y1="26" x2="23" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
48
- <line stroke-linecap="round" x1="25" y1="26" x2="25" y2="29" stroke="#7f7f7f" stroke-width="0.5" />
49
- </svg>
@@ -1,76 +0,0 @@
1
- <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
2
- <defs>
3
- <!-- clip lines to above the machine -->
4
- <clipPath id="motionClip">
5
- <rect x="0" y="-0.5" width="32" height="8" />
6
- </clipPath>
7
- </defs>
8
-
9
- <g transform="translate(0, 5)">
10
- <!-- main ellipse -->
11
- <ellipse cx="16" cy="10" rx="14" ry="8.4" stroke="#7f7f7f" stroke-width="1.75" fill="none" />
12
-
13
- <!-- side walls -->
14
- <line x1="2" y1="10" x2="2" y2="16" stroke="#7f7f7f" stroke-width="1.75" />
15
- <line x1="30" y1="10" x2="30" y2="16" stroke="#7f7f7f" stroke-width="1.75" />
16
-
17
- <!-- base arc -->
18
- <path d="M2,16 A14,6.9 0 0,0 30,16" stroke="#7f7f7f" stroke-width="1.75" fill="none" />
19
-
20
- <!-- blue ring -->
21
- <ellipse cx="16" cy="10" rx="4.2" ry="2.5" stroke="#7f7f7f" stroke-width="1" fill="#1976d2" fill-opacity="0.5" />
22
-
23
- <!-- power button -->
24
- <circle cx="16" cy="15" r="0.9" fill="#7f7f7f" />
25
-
26
- <!-- whisker brushes -->
27
- <line x1="2" y1="16" x2="0.5" y2="18.5" stroke="#7f7f7f" stroke-width="1" />
28
- <line x1="2" y1="16" x2="0.5" y2="14" stroke="#7f7f7f" stroke-width="1" />
29
- <line x1="30" y1="16" x2="31.5" y2="18.5" stroke="#7f7f7f" stroke-width="1" />
30
- <line x1="30" y1="16" x2="31.5" y2="14" stroke="#7f7f7f" stroke-width="1" />
31
- </g>
32
-
33
- <g class="motion-lines" style="display: none;" clip-path="url(#motionClip)" stroke="#7f7f7f" stroke-linecap="round">
34
- <!-- left line -->
35
- <line x1="12" y1="8" x2="12" y2="14" stroke-width="2.1" opacity="0">
36
- <animate attributeName="y1" values="8;0" dur="3s" begin="0.3s" repeatCount="indefinite" />
37
- <animate attributeName="y2" values="14;6" dur="3s" begin="0.3s" repeatCount="indefinite" />
38
- <animate
39
- attributeName="opacity"
40
- values="0;1;1;0"
41
- keyTimes="0;0.2;0.8;1"
42
- dur="3s"
43
- begin="0.3s"
44
- repeatCount="indefinite"
45
- />
46
- </line>
47
-
48
- <!-- middle line -->
49
- <line x1="16" y1="8" x2="16" y2="14" stroke-width="2.5" opacity="0">
50
- <animate attributeName="y1" values="8;0" dur="3s" begin="0.6s" repeatCount="indefinite" />
51
- <animate attributeName="y2" values="14;6" dur="3s" begin="0.6s" repeatCount="indefinite" />
52
- <animate
53
- attributeName="opacity"
54
- values="0;1;1;0"
55
- keyTimes="0;0.2;0.8;1"
56
- dur="3s"
57
- begin="0.6s"
58
- repeatCount="indefinite"
59
- />
60
- </line>
61
-
62
- <!-- right line -->
63
- <line x1="20" y1="8" x2="20" y2="14" stroke-width="2.1" opacity="0">
64
- <animate attributeName="y1" values="8;0" dur="3s" begin="0.9s" repeatCount="indefinite" />
65
- <animate attributeName="y2" values="14;6" dur="3s" begin="0.9s" repeatCount="indefinite" />
66
- <animate
67
- attributeName="opacity"
68
- values="0;1;1;0"
69
- keyTimes="0;0.2;0.8;1"
70
- dur="3s"
71
- begin="0.9s"
72
- repeatCount="indefinite"
73
- />
74
- </line>
75
- </g>
76
- </svg>
@@ -1,19 +0,0 @@
1
- <svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
2
- <!-- siren dome -->
3
- <path
4
- class="dome"
5
- d="M7 18 C7 5, 25 5, 25 18 V26 H7 V18 Z"
6
- fill="none"
7
- stroke="#7f7f7f"
8
- stroke-width="1.5"
9
- fill-opacity="0.5"
10
- />
11
-
12
- <!-- base -->
13
- <rect x="2" y="26" width="28" height="4" fill="none" stroke="#7f7f7f" stroke-width="1.5" rx="1" />
14
-
15
- <!-- light waves left to right -->
16
- <line class="ray" x1="6" y1="3" x2="10" y2="7" stroke-width="3" />
17
- <line class="ray" x1="16" y1="0" x2="16" y2="5" stroke-width="3" />
18
- <line class="ray" x1="26" y1="3" x2="22" y2="7" stroke-width="3" />
19
- </svg>
@@ -1,38 +0,0 @@
1
- <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
2
- <!-- outer casing -->
3
- <rect x="1" y="1" width="30" height="12" rx="1" stroke="#7f7f7f" fill="none" stroke-width="1.25" />
4
-
5
- <!-- alarm type -->
6
- <text
7
- class="type"
8
- text-anchor="middle"
9
- dominant-baseline="middle"
10
- font-family="Arial"
11
- font-size="7.5"
12
- x="16"
13
- y="7.7"
14
- fill="#7f7f7f"
15
- stroke-width="0.6"
16
- font-weight="900"
17
- >
18
- SMOKE
19
- </text>
20
-
21
- <!-- grille blue background -->
22
- <line x1="6" y1="14.5" x2="25.5" y2="14.5" stroke="#1976d2" stroke-opacity="0.5" stroke-width="2" />
23
-
24
- <!-- grille vertical lines -->
25
- <line stroke-linecap="round" x1="5" y1="13" x2="6.5" y2="16" stroke="#7f7f7f" stroke-width="1.25" />
26
- <line stroke-linecap="round" x1="11" y1="13" x2="11" y2="16" stroke="#7f7f7f" stroke-width="1" />
27
- <line stroke-linecap="round" x1="15.5" y1="13" x2="15.5" y2="16" stroke="#7f7f7f" stroke-width="1" />
28
- <line stroke-linecap="round" x1="20" y1="13" x2="20" y2="16" stroke="#7f7f7f" stroke-width="1" />
29
- <line stroke-linecap="round" x1="26" y1="13" x2="24.5" y2="16" stroke="#7f7f7f" stroke-width="1.25" />
30
-
31
- <!-- grille horizontal lines -->
32
- <line stroke-linecap="round" x1="6.5" y1="16" x2="24.5" y2="16" stroke="#7f7f7f" stroke-width="1.25" />
33
-
34
- <!-- left to right air lines -->
35
- <line stroke-linecap="round" x1="11" y1="21" x2="6" y2="27" stroke="#7f7f7f" stroke-width="1.25" class="air-line" />
36
- <line stroke-linecap="round" x1="16" y1="21" x2="16" y2="31" stroke="#7f7f7f" stroke-width="1.25" class="air-line" />
37
- <line stroke-linecap="round" x1="21" y1="21" x2="26" y2="27" stroke="#7f7f7f" stroke-width="1.25" class="air-line" />
38
- </svg>
@@ -1,28 +0,0 @@
1
- <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
2
- <!-- outer casing -->
3
- <rect x="6" y="1" width="20" height="30" rx="3" stroke="#7f7f7f" fill="none" stroke-width="1" />
4
-
5
- <!-- outer top speaker circle -->
6
- <circle cx="16" cy="9" r="4.5" stroke="#7f7f7f" stroke-width="0" fill="#7f7f7f" />
7
-
8
- <!-- inner top speaker circle -->
9
- <circle class="inner" cx="16" cy="9" r="1.5" stroke="#7f7f7f" stroke-width="0" fill="#e1e1e1" />
10
-
11
- <!-- outer bottom speaker circle -->
12
- <circle cx="16" cy="22" r="6" stroke="#7f7f7f" stroke-width="0" fill="#7f7f7f" />
13
-
14
- <!-- inner bottom speaker circle -->
15
- <circle class="inner" cx="16" cy="22" r="2" stroke="#7f7f7f" stroke-width="0" fill="#e1e1e1" />
16
-
17
- <!-- inner left sound wave -->
18
- <path class="wave-inner" d="M4,12 Q1,16 4,20" stroke="#1976d2" fill="none" stroke-width="1" stroke-opacity="0" />
19
-
20
- <!-- outer left sound wave -->
21
- <path class="wave-outer" d="M3,10 Q-2,16 3,22" stroke="#1976d2" fill="none" stroke-width="1" stroke-opacity="0" />
22
-
23
- <!-- inner right sound wave -->
24
- <path class="wave-inner" d="M28,12 Q31,16 28,20" stroke="#1976d2" fill="none" stroke-width="1" stroke-opacity="0" />
25
-
26
- <!-- outer right sound wave -->
27
- <path class="wave-outer" d="M29,10 Q34,16 29,22" stroke="#1976d2" fill="none" stroke-width="1" stroke-opacity="0" />
28
- </svg>
@@ -1,18 +0,0 @@
1
- <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
2
- <!-- frame -->
3
- <rect x="1" y="1" width="30" height="30" rx="3" stroke="#7f7f7f" fill="none" stroke-width="2" />
4
-
5
- <!-- single click -->
6
- <circle class="single" cx="8.5" cy="9.5" r="5" stroke="#7f7f7f" stroke-width="1" fill="none" fill-opacity="0.5" />
7
-
8
- <!-- double click, outer then inner -->
9
- <circle class="double" cx="23.5" cy="9.5" r="5" stroke="#7f7f7f" stroke-width="1" fill="none" fill-opacity="0.5" />
10
- <circle cx="23.5" cy="9.5" r="3" stroke="#7f7f7f" stroke-width="1" fill="none" />
11
-
12
- <!-- long click -->
13
- <circle class="long" cx="16" cy="23.5" r="5" stroke="#7f7f7f" stroke-width="1" fill="none" fill-opacity="0.5" />
14
-
15
- <!-- long click lies, left then right -->
16
- <line x1="5" y1="23.5" x2="11" y2="23.5" stroke="#7f7f7f" stroke-width="0.5" stroke-linecap="round" />
17
- <line x1="21" y1="23.5" x2="27" y2="23.5" stroke="#7f7f7f" stroke-width="0.5" stroke-linecap="round" />
18
- </svg>
@@ -1,17 +0,0 @@
1
- <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
2
- <!-- stand -->
3
- <line
4
- class="stand"
5
- x1="10"
6
- y1="27.25"
7
- x2="22"
8
- y2="27.25"
9
- stroke="#d32f2f"
10
- stroke-width="4"
11
- stroke-linecap="round"
12
- stroke-opacity="0.75"
13
- />
14
-
15
- <!-- frame -->
16
- <rect class="screen" x="1" y="6" width="30" height="20" rx="2" stroke="#7f7f7f" fill="#808080" stroke-width="1.5" />
17
- </svg>
@@ -1,22 +0,0 @@
1
- <svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
2
- <!-- sink -->
3
- <rect class="sink" x="-3" y="28" width="21" height="6.5" fill="#7f7f7f" stroke-width="0" fill-opacity="0.5" />
4
-
5
- <!-- cold tap -->
6
- <line stroke-linecap="round" x1="24" y1="18" x2="26" y2="18" stroke="#1976d2" stroke-width="3" stroke-opacity="0.5" />
7
-
8
- <!-- hot tap -->
9
- <line stroke-linecap="round" x1="20" y1="18" x2="22" y2="18" stroke="#d32f2f" stroke-width="3" stroke-opacity="0.5" />
10
-
11
- <!-- tap outline -->
12
- <rect x="19" y="16.5" rx="1" width="8" height="3" fill="none" stroke-width="1" stroke="#7f7f7f" />
13
-
14
- <!-- tap shape -->
15
- <path d="M10 9 C10 -1, 23 -1, 23 10 V26" fill="none" stroke="#7f7f7f" stroke-width="2" />
16
-
17
- <!-- water -->
18
- <line class="stream" x1="10" y1="9" x2="10" y2="28" stroke="#1976d2" stroke-opacity="0" stroke-width="1.5" />
19
-
20
- <!-- tap base -->
21
- <line x1="20" y1="31" x2="26" y2="31" stroke="#7f7f7f" stroke-width="10" stroke-linecap="round" />
22
- </svg>
@@ -1,25 +0,0 @@
1
- <svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
2
- <!-- top twister -->
3
- <line x1="8" y1="3" x2="14" y2="3" stroke="#7f7f7f" stroke-width="3" stroke-linecap="round" />
4
-
5
- <!-- twister to main pipe -->
6
- <line x1="11" y1="8" x2="11" y2="3" stroke="#7f7f7f" stroke-width="3" stroke-linecap="round" />
7
-
8
- <!-- main pipe -->
9
- <line x1="0" y1="9" x2="21" y2="9" stroke="#7f7f7f" stroke-width="4" stroke-linecap="round" />
10
-
11
- <!-- nozzle -->
12
- <line x1="21" y1="9" x2="21" y2="14" stroke="#7f7f7f" stroke-width="4" stroke-linecap="round" />
13
-
14
- <!-- top row of drops -->
15
- <circle class="drop drop-top" fill="#1976d2" fill-opacity="0" cx="21" cy="19" r="1.5" />
16
-
17
- <!-- middle row of drops -->
18
- <circle class="drop drop-middle" fill="#1976d2" fill-opacity="0" cx="17" cy="24" r="1.5" />
19
- <circle class="drop drop-middle" fill="#1976d2" fill-opacity="0" cx="25" cy="24" r="1.5" />
20
-
21
- <!-- bottom row of drops -->
22
- <circle class="drop drop-bottom" fill="#1976d2" fill-opacity="0" cx="13" cy="29" r="1.5" />
23
- <circle class="drop drop-bottom" fill="#1976d2" fill-opacity="0" cx="21" cy="29" r="1.5" />
24
- <circle class="drop drop-bottom" fill="#1976d2" fill-opacity="0" cx="29" cy="29" r="1.5" />
25
- </svg>
@@ -1,34 +0,0 @@
1
- <svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
2
- <!-- small drops, left to right -->
3
- <circle class="drop drop-out" fill="#1976d2" fill-opacity="0" cx="1" cy="16" r="1" />
4
- <circle class="drop drop-out" fill="#1976d2" fill-opacity="0" cx="6" cy="8" r="1" />
5
- <circle class="drop drop-out" fill="#1976d2" fill-opacity="0" cx="16" cy="4" r="1" />
6
- <circle class="drop drop-out" fill="#1976d2" fill-opacity="0" cx="26" cy="8" r="1" />
7
- <circle class="drop drop-out" fill="#1976d2" fill-opacity="0" cx="31" cy="16" r="1" />
8
-
9
- <!-- large drops, left to right -->
10
- <circle class="drop drop-in" fill="#1976d2" fill-opacity="0" cx="7" cy="16" r="1.5" />
11
- <circle class="drop drop-in" fill="#1976d2" fill-opacity="0" cx="25" cy="16" r="1.5" />
12
- <circle class="drop drop-in" fill="#1976d2" fill-opacity="0" cx="10.5" cy="11.5" r="1.5" />
13
- <circle class="drop drop-in" fill="#1976d2" fill-opacity="0" cx="21.5" cy="11.5" r="1.5" />
14
- <circle class="drop drop-in" fill="#1976d2" fill-opacity="0" cx="16" cy="9" r="1.5" />
15
-
16
- <!-- vertical pipe -->
17
- <line x1="16" y1="16" x2="16" y2="31" stroke="#7f7f7f" stroke-width="2" stroke-linecap="round" />
18
-
19
- <!-- spout -->
20
- <line x1="14" y1="16" x2="18" y2="16" stroke="#7f7f7f" stroke-width="4" stroke-linecap="round" />
21
-
22
- <!-- grass -->
23
- <line
24
- class="grass"
25
- x1="4"
26
- y1="31"
27
- x2="28"
28
- y2="31"
29
- stroke="#7f7f7f"
30
- stroke-opacity="0.5"
31
- stroke-width="10"
32
- stroke-linecap="round"
33
- />
34
- </svg>
@@ -1,32 +0,0 @@
1
- <svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
2
- <!-- top horizontal pipe -->
3
- <line x1="1" y1="1" x2="16" y2="1" stroke="#7f7f7f" stroke-width="2" stroke-linecap="round" />
4
-
5
- <!-- left vertical pipe -->
6
- <line x1="1" y1="1" x2="1" y2="31" stroke="#7f7f7f" stroke-width="2" stroke-linecap="round" />
7
-
8
- <!-- pipe to head -->
9
- <line x1="16" y1="1" x2="16" y2="3" stroke="#7f7f7f" stroke-width="2" stroke-linecap="round" />
10
-
11
- <!-- shower head -->
12
- <path d="M8 11 A8 7 0 0 1 24 11" fill="none" stroke="#7f7f7f" stroke-width="2" />
13
- <line x1="7" y1="11" x2="25" y2="11" stroke="#7f7f7f" stroke-width="2" stroke-linecap="round" />
14
-
15
- <!-- large drops, left to right -->
16
- <circle class="drop drop-top" fill="#1976d2" fill-opacity="0" cx="8" cy="16" r="1.25" />
17
- <circle class="drop drop-top" fill="#1976d2" fill-opacity="0" cx="13.3" cy="16" r="1.25" />
18
- <circle class="drop drop-top" fill="#1976d2" fill-opacity="0" cx="18.6" cy="16" r="1.25" />
19
- <circle class="drop drop-top" fill="#1976d2" fill-opacity="0" cx="24" cy="16" r="1.25" />
20
-
21
- <!-- middle drops, left to right -->
22
- <circle class="drop drop-middle" fill="#1976d2" fill-opacity="0" cx="8" cy="22" r="1" />
23
- <circle class="drop drop-middle" fill="#1976d2" fill-opacity="0" cx="13.3" cy="22" r="1" />
24
- <circle class="drop drop-middle" fill="#1976d2" fill-opacity="0" cx="18.6" cy="22" r="1" />
25
- <circle class="drop drop-middle" fill="#1976d2" fill-opacity="0" cx="24" cy="22" r="1" />
26
-
27
- <!-- small drops, left to right -->
28
- <circle class="drop drop-bottom" fill="#1976d2" fill-opacity="0" cx="8" cy="28" r="0.75" />
29
- <circle class="drop drop-bottom" fill="#1976d2" fill-opacity="0" cx="13.3" cy="28" r="0.75" />
30
- <circle class="drop drop-bottom" fill="#1976d2" fill-opacity="0" cx="18.6" cy="28" r="0.75" />
31
- <circle class="drop drop-bottom" fill="#1976d2" fill-opacity="0" cx="24" cy="28" r="0.75" />
32
- </svg>
@@ -1,34 +0,0 @@
1
- <svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
2
- <!-- outer casing -->
3
- <rect x="3" y="1" width="25" height="30" rx="2" stroke="#7f7f7f" fill="none" stroke-width="1.2" />
4
-
5
- <!-- top drawer -->
6
- <rect x="6" y="4" width="5" rx="0.5" height="4" stroke="#7f7f7f" fill="none" stroke-width="0.5" />
7
- <rect x="7" y="6" width="3" rx="0.25" height="1" stroke="#7f7f7f" fill="none" stroke-width="0.25" />
8
-
9
- <!-- control panel + buttons -->
10
- <rect x="14" y="4" width="11" height="4" rx="0.5" fill="none" stroke="#7f7f7f" stroke-width="0.5" />
11
- <rect
12
- x="19"
13
- y="5"
14
- width="5"
15
- height="2"
16
- rx="0.25"
17
- fill="#1976d2"
18
- fill-opacity="0.5"
19
- stroke="#7f7f7f"
20
- stroke-width="0.25"
21
- />
22
- <rect x="15" y="5" width="1" height="1" rx="0.25" fill="none" stroke="#7f7f7f" stroke-width="0.25" />
23
- <rect x="16" y="5" width="1" height="1" rx="0.25" fill="none" stroke="#7f7f7f" stroke-width="0.25" />
24
- <rect x="17" y="5" width="1" height="1" rx="0.25" fill="none" stroke="#7f7f7f" stroke-width="0.25" />
25
- <rect x="15" y="6" width="1" height="1" rx="0.25" fill="none" stroke="#7f7f7f" stroke-width="0.25" />
26
- <rect x="16" y="6" width="1" height="1" rx="0.25" fill="none" stroke="#7f7f7f" stroke-width="0.25" />
27
- <rect x="17" y="6" width="1" height="1" rx="0.25" fill="none" stroke="#7f7f7f" stroke-width="0.25" />
28
-
29
- <!-- drum handle -->
30
- <rect class="handle" x="19" y="15.5" rx="1" width="3" height="3" fill="#7f7f7f" />
31
-
32
- <!-- drum -->
33
- <circle cx="15.5" cy="17" r="6.5" stroke="#7f7f7f" fill="none" stroke-width="1.2" />
34
- </svg>