Skip to main content

dioxus_icons_feather/
lib.rs

1// Auto Generated! DO NOT EDIT!
2
3use dioxus::prelude::*;
4pub use dioxus_icon_component::{Icon, IconProps, IconShape};
5
6
7#[derive(Default, Copy, Clone, PartialEq, Eq)]
8pub struct Activity;
9
10impl IconShape for Activity {
11    fn child_elements(&self) -> Element {
12        rsx!(polyline {
13        points: "22 12 18 12 15 21 9 3 6 12 2 12",
14            })
15    }
16
17    const WIDTH: Option<&'static str> = Some("24");
18    const HEIGHT: Option<&'static str> = Some("24");
19    const FILL: Option<&'static str> = Some("none");
20    const STROKE: Option<&'static str> = Some("currentColor");
21    const STROKE_WIDTH: Option<&'static str> = Some("2");
22    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
23    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
24    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
25
26}
27
28#[derive(Default, Copy, Clone, PartialEq, Eq)]
29pub struct Airplay;
30
31impl IconShape for Airplay {
32    fn child_elements(&self) -> Element {
33        rsx!(path {
34        d: "M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1",
35            }
36polygon {
37        points: "12 15 17 21 7 21 12 15",
38            })
39    }
40
41    const WIDTH: Option<&'static str> = Some("24");
42    const HEIGHT: Option<&'static str> = Some("24");
43    const FILL: Option<&'static str> = Some("none");
44    const STROKE: Option<&'static str> = Some("currentColor");
45    const STROKE_WIDTH: Option<&'static str> = Some("2");
46    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
47    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
48    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
49
50}
51
52#[derive(Default, Copy, Clone, PartialEq, Eq)]
53pub struct AlertCircle;
54
55impl IconShape for AlertCircle {
56    fn child_elements(&self) -> Element {
57        rsx!(circle {
58        cx: "12",
59        cy: "12",
60        r: "10",
61            }
62line {
63        x1: "12",
64        x2: "12",
65        y1: "8",
66        y2: "12",
67            }
68line {
69        x1: "12",
70        x2: "12.01",
71        y1: "16",
72        y2: "16",
73            })
74    }
75
76    const WIDTH: Option<&'static str> = Some("24");
77    const HEIGHT: Option<&'static str> = Some("24");
78    const FILL: Option<&'static str> = Some("none");
79    const STROKE: Option<&'static str> = Some("currentColor");
80    const STROKE_WIDTH: Option<&'static str> = Some("2");
81    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
82    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
83    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
84
85}
86
87#[derive(Default, Copy, Clone, PartialEq, Eq)]
88pub struct AlertOctagon;
89
90impl IconShape for AlertOctagon {
91    fn child_elements(&self) -> Element {
92        rsx!(polygon {
93        points: "7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2",
94            }
95line {
96        x1: "12",
97        x2: "12",
98        y1: "8",
99        y2: "12",
100            }
101line {
102        x1: "12",
103        x2: "12.01",
104        y1: "16",
105        y2: "16",
106            })
107    }
108
109    const WIDTH: Option<&'static str> = Some("24");
110    const HEIGHT: Option<&'static str> = Some("24");
111    const FILL: Option<&'static str> = Some("none");
112    const STROKE: Option<&'static str> = Some("currentColor");
113    const STROKE_WIDTH: Option<&'static str> = Some("2");
114    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
115    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
116    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
117
118}
119
120#[derive(Default, Copy, Clone, PartialEq, Eq)]
121pub struct AlertTriangle;
122
123impl IconShape for AlertTriangle {
124    fn child_elements(&self) -> Element {
125        rsx!(path {
126        d: "M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z",
127            }
128line {
129        x1: "12",
130        x2: "12",
131        y1: "9",
132        y2: "13",
133            }
134line {
135        x1: "12",
136        x2: "12.01",
137        y1: "17",
138        y2: "17",
139            })
140    }
141
142    const WIDTH: Option<&'static str> = Some("24");
143    const HEIGHT: Option<&'static str> = Some("24");
144    const FILL: Option<&'static str> = Some("none");
145    const STROKE: Option<&'static str> = Some("currentColor");
146    const STROKE_WIDTH: Option<&'static str> = Some("2");
147    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
148    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
149    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
150
151}
152
153#[derive(Default, Copy, Clone, PartialEq, Eq)]
154pub struct AlignCenter;
155
156impl IconShape for AlignCenter {
157    fn child_elements(&self) -> Element {
158        rsx!(line {
159        x1: "18",
160        x2: "6",
161        y1: "10",
162        y2: "10",
163            }
164line {
165        x1: "21",
166        x2: "3",
167        y1: "6",
168        y2: "6",
169            }
170line {
171        x1: "21",
172        x2: "3",
173        y1: "14",
174        y2: "14",
175            }
176line {
177        x1: "18",
178        x2: "6",
179        y1: "18",
180        y2: "18",
181            })
182    }
183
184    const WIDTH: Option<&'static str> = Some("24");
185    const HEIGHT: Option<&'static str> = Some("24");
186    const FILL: Option<&'static str> = Some("none");
187    const STROKE: Option<&'static str> = Some("currentColor");
188    const STROKE_WIDTH: Option<&'static str> = Some("2");
189    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
190    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
191    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
192
193}
194
195#[derive(Default, Copy, Clone, PartialEq, Eq)]
196pub struct AlignJustify;
197
198impl IconShape for AlignJustify {
199    fn child_elements(&self) -> Element {
200        rsx!(line {
201        x1: "21",
202        x2: "3",
203        y1: "10",
204        y2: "10",
205            }
206line {
207        x1: "21",
208        x2: "3",
209        y1: "6",
210        y2: "6",
211            }
212line {
213        x1: "21",
214        x2: "3",
215        y1: "14",
216        y2: "14",
217            }
218line {
219        x1: "21",
220        x2: "3",
221        y1: "18",
222        y2: "18",
223            })
224    }
225
226    const WIDTH: Option<&'static str> = Some("24");
227    const HEIGHT: Option<&'static str> = Some("24");
228    const FILL: Option<&'static str> = Some("none");
229    const STROKE: Option<&'static str> = Some("currentColor");
230    const STROKE_WIDTH: Option<&'static str> = Some("2");
231    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
232    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
233    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
234
235}
236
237#[derive(Default, Copy, Clone, PartialEq, Eq)]
238pub struct AlignLeft;
239
240impl IconShape for AlignLeft {
241    fn child_elements(&self) -> Element {
242        rsx!(line {
243        x1: "17",
244        x2: "3",
245        y1: "10",
246        y2: "10",
247            }
248line {
249        x1: "21",
250        x2: "3",
251        y1: "6",
252        y2: "6",
253            }
254line {
255        x1: "21",
256        x2: "3",
257        y1: "14",
258        y2: "14",
259            }
260line {
261        x1: "17",
262        x2: "3",
263        y1: "18",
264        y2: "18",
265            })
266    }
267
268    const WIDTH: Option<&'static str> = Some("24");
269    const HEIGHT: Option<&'static str> = Some("24");
270    const FILL: Option<&'static str> = Some("none");
271    const STROKE: Option<&'static str> = Some("currentColor");
272    const STROKE_WIDTH: Option<&'static str> = Some("2");
273    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
274    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
275    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
276
277}
278
279#[derive(Default, Copy, Clone, PartialEq, Eq)]
280pub struct AlignRight;
281
282impl IconShape for AlignRight {
283    fn child_elements(&self) -> Element {
284        rsx!(line {
285        x1: "21",
286        x2: "7",
287        y1: "10",
288        y2: "10",
289            }
290line {
291        x1: "21",
292        x2: "3",
293        y1: "6",
294        y2: "6",
295            }
296line {
297        x1: "21",
298        x2: "3",
299        y1: "14",
300        y2: "14",
301            }
302line {
303        x1: "21",
304        x2: "7",
305        y1: "18",
306        y2: "18",
307            })
308    }
309
310    const WIDTH: Option<&'static str> = Some("24");
311    const HEIGHT: Option<&'static str> = Some("24");
312    const FILL: Option<&'static str> = Some("none");
313    const STROKE: Option<&'static str> = Some("currentColor");
314    const STROKE_WIDTH: Option<&'static str> = Some("2");
315    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
316    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
317    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
318
319}
320
321#[derive(Default, Copy, Clone, PartialEq, Eq)]
322pub struct Anchor;
323
324impl IconShape for Anchor {
325    fn child_elements(&self) -> Element {
326        rsx!(circle {
327        cx: "12",
328        cy: "5",
329        r: "3",
330            }
331line {
332        x1: "12",
333        x2: "12",
334        y1: "22",
335        y2: "8",
336            }
337path {
338        d: "M5 12H2a10 10 0 0 0 20 0h-3",
339            })
340    }
341
342    const WIDTH: Option<&'static str> = Some("24");
343    const HEIGHT: Option<&'static str> = Some("24");
344    const FILL: Option<&'static str> = Some("none");
345    const STROKE: Option<&'static str> = Some("currentColor");
346    const STROKE_WIDTH: Option<&'static str> = Some("2");
347    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
348    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
349    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
350
351}
352
353#[derive(Default, Copy, Clone, PartialEq, Eq)]
354pub struct Aperture;
355
356impl IconShape for Aperture {
357    fn child_elements(&self) -> Element {
358        rsx!(circle {
359        cx: "12",
360        cy: "12",
361        r: "10",
362            }
363line {
364        x1: "14.31",
365        x2: "20.05",
366        y1: "8",
367        y2: "17.94",
368            }
369line {
370        x1: "9.69",
371        x2: "21.17",
372        y1: "8",
373        y2: "8",
374            }
375line {
376        x1: "7.38",
377        x2: "13.12",
378        y1: "12",
379        y2: "2.06",
380            }
381line {
382        x1: "9.69",
383        x2: "3.95",
384        y1: "16",
385        y2: "6.06",
386            }
387line {
388        x1: "14.31",
389        x2: "2.83",
390        y1: "16",
391        y2: "16",
392            }
393line {
394        x1: "16.62",
395        x2: "10.88",
396        y1: "12",
397        y2: "21.94",
398            })
399    }
400
401    const WIDTH: Option<&'static str> = Some("24");
402    const HEIGHT: Option<&'static str> = Some("24");
403    const FILL: Option<&'static str> = Some("none");
404    const STROKE: Option<&'static str> = Some("currentColor");
405    const STROKE_WIDTH: Option<&'static str> = Some("2");
406    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
407    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
408    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
409
410}
411
412#[derive(Default, Copy, Clone, PartialEq, Eq)]
413pub struct Archive;
414
415impl IconShape for Archive {
416    fn child_elements(&self) -> Element {
417        rsx!(polyline {
418        points: "21 8 21 21 3 21 3 8",
419            }
420rect {
421        height: "5",
422        width: "22",
423        x: "1",
424        y: "3",
425            }
426line {
427        x1: "10",
428        x2: "14",
429        y1: "12",
430        y2: "12",
431            })
432    }
433
434    const WIDTH: Option<&'static str> = Some("24");
435    const HEIGHT: Option<&'static str> = Some("24");
436    const FILL: Option<&'static str> = Some("none");
437    const STROKE: Option<&'static str> = Some("currentColor");
438    const STROKE_WIDTH: Option<&'static str> = Some("2");
439    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
440    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
441    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
442
443}
444
445#[derive(Default, Copy, Clone, PartialEq, Eq)]
446pub struct ArrowDown;
447
448impl IconShape for ArrowDown {
449    fn child_elements(&self) -> Element {
450        rsx!(line {
451        x1: "12",
452        x2: "12",
453        y1: "5",
454        y2: "19",
455            }
456polyline {
457        points: "19 12 12 19 5 12",
458            })
459    }
460
461    const WIDTH: Option<&'static str> = Some("24");
462    const HEIGHT: Option<&'static str> = Some("24");
463    const FILL: Option<&'static str> = Some("none");
464    const STROKE: Option<&'static str> = Some("currentColor");
465    const STROKE_WIDTH: Option<&'static str> = Some("2");
466    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
467    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
468    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
469
470}
471
472#[derive(Default, Copy, Clone, PartialEq, Eq)]
473pub struct ArrowDownCircle;
474
475impl IconShape for ArrowDownCircle {
476    fn child_elements(&self) -> Element {
477        rsx!(circle {
478        cx: "12",
479        cy: "12",
480        r: "10",
481            }
482polyline {
483        points: "8 12 12 16 16 12",
484            }
485line {
486        x1: "12",
487        x2: "12",
488        y1: "8",
489        y2: "16",
490            })
491    }
492
493    const WIDTH: Option<&'static str> = Some("24");
494    const HEIGHT: Option<&'static str> = Some("24");
495    const FILL: Option<&'static str> = Some("none");
496    const STROKE: Option<&'static str> = Some("currentColor");
497    const STROKE_WIDTH: Option<&'static str> = Some("2");
498    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
499    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
500    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
501
502}
503
504#[derive(Default, Copy, Clone, PartialEq, Eq)]
505pub struct ArrowDownLeft;
506
507impl IconShape for ArrowDownLeft {
508    fn child_elements(&self) -> Element {
509        rsx!(line {
510        x1: "17",
511        x2: "7",
512        y1: "7",
513        y2: "17",
514            }
515polyline {
516        points: "17 17 7 17 7 7",
517            })
518    }
519
520    const WIDTH: Option<&'static str> = Some("24");
521    const HEIGHT: Option<&'static str> = Some("24");
522    const FILL: Option<&'static str> = Some("none");
523    const STROKE: Option<&'static str> = Some("currentColor");
524    const STROKE_WIDTH: Option<&'static str> = Some("2");
525    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
526    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
527    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
528
529}
530
531#[derive(Default, Copy, Clone, PartialEq, Eq)]
532pub struct ArrowDownRight;
533
534impl IconShape for ArrowDownRight {
535    fn child_elements(&self) -> Element {
536        rsx!(line {
537        x1: "7",
538        x2: "17",
539        y1: "7",
540        y2: "17",
541            }
542polyline {
543        points: "17 7 17 17 7 17",
544            })
545    }
546
547    const WIDTH: Option<&'static str> = Some("24");
548    const HEIGHT: Option<&'static str> = Some("24");
549    const FILL: Option<&'static str> = Some("none");
550    const STROKE: Option<&'static str> = Some("currentColor");
551    const STROKE_WIDTH: Option<&'static str> = Some("2");
552    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
553    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
554    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
555
556}
557
558#[derive(Default, Copy, Clone, PartialEq, Eq)]
559pub struct ArrowLeft;
560
561impl IconShape for ArrowLeft {
562    fn child_elements(&self) -> Element {
563        rsx!(line {
564        x1: "19",
565        x2: "5",
566        y1: "12",
567        y2: "12",
568            }
569polyline {
570        points: "12 19 5 12 12 5",
571            })
572    }
573
574    const WIDTH: Option<&'static str> = Some("24");
575    const HEIGHT: Option<&'static str> = Some("24");
576    const FILL: Option<&'static str> = Some("none");
577    const STROKE: Option<&'static str> = Some("currentColor");
578    const STROKE_WIDTH: Option<&'static str> = Some("2");
579    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
580    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
581    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
582
583}
584
585#[derive(Default, Copy, Clone, PartialEq, Eq)]
586pub struct ArrowLeftCircle;
587
588impl IconShape for ArrowLeftCircle {
589    fn child_elements(&self) -> Element {
590        rsx!(circle {
591        cx: "12",
592        cy: "12",
593        r: "10",
594            }
595polyline {
596        points: "12 8 8 12 12 16",
597            }
598line {
599        x1: "16",
600        x2: "8",
601        y1: "12",
602        y2: "12",
603            })
604    }
605
606    const WIDTH: Option<&'static str> = Some("24");
607    const HEIGHT: Option<&'static str> = Some("24");
608    const FILL: Option<&'static str> = Some("none");
609    const STROKE: Option<&'static str> = Some("currentColor");
610    const STROKE_WIDTH: Option<&'static str> = Some("2");
611    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
612    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
613    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
614
615}
616
617#[derive(Default, Copy, Clone, PartialEq, Eq)]
618pub struct ArrowRight;
619
620impl IconShape for ArrowRight {
621    fn child_elements(&self) -> Element {
622        rsx!(line {
623        x1: "5",
624        x2: "19",
625        y1: "12",
626        y2: "12",
627            }
628polyline {
629        points: "12 5 19 12 12 19",
630            })
631    }
632
633    const WIDTH: Option<&'static str> = Some("24");
634    const HEIGHT: Option<&'static str> = Some("24");
635    const FILL: Option<&'static str> = Some("none");
636    const STROKE: Option<&'static str> = Some("currentColor");
637    const STROKE_WIDTH: Option<&'static str> = Some("2");
638    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
639    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
640    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
641
642}
643
644#[derive(Default, Copy, Clone, PartialEq, Eq)]
645pub struct ArrowRightCircle;
646
647impl IconShape for ArrowRightCircle {
648    fn child_elements(&self) -> Element {
649        rsx!(circle {
650        cx: "12",
651        cy: "12",
652        r: "10",
653            }
654polyline {
655        points: "12 16 16 12 12 8",
656            }
657line {
658        x1: "8",
659        x2: "16",
660        y1: "12",
661        y2: "12",
662            })
663    }
664
665    const WIDTH: Option<&'static str> = Some("24");
666    const HEIGHT: Option<&'static str> = Some("24");
667    const FILL: Option<&'static str> = Some("none");
668    const STROKE: Option<&'static str> = Some("currentColor");
669    const STROKE_WIDTH: Option<&'static str> = Some("2");
670    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
671    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
672    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
673
674}
675
676#[derive(Default, Copy, Clone, PartialEq, Eq)]
677pub struct ArrowUp;
678
679impl IconShape for ArrowUp {
680    fn child_elements(&self) -> Element {
681        rsx!(line {
682        x1: "12",
683        x2: "12",
684        y1: "19",
685        y2: "5",
686            }
687polyline {
688        points: "5 12 12 5 19 12",
689            })
690    }
691
692    const WIDTH: Option<&'static str> = Some("24");
693    const HEIGHT: Option<&'static str> = Some("24");
694    const FILL: Option<&'static str> = Some("none");
695    const STROKE: Option<&'static str> = Some("currentColor");
696    const STROKE_WIDTH: Option<&'static str> = Some("2");
697    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
698    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
699    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
700
701}
702
703#[derive(Default, Copy, Clone, PartialEq, Eq)]
704pub struct ArrowUpCircle;
705
706impl IconShape for ArrowUpCircle {
707    fn child_elements(&self) -> Element {
708        rsx!(circle {
709        cx: "12",
710        cy: "12",
711        r: "10",
712            }
713polyline {
714        points: "16 12 12 8 8 12",
715            }
716line {
717        x1: "12",
718        x2: "12",
719        y1: "16",
720        y2: "8",
721            })
722    }
723
724    const WIDTH: Option<&'static str> = Some("24");
725    const HEIGHT: Option<&'static str> = Some("24");
726    const FILL: Option<&'static str> = Some("none");
727    const STROKE: Option<&'static str> = Some("currentColor");
728    const STROKE_WIDTH: Option<&'static str> = Some("2");
729    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
730    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
731    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
732
733}
734
735#[derive(Default, Copy, Clone, PartialEq, Eq)]
736pub struct ArrowUpLeft;
737
738impl IconShape for ArrowUpLeft {
739    fn child_elements(&self) -> Element {
740        rsx!(line {
741        x1: "17",
742        x2: "7",
743        y1: "17",
744        y2: "7",
745            }
746polyline {
747        points: "7 17 7 7 17 7",
748            })
749    }
750
751    const WIDTH: Option<&'static str> = Some("24");
752    const HEIGHT: Option<&'static str> = Some("24");
753    const FILL: Option<&'static str> = Some("none");
754    const STROKE: Option<&'static str> = Some("currentColor");
755    const STROKE_WIDTH: Option<&'static str> = Some("2");
756    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
757    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
758    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
759
760}
761
762#[derive(Default, Copy, Clone, PartialEq, Eq)]
763pub struct ArrowUpRight;
764
765impl IconShape for ArrowUpRight {
766    fn child_elements(&self) -> Element {
767        rsx!(line {
768        x1: "7",
769        x2: "17",
770        y1: "17",
771        y2: "7",
772            }
773polyline {
774        points: "7 7 17 7 17 17",
775            })
776    }
777
778    const WIDTH: Option<&'static str> = Some("24");
779    const HEIGHT: Option<&'static str> = Some("24");
780    const FILL: Option<&'static str> = Some("none");
781    const STROKE: Option<&'static str> = Some("currentColor");
782    const STROKE_WIDTH: Option<&'static str> = Some("2");
783    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
784    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
785    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
786
787}
788
789#[derive(Default, Copy, Clone, PartialEq, Eq)]
790pub struct AtSign;
791
792impl IconShape for AtSign {
793    fn child_elements(&self) -> Element {
794        rsx!(circle {
795        cx: "12",
796        cy: "12",
797        r: "4",
798            }
799path {
800        d: "M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94",
801            })
802    }
803
804    const WIDTH: Option<&'static str> = Some("24");
805    const HEIGHT: Option<&'static str> = Some("24");
806    const FILL: Option<&'static str> = Some("none");
807    const STROKE: Option<&'static str> = Some("currentColor");
808    const STROKE_WIDTH: Option<&'static str> = Some("2");
809    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
810    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
811    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
812
813}
814
815#[derive(Default, Copy, Clone, PartialEq, Eq)]
816pub struct Award;
817
818impl IconShape for Award {
819    fn child_elements(&self) -> Element {
820        rsx!(circle {
821        cx: "12",
822        cy: "8",
823        r: "7",
824            }
825polyline {
826        points: "8.21 13.89 7 23 12 20 17 23 15.79 13.88",
827            })
828    }
829
830    const WIDTH: Option<&'static str> = Some("24");
831    const HEIGHT: Option<&'static str> = Some("24");
832    const FILL: Option<&'static str> = Some("none");
833    const STROKE: Option<&'static str> = Some("currentColor");
834    const STROKE_WIDTH: Option<&'static str> = Some("2");
835    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
836    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
837    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
838
839}
840
841#[derive(Default, Copy, Clone, PartialEq, Eq)]
842pub struct BarChart;
843
844impl IconShape for BarChart {
845    fn child_elements(&self) -> Element {
846        rsx!(line {
847        x1: "12",
848        x2: "12",
849        y1: "20",
850        y2: "10",
851            }
852line {
853        x1: "18",
854        x2: "18",
855        y1: "20",
856        y2: "4",
857            }
858line {
859        x1: "6",
860        x2: "6",
861        y1: "20",
862        y2: "16",
863            })
864    }
865
866    const WIDTH: Option<&'static str> = Some("24");
867    const HEIGHT: Option<&'static str> = Some("24");
868    const FILL: Option<&'static str> = Some("none");
869    const STROKE: Option<&'static str> = Some("currentColor");
870    const STROKE_WIDTH: Option<&'static str> = Some("2");
871    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
872    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
873    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
874
875}
876
877#[derive(Default, Copy, Clone, PartialEq, Eq)]
878pub struct BarChart2;
879
880impl IconShape for BarChart2 {
881    fn child_elements(&self) -> Element {
882        rsx!(line {
883        x1: "18",
884        x2: "18",
885        y1: "20",
886        y2: "10",
887            }
888line {
889        x1: "12",
890        x2: "12",
891        y1: "20",
892        y2: "4",
893            }
894line {
895        x1: "6",
896        x2: "6",
897        y1: "20",
898        y2: "14",
899            })
900    }
901
902    const WIDTH: Option<&'static str> = Some("24");
903    const HEIGHT: Option<&'static str> = Some("24");
904    const FILL: Option<&'static str> = Some("none");
905    const STROKE: Option<&'static str> = Some("currentColor");
906    const STROKE_WIDTH: Option<&'static str> = Some("2");
907    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
908    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
909    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
910
911}
912
913#[derive(Default, Copy, Clone, PartialEq, Eq)]
914pub struct Battery;
915
916impl IconShape for Battery {
917    fn child_elements(&self) -> Element {
918        rsx!(rect {
919        height: "12",
920        rx: "2",
921        ry: "2",
922        width: "18",
923        x: "1",
924        y: "6",
925            }
926line {
927        x1: "23",
928        x2: "23",
929        y1: "13",
930        y2: "11",
931            })
932    }
933
934    const WIDTH: Option<&'static str> = Some("24");
935    const HEIGHT: Option<&'static str> = Some("24");
936    const FILL: Option<&'static str> = Some("none");
937    const STROKE: Option<&'static str> = Some("currentColor");
938    const STROKE_WIDTH: Option<&'static str> = Some("2");
939    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
940    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
941    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
942
943}
944
945#[derive(Default, Copy, Clone, PartialEq, Eq)]
946pub struct BatteryCharging;
947
948impl IconShape for BatteryCharging {
949    fn child_elements(&self) -> Element {
950        rsx!(path {
951        d: "M5 18H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3.19M15 6h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-3.19",
952            }
953line {
954        x1: "23",
955        x2: "23",
956        y1: "13",
957        y2: "11",
958            }
959polyline {
960        points: "11 6 7 12 13 12 9 18",
961            })
962    }
963
964    const WIDTH: Option<&'static str> = Some("24");
965    const HEIGHT: Option<&'static str> = Some("24");
966    const FILL: Option<&'static str> = Some("none");
967    const STROKE: Option<&'static str> = Some("currentColor");
968    const STROKE_WIDTH: Option<&'static str> = Some("2");
969    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
970    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
971    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
972
973}
974
975#[derive(Default, Copy, Clone, PartialEq, Eq)]
976pub struct Bell;
977
978impl IconShape for Bell {
979    fn child_elements(&self) -> Element {
980        rsx!(path {
981        d: "M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9",
982            }
983path {
984        d: "M13.73 21a2 2 0 0 1-3.46 0",
985            })
986    }
987
988    const WIDTH: Option<&'static str> = Some("24");
989    const HEIGHT: Option<&'static str> = Some("24");
990    const FILL: Option<&'static str> = Some("none");
991    const STROKE: Option<&'static str> = Some("currentColor");
992    const STROKE_WIDTH: Option<&'static str> = Some("2");
993    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
994    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
995    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
996
997}
998
999#[derive(Default, Copy, Clone, PartialEq, Eq)]
1000pub struct BellOff;
1001
1002impl IconShape for BellOff {
1003    fn child_elements(&self) -> Element {
1004        rsx!(path {
1005        d: "M13.73 21a2 2 0 0 1-3.46 0",
1006            }
1007path {
1008        d: "M18.63 13A17.89 17.89 0 0 1 18 8",
1009            }
1010path {
1011        d: "M6.26 6.26A5.86 5.86 0 0 0 6 8c0 7-3 9-3 9h14",
1012            }
1013path {
1014        d: "M18 8a6 6 0 0 0-9.33-5",
1015            }
1016line {
1017        x1: "1",
1018        x2: "23",
1019        y1: "1",
1020        y2: "23",
1021            })
1022    }
1023
1024    const WIDTH: Option<&'static str> = Some("24");
1025    const HEIGHT: Option<&'static str> = Some("24");
1026    const FILL: Option<&'static str> = Some("none");
1027    const STROKE: Option<&'static str> = Some("currentColor");
1028    const STROKE_WIDTH: Option<&'static str> = Some("2");
1029    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1030    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1031    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1032
1033}
1034
1035#[derive(Default, Copy, Clone, PartialEq, Eq)]
1036pub struct Bluetooth;
1037
1038impl IconShape for Bluetooth {
1039    fn child_elements(&self) -> Element {
1040        rsx!(polyline {
1041        points: "6.5 6.5 17.5 17.5 12 23 12 1 17.5 6.5 6.5 17.5",
1042            })
1043    }
1044
1045    const WIDTH: Option<&'static str> = Some("24");
1046    const HEIGHT: Option<&'static str> = Some("24");
1047    const FILL: Option<&'static str> = Some("none");
1048    const STROKE: Option<&'static str> = Some("currentColor");
1049    const STROKE_WIDTH: Option<&'static str> = Some("2");
1050    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1051    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1052    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1053
1054}
1055
1056#[derive(Default, Copy, Clone, PartialEq, Eq)]
1057pub struct Bold;
1058
1059impl IconShape for Bold {
1060    fn child_elements(&self) -> Element {
1061        rsx!(path {
1062        d: "M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z",
1063            }
1064path {
1065        d: "M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z",
1066            })
1067    }
1068
1069    const WIDTH: Option<&'static str> = Some("24");
1070    const HEIGHT: Option<&'static str> = Some("24");
1071    const FILL: Option<&'static str> = Some("none");
1072    const STROKE: Option<&'static str> = Some("currentColor");
1073    const STROKE_WIDTH: Option<&'static str> = Some("2");
1074    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1075    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1076    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1077
1078}
1079
1080#[derive(Default, Copy, Clone, PartialEq, Eq)]
1081pub struct Book;
1082
1083impl IconShape for Book {
1084    fn child_elements(&self) -> Element {
1085        rsx!(path {
1086        d: "M4 19.5A2.5 2.5 0 0 1 6.5 17H20",
1087            }
1088path {
1089        d: "M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z",
1090            })
1091    }
1092
1093    const WIDTH: Option<&'static str> = Some("24");
1094    const HEIGHT: Option<&'static str> = Some("24");
1095    const FILL: Option<&'static str> = Some("none");
1096    const STROKE: Option<&'static str> = Some("currentColor");
1097    const STROKE_WIDTH: Option<&'static str> = Some("2");
1098    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1099    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1100    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1101
1102}
1103
1104#[derive(Default, Copy, Clone, PartialEq, Eq)]
1105pub struct BookOpen;
1106
1107impl IconShape for BookOpen {
1108    fn child_elements(&self) -> Element {
1109        rsx!(path {
1110        d: "M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z",
1111            }
1112path {
1113        d: "M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z",
1114            })
1115    }
1116
1117    const WIDTH: Option<&'static str> = Some("24");
1118    const HEIGHT: Option<&'static str> = Some("24");
1119    const FILL: Option<&'static str> = Some("none");
1120    const STROKE: Option<&'static str> = Some("currentColor");
1121    const STROKE_WIDTH: Option<&'static str> = Some("2");
1122    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1123    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1124    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1125
1126}
1127
1128#[derive(Default, Copy, Clone, PartialEq, Eq)]
1129pub struct Bookmark;
1130
1131impl IconShape for Bookmark {
1132    fn child_elements(&self) -> Element {
1133        rsx!(path {
1134        d: "M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z",
1135            })
1136    }
1137
1138    const WIDTH: Option<&'static str> = Some("24");
1139    const HEIGHT: Option<&'static str> = Some("24");
1140    const FILL: Option<&'static str> = Some("none");
1141    const STROKE: Option<&'static str> = Some("currentColor");
1142    const STROKE_WIDTH: Option<&'static str> = Some("2");
1143    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1144    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1145    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1146
1147}
1148
1149#[derive(Default, Copy, Clone, PartialEq, Eq)]
1150pub struct Briefcase;
1151
1152impl IconShape for Briefcase {
1153    fn child_elements(&self) -> Element {
1154        rsx!(rect {
1155        height: "14",
1156        rx: "2",
1157        ry: "2",
1158        width: "20",
1159        x: "2",
1160        y: "7",
1161            }
1162path {
1163        d: "M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16",
1164            })
1165    }
1166
1167    const WIDTH: Option<&'static str> = Some("24");
1168    const HEIGHT: Option<&'static str> = Some("24");
1169    const FILL: Option<&'static str> = Some("none");
1170    const STROKE: Option<&'static str> = Some("currentColor");
1171    const STROKE_WIDTH: Option<&'static str> = Some("2");
1172    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1173    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1174    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1175
1176}
1177
1178#[derive(Default, Copy, Clone, PartialEq, Eq)]
1179pub struct Calendar;
1180
1181impl IconShape for Calendar {
1182    fn child_elements(&self) -> Element {
1183        rsx!(rect {
1184        height: "18",
1185        rx: "2",
1186        ry: "2",
1187        width: "18",
1188        x: "3",
1189        y: "4",
1190            }
1191line {
1192        x1: "16",
1193        x2: "16",
1194        y1: "2",
1195        y2: "6",
1196            }
1197line {
1198        x1: "8",
1199        x2: "8",
1200        y1: "2",
1201        y2: "6",
1202            }
1203line {
1204        x1: "3",
1205        x2: "21",
1206        y1: "10",
1207        y2: "10",
1208            })
1209    }
1210
1211    const WIDTH: Option<&'static str> = Some("24");
1212    const HEIGHT: Option<&'static str> = Some("24");
1213    const FILL: Option<&'static str> = Some("none");
1214    const STROKE: Option<&'static str> = Some("currentColor");
1215    const STROKE_WIDTH: Option<&'static str> = Some("2");
1216    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1217    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1218    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1219
1220}
1221
1222#[derive(Default, Copy, Clone, PartialEq, Eq)]
1223pub struct Camera;
1224
1225impl IconShape for Camera {
1226    fn child_elements(&self) -> Element {
1227        rsx!(path {
1228        d: "M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z",
1229            }
1230circle {
1231        cx: "12",
1232        cy: "13",
1233        r: "4",
1234            })
1235    }
1236
1237    const WIDTH: Option<&'static str> = Some("24");
1238    const HEIGHT: Option<&'static str> = Some("24");
1239    const FILL: Option<&'static str> = Some("none");
1240    const STROKE: Option<&'static str> = Some("currentColor");
1241    const STROKE_WIDTH: Option<&'static str> = Some("2");
1242    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1243    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1244    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1245
1246}
1247
1248#[derive(Default, Copy, Clone, PartialEq, Eq)]
1249pub struct CameraOff;
1250
1251impl IconShape for CameraOff {
1252    fn child_elements(&self) -> Element {
1253        rsx!(line {
1254        x1: "1",
1255        x2: "23",
1256        y1: "1",
1257        y2: "23",
1258            }
1259path {
1260        d: "M21 21H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3m3-3h6l2 3h4a2 2 0 0 1 2 2v9.34m-7.72-2.06a4 4 0 1 1-5.56-5.56",
1261            })
1262    }
1263
1264    const WIDTH: Option<&'static str> = Some("24");
1265    const HEIGHT: Option<&'static str> = Some("24");
1266    const FILL: Option<&'static str> = Some("none");
1267    const STROKE: Option<&'static str> = Some("currentColor");
1268    const STROKE_WIDTH: Option<&'static str> = Some("2");
1269    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1270    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1271    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1272
1273}
1274
1275#[derive(Default, Copy, Clone, PartialEq, Eq)]
1276pub struct Cast;
1277
1278impl IconShape for Cast {
1279    fn child_elements(&self) -> Element {
1280        rsx!(path {
1281        d: "M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6",
1282            }
1283line {
1284        x1: "2",
1285        x2: "2.01",
1286        y1: "20",
1287        y2: "20",
1288            })
1289    }
1290
1291    const WIDTH: Option<&'static str> = Some("24");
1292    const HEIGHT: Option<&'static str> = Some("24");
1293    const FILL: Option<&'static str> = Some("none");
1294    const STROKE: Option<&'static str> = Some("currentColor");
1295    const STROKE_WIDTH: Option<&'static str> = Some("2");
1296    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1297    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1298    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1299
1300}
1301
1302#[derive(Default, Copy, Clone, PartialEq, Eq)]
1303pub struct Check;
1304
1305impl IconShape for Check {
1306    fn child_elements(&self) -> Element {
1307        rsx!(polyline {
1308        points: "20 6 9 17 4 12",
1309            })
1310    }
1311
1312    const WIDTH: Option<&'static str> = Some("24");
1313    const HEIGHT: Option<&'static str> = Some("24");
1314    const FILL: Option<&'static str> = Some("none");
1315    const STROKE: Option<&'static str> = Some("currentColor");
1316    const STROKE_WIDTH: Option<&'static str> = Some("2");
1317    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1318    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1319    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1320
1321}
1322
1323#[derive(Default, Copy, Clone, PartialEq, Eq)]
1324pub struct CheckCircle;
1325
1326impl IconShape for CheckCircle {
1327    fn child_elements(&self) -> Element {
1328        rsx!(path {
1329        d: "M22 11.08V12a10 10 0 1 1-5.93-9.14",
1330            }
1331polyline {
1332        points: "22 4 12 14.01 9 11.01",
1333            })
1334    }
1335
1336    const WIDTH: Option<&'static str> = Some("24");
1337    const HEIGHT: Option<&'static str> = Some("24");
1338    const FILL: Option<&'static str> = Some("none");
1339    const STROKE: Option<&'static str> = Some("currentColor");
1340    const STROKE_WIDTH: Option<&'static str> = Some("2");
1341    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1342    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1343    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1344
1345}
1346
1347#[derive(Default, Copy, Clone, PartialEq, Eq)]
1348pub struct CheckSquare;
1349
1350impl IconShape for CheckSquare {
1351    fn child_elements(&self) -> Element {
1352        rsx!(polyline {
1353        points: "9 11 12 14 22 4",
1354            }
1355path {
1356        d: "M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11",
1357            })
1358    }
1359
1360    const WIDTH: Option<&'static str> = Some("24");
1361    const HEIGHT: Option<&'static str> = Some("24");
1362    const FILL: Option<&'static str> = Some("none");
1363    const STROKE: Option<&'static str> = Some("currentColor");
1364    const STROKE_WIDTH: Option<&'static str> = Some("2");
1365    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1366    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1367    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1368
1369}
1370
1371#[derive(Default, Copy, Clone, PartialEq, Eq)]
1372pub struct ChevronDown;
1373
1374impl IconShape for ChevronDown {
1375    fn child_elements(&self) -> Element {
1376        rsx!(polyline {
1377        points: "6 9 12 15 18 9",
1378            })
1379    }
1380
1381    const WIDTH: Option<&'static str> = Some("24");
1382    const HEIGHT: Option<&'static str> = Some("24");
1383    const FILL: Option<&'static str> = Some("none");
1384    const STROKE: Option<&'static str> = Some("currentColor");
1385    const STROKE_WIDTH: Option<&'static str> = Some("2");
1386    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1387    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1388    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1389
1390}
1391
1392#[derive(Default, Copy, Clone, PartialEq, Eq)]
1393pub struct ChevronLeft;
1394
1395impl IconShape for ChevronLeft {
1396    fn child_elements(&self) -> Element {
1397        rsx!(polyline {
1398        points: "15 18 9 12 15 6",
1399            })
1400    }
1401
1402    const WIDTH: Option<&'static str> = Some("24");
1403    const HEIGHT: Option<&'static str> = Some("24");
1404    const FILL: Option<&'static str> = Some("none");
1405    const STROKE: Option<&'static str> = Some("currentColor");
1406    const STROKE_WIDTH: Option<&'static str> = Some("2");
1407    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1408    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1409    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1410
1411}
1412
1413#[derive(Default, Copy, Clone, PartialEq, Eq)]
1414pub struct ChevronRight;
1415
1416impl IconShape for ChevronRight {
1417    fn child_elements(&self) -> Element {
1418        rsx!(polyline {
1419        points: "9 18 15 12 9 6",
1420            })
1421    }
1422
1423    const WIDTH: Option<&'static str> = Some("24");
1424    const HEIGHT: Option<&'static str> = Some("24");
1425    const FILL: Option<&'static str> = Some("none");
1426    const STROKE: Option<&'static str> = Some("currentColor");
1427    const STROKE_WIDTH: Option<&'static str> = Some("2");
1428    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1429    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1430    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1431
1432}
1433
1434#[derive(Default, Copy, Clone, PartialEq, Eq)]
1435pub struct ChevronUp;
1436
1437impl IconShape for ChevronUp {
1438    fn child_elements(&self) -> Element {
1439        rsx!(polyline {
1440        points: "18 15 12 9 6 15",
1441            })
1442    }
1443
1444    const WIDTH: Option<&'static str> = Some("24");
1445    const HEIGHT: Option<&'static str> = Some("24");
1446    const FILL: Option<&'static str> = Some("none");
1447    const STROKE: Option<&'static str> = Some("currentColor");
1448    const STROKE_WIDTH: Option<&'static str> = Some("2");
1449    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1450    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1451    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1452
1453}
1454
1455#[derive(Default, Copy, Clone, PartialEq, Eq)]
1456pub struct ChevronsDown;
1457
1458impl IconShape for ChevronsDown {
1459    fn child_elements(&self) -> Element {
1460        rsx!(polyline {
1461        points: "7 13 12 18 17 13",
1462            }
1463polyline {
1464        points: "7 6 12 11 17 6",
1465            })
1466    }
1467
1468    const WIDTH: Option<&'static str> = Some("24");
1469    const HEIGHT: Option<&'static str> = Some("24");
1470    const FILL: Option<&'static str> = Some("none");
1471    const STROKE: Option<&'static str> = Some("currentColor");
1472    const STROKE_WIDTH: Option<&'static str> = Some("2");
1473    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1474    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1475    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1476
1477}
1478
1479#[derive(Default, Copy, Clone, PartialEq, Eq)]
1480pub struct ChevronsLeft;
1481
1482impl IconShape for ChevronsLeft {
1483    fn child_elements(&self) -> Element {
1484        rsx!(polyline {
1485        points: "11 17 6 12 11 7",
1486            }
1487polyline {
1488        points: "18 17 13 12 18 7",
1489            })
1490    }
1491
1492    const WIDTH: Option<&'static str> = Some("24");
1493    const HEIGHT: Option<&'static str> = Some("24");
1494    const FILL: Option<&'static str> = Some("none");
1495    const STROKE: Option<&'static str> = Some("currentColor");
1496    const STROKE_WIDTH: Option<&'static str> = Some("2");
1497    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1498    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1499    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1500
1501}
1502
1503#[derive(Default, Copy, Clone, PartialEq, Eq)]
1504pub struct ChevronsRight;
1505
1506impl IconShape for ChevronsRight {
1507    fn child_elements(&self) -> Element {
1508        rsx!(polyline {
1509        points: "13 17 18 12 13 7",
1510            }
1511polyline {
1512        points: "6 17 11 12 6 7",
1513            })
1514    }
1515
1516    const WIDTH: Option<&'static str> = Some("24");
1517    const HEIGHT: Option<&'static str> = Some("24");
1518    const FILL: Option<&'static str> = Some("none");
1519    const STROKE: Option<&'static str> = Some("currentColor");
1520    const STROKE_WIDTH: Option<&'static str> = Some("2");
1521    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1522    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1523    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1524
1525}
1526
1527#[derive(Default, Copy, Clone, PartialEq, Eq)]
1528pub struct ChevronsUp;
1529
1530impl IconShape for ChevronsUp {
1531    fn child_elements(&self) -> Element {
1532        rsx!(polyline {
1533        points: "17 11 12 6 7 11",
1534            }
1535polyline {
1536        points: "17 18 12 13 7 18",
1537            })
1538    }
1539
1540    const WIDTH: Option<&'static str> = Some("24");
1541    const HEIGHT: Option<&'static str> = Some("24");
1542    const FILL: Option<&'static str> = Some("none");
1543    const STROKE: Option<&'static str> = Some("currentColor");
1544    const STROKE_WIDTH: Option<&'static str> = Some("2");
1545    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1546    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1547    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1548
1549}
1550
1551#[derive(Default, Copy, Clone, PartialEq, Eq)]
1552pub struct Chrome;
1553
1554impl IconShape for Chrome {
1555    fn child_elements(&self) -> Element {
1556        rsx!(circle {
1557        cx: "12",
1558        cy: "12",
1559        r: "10",
1560            }
1561circle {
1562        cx: "12",
1563        cy: "12",
1564        r: "4",
1565            }
1566line {
1567        x1: "21.17",
1568        x2: "12",
1569        y1: "8",
1570        y2: "8",
1571            }
1572line {
1573        x1: "3.95",
1574        x2: "8.54",
1575        y1: "6.06",
1576        y2: "14",
1577            }
1578line {
1579        x1: "10.88",
1580        x2: "15.46",
1581        y1: "21.94",
1582        y2: "14",
1583            })
1584    }
1585
1586    const WIDTH: Option<&'static str> = Some("24");
1587    const HEIGHT: Option<&'static str> = Some("24");
1588    const FILL: Option<&'static str> = Some("none");
1589    const STROKE: Option<&'static str> = Some("currentColor");
1590    const STROKE_WIDTH: Option<&'static str> = Some("2");
1591    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1592    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1593    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1594
1595}
1596
1597#[derive(Default, Copy, Clone, PartialEq, Eq)]
1598pub struct Circle;
1599
1600impl IconShape for Circle {
1601    fn child_elements(&self) -> Element {
1602        rsx!(circle {
1603        cx: "12",
1604        cy: "12",
1605        r: "10",
1606            })
1607    }
1608
1609    const WIDTH: Option<&'static str> = Some("24");
1610    const HEIGHT: Option<&'static str> = Some("24");
1611    const FILL: Option<&'static str> = Some("none");
1612    const STROKE: Option<&'static str> = Some("currentColor");
1613    const STROKE_WIDTH: Option<&'static str> = Some("2");
1614    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1615    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1616    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1617
1618}
1619
1620#[derive(Default, Copy, Clone, PartialEq, Eq)]
1621pub struct Clipboard;
1622
1623impl IconShape for Clipboard {
1624    fn child_elements(&self) -> Element {
1625        rsx!(path {
1626        d: "M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",
1627            }
1628rect {
1629        height: "4",
1630        rx: "1",
1631        ry: "1",
1632        width: "8",
1633        x: "8",
1634        y: "2",
1635            })
1636    }
1637
1638    const WIDTH: Option<&'static str> = Some("24");
1639    const HEIGHT: Option<&'static str> = Some("24");
1640    const FILL: Option<&'static str> = Some("none");
1641    const STROKE: Option<&'static str> = Some("currentColor");
1642    const STROKE_WIDTH: Option<&'static str> = Some("2");
1643    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1644    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1645    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1646
1647}
1648
1649#[derive(Default, Copy, Clone, PartialEq, Eq)]
1650pub struct Clock;
1651
1652impl IconShape for Clock {
1653    fn child_elements(&self) -> Element {
1654        rsx!(circle {
1655        cx: "12",
1656        cy: "12",
1657        r: "10",
1658            }
1659polyline {
1660        points: "12 6 12 12 16 14",
1661            })
1662    }
1663
1664    const WIDTH: Option<&'static str> = Some("24");
1665    const HEIGHT: Option<&'static str> = Some("24");
1666    const FILL: Option<&'static str> = Some("none");
1667    const STROKE: Option<&'static str> = Some("currentColor");
1668    const STROKE_WIDTH: Option<&'static str> = Some("2");
1669    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1670    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1671    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1672
1673}
1674
1675#[derive(Default, Copy, Clone, PartialEq, Eq)]
1676pub struct Cloud;
1677
1678impl IconShape for Cloud {
1679    fn child_elements(&self) -> Element {
1680        rsx!(path {
1681        d: "M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z",
1682            })
1683    }
1684
1685    const WIDTH: Option<&'static str> = Some("24");
1686    const HEIGHT: Option<&'static str> = Some("24");
1687    const FILL: Option<&'static str> = Some("none");
1688    const STROKE: Option<&'static str> = Some("currentColor");
1689    const STROKE_WIDTH: Option<&'static str> = Some("2");
1690    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1691    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1692    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1693
1694}
1695
1696#[derive(Default, Copy, Clone, PartialEq, Eq)]
1697pub struct CloudDrizzle;
1698
1699impl IconShape for CloudDrizzle {
1700    fn child_elements(&self) -> Element {
1701        rsx!(line {
1702        x1: "8",
1703        x2: "8",
1704        y1: "19",
1705        y2: "21",
1706            }
1707line {
1708        x1: "8",
1709        x2: "8",
1710        y1: "13",
1711        y2: "15",
1712            }
1713line {
1714        x1: "16",
1715        x2: "16",
1716        y1: "19",
1717        y2: "21",
1718            }
1719line {
1720        x1: "16",
1721        x2: "16",
1722        y1: "13",
1723        y2: "15",
1724            }
1725line {
1726        x1: "12",
1727        x2: "12",
1728        y1: "21",
1729        y2: "23",
1730            }
1731line {
1732        x1: "12",
1733        x2: "12",
1734        y1: "15",
1735        y2: "17",
1736            }
1737path {
1738        d: "M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25",
1739            })
1740    }
1741
1742    const WIDTH: Option<&'static str> = Some("24");
1743    const HEIGHT: Option<&'static str> = Some("24");
1744    const FILL: Option<&'static str> = Some("none");
1745    const STROKE: Option<&'static str> = Some("currentColor");
1746    const STROKE_WIDTH: Option<&'static str> = Some("2");
1747    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1748    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1749    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1750
1751}
1752
1753#[derive(Default, Copy, Clone, PartialEq, Eq)]
1754pub struct CloudLightning;
1755
1756impl IconShape for CloudLightning {
1757    fn child_elements(&self) -> Element {
1758        rsx!(path {
1759        d: "M19 16.9A5 5 0 0 0 18 7h-1.26a8 8 0 1 0-11.62 9",
1760            }
1761polyline {
1762        points: "13 11 9 17 15 17 11 23",
1763            })
1764    }
1765
1766    const WIDTH: Option<&'static str> = Some("24");
1767    const HEIGHT: Option<&'static str> = Some("24");
1768    const FILL: Option<&'static str> = Some("none");
1769    const STROKE: Option<&'static str> = Some("currentColor");
1770    const STROKE_WIDTH: Option<&'static str> = Some("2");
1771    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1772    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1773    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1774
1775}
1776
1777#[derive(Default, Copy, Clone, PartialEq, Eq)]
1778pub struct CloudOff;
1779
1780impl IconShape for CloudOff {
1781    fn child_elements(&self) -> Element {
1782        rsx!(path {
1783        d: "M22.61 16.95A5 5 0 0 0 18 10h-1.26a8 8 0 0 0-7.05-6M5 5a8 8 0 0 0 4 15h9a5 5 0 0 0 1.7-.3",
1784            }
1785line {
1786        x1: "1",
1787        x2: "23",
1788        y1: "1",
1789        y2: "23",
1790            })
1791    }
1792
1793    const WIDTH: Option<&'static str> = Some("24");
1794    const HEIGHT: Option<&'static str> = Some("24");
1795    const FILL: Option<&'static str> = Some("none");
1796    const STROKE: Option<&'static str> = Some("currentColor");
1797    const STROKE_WIDTH: Option<&'static str> = Some("2");
1798    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1799    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1800    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1801
1802}
1803
1804#[derive(Default, Copy, Clone, PartialEq, Eq)]
1805pub struct CloudRain;
1806
1807impl IconShape for CloudRain {
1808    fn child_elements(&self) -> Element {
1809        rsx!(line {
1810        x1: "16",
1811        x2: "16",
1812        y1: "13",
1813        y2: "21",
1814            }
1815line {
1816        x1: "8",
1817        x2: "8",
1818        y1: "13",
1819        y2: "21",
1820            }
1821line {
1822        x1: "12",
1823        x2: "12",
1824        y1: "15",
1825        y2: "23",
1826            }
1827path {
1828        d: "M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25",
1829            })
1830    }
1831
1832    const WIDTH: Option<&'static str> = Some("24");
1833    const HEIGHT: Option<&'static str> = Some("24");
1834    const FILL: Option<&'static str> = Some("none");
1835    const STROKE: Option<&'static str> = Some("currentColor");
1836    const STROKE_WIDTH: Option<&'static str> = Some("2");
1837    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1838    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1839    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1840
1841}
1842
1843#[derive(Default, Copy, Clone, PartialEq, Eq)]
1844pub struct CloudSnow;
1845
1846impl IconShape for CloudSnow {
1847    fn child_elements(&self) -> Element {
1848        rsx!(path {
1849        d: "M20 17.58A5 5 0 0 0 18 8h-1.26A8 8 0 1 0 4 16.25",
1850            }
1851line {
1852        x1: "8",
1853        x2: "8.01",
1854        y1: "16",
1855        y2: "16",
1856            }
1857line {
1858        x1: "8",
1859        x2: "8.01",
1860        y1: "20",
1861        y2: "20",
1862            }
1863line {
1864        x1: "12",
1865        x2: "12.01",
1866        y1: "18",
1867        y2: "18",
1868            }
1869line {
1870        x1: "12",
1871        x2: "12.01",
1872        y1: "22",
1873        y2: "22",
1874            }
1875line {
1876        x1: "16",
1877        x2: "16.01",
1878        y1: "16",
1879        y2: "16",
1880            }
1881line {
1882        x1: "16",
1883        x2: "16.01",
1884        y1: "20",
1885        y2: "20",
1886            })
1887    }
1888
1889    const WIDTH: Option<&'static str> = Some("24");
1890    const HEIGHT: Option<&'static str> = Some("24");
1891    const FILL: Option<&'static str> = Some("none");
1892    const STROKE: Option<&'static str> = Some("currentColor");
1893    const STROKE_WIDTH: Option<&'static str> = Some("2");
1894    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1895    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1896    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1897
1898}
1899
1900#[derive(Default, Copy, Clone, PartialEq, Eq)]
1901pub struct Code;
1902
1903impl IconShape for Code {
1904    fn child_elements(&self) -> Element {
1905        rsx!(polyline {
1906        points: "16 18 22 12 16 6",
1907            }
1908polyline {
1909        points: "8 6 2 12 8 18",
1910            })
1911    }
1912
1913    const WIDTH: Option<&'static str> = Some("24");
1914    const HEIGHT: Option<&'static str> = Some("24");
1915    const FILL: Option<&'static str> = Some("none");
1916    const STROKE: Option<&'static str> = Some("currentColor");
1917    const STROKE_WIDTH: Option<&'static str> = Some("2");
1918    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1919    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1920    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1921
1922}
1923
1924#[derive(Default, Copy, Clone, PartialEq, Eq)]
1925pub struct Codepen;
1926
1927impl IconShape for Codepen {
1928    fn child_elements(&self) -> Element {
1929        rsx!(polygon {
1930        points: "12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2",
1931            }
1932line {
1933        x1: "12",
1934        x2: "12",
1935        y1: "22",
1936        y2: "15.5",
1937            }
1938polyline {
1939        points: "22 8.5 12 15.5 2 8.5",
1940            }
1941polyline {
1942        points: "2 15.5 12 8.5 22 15.5",
1943            }
1944line {
1945        x1: "12",
1946        x2: "12",
1947        y1: "2",
1948        y2: "8.5",
1949            })
1950    }
1951
1952    const WIDTH: Option<&'static str> = Some("24");
1953    const HEIGHT: Option<&'static str> = Some("24");
1954    const FILL: Option<&'static str> = Some("none");
1955    const STROKE: Option<&'static str> = Some("currentColor");
1956    const STROKE_WIDTH: Option<&'static str> = Some("2");
1957    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1958    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1959    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1960
1961}
1962
1963#[derive(Default, Copy, Clone, PartialEq, Eq)]
1964pub struct Codesandbox;
1965
1966impl IconShape for Codesandbox {
1967    fn child_elements(&self) -> Element {
1968        rsx!(path {
1969        d: "M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z",
1970            }
1971polyline {
1972        points: "7.5 4.21 12 6.81 16.5 4.21",
1973            }
1974polyline {
1975        points: "7.5 19.79 7.5 14.6 3 12",
1976            }
1977polyline {
1978        points: "21 12 16.5 14.6 16.5 19.79",
1979            }
1980polyline {
1981        points: "3.27 6.96 12 12.01 20.73 6.96",
1982            }
1983line {
1984        x1: "12",
1985        x2: "12",
1986        y1: "22.08",
1987        y2: "12",
1988            })
1989    }
1990
1991    const WIDTH: Option<&'static str> = Some("24");
1992    const HEIGHT: Option<&'static str> = Some("24");
1993    const FILL: Option<&'static str> = Some("none");
1994    const STROKE: Option<&'static str> = Some("currentColor");
1995    const STROKE_WIDTH: Option<&'static str> = Some("2");
1996    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
1997    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
1998    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
1999
2000}
2001
2002#[derive(Default, Copy, Clone, PartialEq, Eq)]
2003pub struct Coffee;
2004
2005impl IconShape for Coffee {
2006    fn child_elements(&self) -> Element {
2007        rsx!(path {
2008        d: "M18 8h1a4 4 0 0 1 0 8h-1",
2009            }
2010path {
2011        d: "M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z",
2012            }
2013line {
2014        x1: "6",
2015        x2: "6",
2016        y1: "1",
2017        y2: "4",
2018            }
2019line {
2020        x1: "10",
2021        x2: "10",
2022        y1: "1",
2023        y2: "4",
2024            }
2025line {
2026        x1: "14",
2027        x2: "14",
2028        y1: "1",
2029        y2: "4",
2030            })
2031    }
2032
2033    const WIDTH: Option<&'static str> = Some("24");
2034    const HEIGHT: Option<&'static str> = Some("24");
2035    const FILL: Option<&'static str> = Some("none");
2036    const STROKE: Option<&'static str> = Some("currentColor");
2037    const STROKE_WIDTH: Option<&'static str> = Some("2");
2038    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2039    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2040    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2041
2042}
2043
2044#[derive(Default, Copy, Clone, PartialEq, Eq)]
2045pub struct Columns;
2046
2047impl IconShape for Columns {
2048    fn child_elements(&self) -> Element {
2049        rsx!(path {
2050        d: "M12 3h7a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-7m0-18H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7m0-18v18",
2051            })
2052    }
2053
2054    const WIDTH: Option<&'static str> = Some("24");
2055    const HEIGHT: Option<&'static str> = Some("24");
2056    const FILL: Option<&'static str> = Some("none");
2057    const STROKE: Option<&'static str> = Some("currentColor");
2058    const STROKE_WIDTH: Option<&'static str> = Some("2");
2059    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2060    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2061    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2062
2063}
2064
2065#[derive(Default, Copy, Clone, PartialEq, Eq)]
2066pub struct Command;
2067
2068impl IconShape for Command {
2069    fn child_elements(&self) -> Element {
2070        rsx!(path {
2071        d: "M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z",
2072            })
2073    }
2074
2075    const WIDTH: Option<&'static str> = Some("24");
2076    const HEIGHT: Option<&'static str> = Some("24");
2077    const FILL: Option<&'static str> = Some("none");
2078    const STROKE: Option<&'static str> = Some("currentColor");
2079    const STROKE_WIDTH: Option<&'static str> = Some("2");
2080    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2081    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2082    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2083
2084}
2085
2086#[derive(Default, Copy, Clone, PartialEq, Eq)]
2087pub struct Compass;
2088
2089impl IconShape for Compass {
2090    fn child_elements(&self) -> Element {
2091        rsx!(circle {
2092        cx: "12",
2093        cy: "12",
2094        r: "10",
2095            }
2096polygon {
2097        points: "16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76",
2098            })
2099    }
2100
2101    const WIDTH: Option<&'static str> = Some("24");
2102    const HEIGHT: Option<&'static str> = Some("24");
2103    const FILL: Option<&'static str> = Some("none");
2104    const STROKE: Option<&'static str> = Some("currentColor");
2105    const STROKE_WIDTH: Option<&'static str> = Some("2");
2106    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2107    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2108    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2109
2110}
2111
2112#[derive(Default, Copy, Clone, PartialEq, Eq)]
2113pub struct Copy;
2114
2115impl IconShape for Copy {
2116    fn child_elements(&self) -> Element {
2117        rsx!(rect {
2118        height: "13",
2119        rx: "2",
2120        ry: "2",
2121        width: "13",
2122        x: "9",
2123        y: "9",
2124            }
2125path {
2126        d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1",
2127            })
2128    }
2129
2130    const WIDTH: Option<&'static str> = Some("24");
2131    const HEIGHT: Option<&'static str> = Some("24");
2132    const FILL: Option<&'static str> = Some("none");
2133    const STROKE: Option<&'static str> = Some("currentColor");
2134    const STROKE_WIDTH: Option<&'static str> = Some("2");
2135    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2136    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2137    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2138
2139}
2140
2141#[derive(Default, Copy, Clone, PartialEq, Eq)]
2142pub struct CornerDownLeft;
2143
2144impl IconShape for CornerDownLeft {
2145    fn child_elements(&self) -> Element {
2146        rsx!(polyline {
2147        points: "9 10 4 15 9 20",
2148            }
2149path {
2150        d: "M20 4v7a4 4 0 0 1-4 4H4",
2151            })
2152    }
2153
2154    const WIDTH: Option<&'static str> = Some("24");
2155    const HEIGHT: Option<&'static str> = Some("24");
2156    const FILL: Option<&'static str> = Some("none");
2157    const STROKE: Option<&'static str> = Some("currentColor");
2158    const STROKE_WIDTH: Option<&'static str> = Some("2");
2159    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2160    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2161    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2162
2163}
2164
2165#[derive(Default, Copy, Clone, PartialEq, Eq)]
2166pub struct CornerDownRight;
2167
2168impl IconShape for CornerDownRight {
2169    fn child_elements(&self) -> Element {
2170        rsx!(polyline {
2171        points: "15 10 20 15 15 20",
2172            }
2173path {
2174        d: "M4 4v7a4 4 0 0 0 4 4h12",
2175            })
2176    }
2177
2178    const WIDTH: Option<&'static str> = Some("24");
2179    const HEIGHT: Option<&'static str> = Some("24");
2180    const FILL: Option<&'static str> = Some("none");
2181    const STROKE: Option<&'static str> = Some("currentColor");
2182    const STROKE_WIDTH: Option<&'static str> = Some("2");
2183    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2184    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2185    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2186
2187}
2188
2189#[derive(Default, Copy, Clone, PartialEq, Eq)]
2190pub struct CornerLeftDown;
2191
2192impl IconShape for CornerLeftDown {
2193    fn child_elements(&self) -> Element {
2194        rsx!(polyline {
2195        points: "14 15 9 20 4 15",
2196            }
2197path {
2198        d: "M20 4h-7a4 4 0 0 0-4 4v12",
2199            })
2200    }
2201
2202    const WIDTH: Option<&'static str> = Some("24");
2203    const HEIGHT: Option<&'static str> = Some("24");
2204    const FILL: Option<&'static str> = Some("none");
2205    const STROKE: Option<&'static str> = Some("currentColor");
2206    const STROKE_WIDTH: Option<&'static str> = Some("2");
2207    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2208    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2209    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2210
2211}
2212
2213#[derive(Default, Copy, Clone, PartialEq, Eq)]
2214pub struct CornerLeftUp;
2215
2216impl IconShape for CornerLeftUp {
2217    fn child_elements(&self) -> Element {
2218        rsx!(polyline {
2219        points: "14 9 9 4 4 9",
2220            }
2221path {
2222        d: "M20 20h-7a4 4 0 0 1-4-4V4",
2223            })
2224    }
2225
2226    const WIDTH: Option<&'static str> = Some("24");
2227    const HEIGHT: Option<&'static str> = Some("24");
2228    const FILL: Option<&'static str> = Some("none");
2229    const STROKE: Option<&'static str> = Some("currentColor");
2230    const STROKE_WIDTH: Option<&'static str> = Some("2");
2231    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2232    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2233    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2234
2235}
2236
2237#[derive(Default, Copy, Clone, PartialEq, Eq)]
2238pub struct CornerRightDown;
2239
2240impl IconShape for CornerRightDown {
2241    fn child_elements(&self) -> Element {
2242        rsx!(polyline {
2243        points: "10 15 15 20 20 15",
2244            }
2245path {
2246        d: "M4 4h7a4 4 0 0 1 4 4v12",
2247            })
2248    }
2249
2250    const WIDTH: Option<&'static str> = Some("24");
2251    const HEIGHT: Option<&'static str> = Some("24");
2252    const FILL: Option<&'static str> = Some("none");
2253    const STROKE: Option<&'static str> = Some("currentColor");
2254    const STROKE_WIDTH: Option<&'static str> = Some("2");
2255    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2256    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2257    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2258
2259}
2260
2261#[derive(Default, Copy, Clone, PartialEq, Eq)]
2262pub struct CornerRightUp;
2263
2264impl IconShape for CornerRightUp {
2265    fn child_elements(&self) -> Element {
2266        rsx!(polyline {
2267        points: "10 9 15 4 20 9",
2268            }
2269path {
2270        d: "M4 20h7a4 4 0 0 0 4-4V4",
2271            })
2272    }
2273
2274    const WIDTH: Option<&'static str> = Some("24");
2275    const HEIGHT: Option<&'static str> = Some("24");
2276    const FILL: Option<&'static str> = Some("none");
2277    const STROKE: Option<&'static str> = Some("currentColor");
2278    const STROKE_WIDTH: Option<&'static str> = Some("2");
2279    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2280    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2281    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2282
2283}
2284
2285#[derive(Default, Copy, Clone, PartialEq, Eq)]
2286pub struct CornerUpLeft;
2287
2288impl IconShape for CornerUpLeft {
2289    fn child_elements(&self) -> Element {
2290        rsx!(polyline {
2291        points: "9 14 4 9 9 4",
2292            }
2293path {
2294        d: "M20 20v-7a4 4 0 0 0-4-4H4",
2295            })
2296    }
2297
2298    const WIDTH: Option<&'static str> = Some("24");
2299    const HEIGHT: Option<&'static str> = Some("24");
2300    const FILL: Option<&'static str> = Some("none");
2301    const STROKE: Option<&'static str> = Some("currentColor");
2302    const STROKE_WIDTH: Option<&'static str> = Some("2");
2303    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2304    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2305    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2306
2307}
2308
2309#[derive(Default, Copy, Clone, PartialEq, Eq)]
2310pub struct CornerUpRight;
2311
2312impl IconShape for CornerUpRight {
2313    fn child_elements(&self) -> Element {
2314        rsx!(polyline {
2315        points: "15 14 20 9 15 4",
2316            }
2317path {
2318        d: "M4 20v-7a4 4 0 0 1 4-4h12",
2319            })
2320    }
2321
2322    const WIDTH: Option<&'static str> = Some("24");
2323    const HEIGHT: Option<&'static str> = Some("24");
2324    const FILL: Option<&'static str> = Some("none");
2325    const STROKE: Option<&'static str> = Some("currentColor");
2326    const STROKE_WIDTH: Option<&'static str> = Some("2");
2327    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2328    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2329    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2330
2331}
2332
2333#[derive(Default, Copy, Clone, PartialEq, Eq)]
2334pub struct Cpu;
2335
2336impl IconShape for Cpu {
2337    fn child_elements(&self) -> Element {
2338        rsx!(rect {
2339        height: "16",
2340        rx: "2",
2341        ry: "2",
2342        width: "16",
2343        x: "4",
2344        y: "4",
2345            }
2346rect {
2347        height: "6",
2348        width: "6",
2349        x: "9",
2350        y: "9",
2351            }
2352line {
2353        x1: "9",
2354        x2: "9",
2355        y1: "1",
2356        y2: "4",
2357            }
2358line {
2359        x1: "15",
2360        x2: "15",
2361        y1: "1",
2362        y2: "4",
2363            }
2364line {
2365        x1: "9",
2366        x2: "9",
2367        y1: "20",
2368        y2: "23",
2369            }
2370line {
2371        x1: "15",
2372        x2: "15",
2373        y1: "20",
2374        y2: "23",
2375            }
2376line {
2377        x1: "20",
2378        x2: "23",
2379        y1: "9",
2380        y2: "9",
2381            }
2382line {
2383        x1: "20",
2384        x2: "23",
2385        y1: "14",
2386        y2: "14",
2387            }
2388line {
2389        x1: "1",
2390        x2: "4",
2391        y1: "9",
2392        y2: "9",
2393            }
2394line {
2395        x1: "1",
2396        x2: "4",
2397        y1: "14",
2398        y2: "14",
2399            })
2400    }
2401
2402    const WIDTH: Option<&'static str> = Some("24");
2403    const HEIGHT: Option<&'static str> = Some("24");
2404    const FILL: Option<&'static str> = Some("none");
2405    const STROKE: Option<&'static str> = Some("currentColor");
2406    const STROKE_WIDTH: Option<&'static str> = Some("2");
2407    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2408    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2409    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2410
2411}
2412
2413#[derive(Default, Copy, Clone, PartialEq, Eq)]
2414pub struct CreditCard;
2415
2416impl IconShape for CreditCard {
2417    fn child_elements(&self) -> Element {
2418        rsx!(rect {
2419        height: "16",
2420        rx: "2",
2421        ry: "2",
2422        width: "22",
2423        x: "1",
2424        y: "4",
2425            }
2426line {
2427        x1: "1",
2428        x2: "23",
2429        y1: "10",
2430        y2: "10",
2431            })
2432    }
2433
2434    const WIDTH: Option<&'static str> = Some("24");
2435    const HEIGHT: Option<&'static str> = Some("24");
2436    const FILL: Option<&'static str> = Some("none");
2437    const STROKE: Option<&'static str> = Some("currentColor");
2438    const STROKE_WIDTH: Option<&'static str> = Some("2");
2439    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2440    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2441    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2442
2443}
2444
2445#[derive(Default, Copy, Clone, PartialEq, Eq)]
2446pub struct Crop;
2447
2448impl IconShape for Crop {
2449    fn child_elements(&self) -> Element {
2450        rsx!(path {
2451        d: "M6.13 1L6 16a2 2 0 0 0 2 2h15",
2452            }
2453path {
2454        d: "M1 6.13L16 6a2 2 0 0 1 2 2v15",
2455            })
2456    }
2457
2458    const WIDTH: Option<&'static str> = Some("24");
2459    const HEIGHT: Option<&'static str> = Some("24");
2460    const FILL: Option<&'static str> = Some("none");
2461    const STROKE: Option<&'static str> = Some("currentColor");
2462    const STROKE_WIDTH: Option<&'static str> = Some("2");
2463    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2464    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2465    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2466
2467}
2468
2469#[derive(Default, Copy, Clone, PartialEq, Eq)]
2470pub struct Crosshair;
2471
2472impl IconShape for Crosshair {
2473    fn child_elements(&self) -> Element {
2474        rsx!(circle {
2475        cx: "12",
2476        cy: "12",
2477        r: "10",
2478            }
2479line {
2480        x1: "22",
2481        x2: "18",
2482        y1: "12",
2483        y2: "12",
2484            }
2485line {
2486        x1: "6",
2487        x2: "2",
2488        y1: "12",
2489        y2: "12",
2490            }
2491line {
2492        x1: "12",
2493        x2: "12",
2494        y1: "6",
2495        y2: "2",
2496            }
2497line {
2498        x1: "12",
2499        x2: "12",
2500        y1: "22",
2501        y2: "18",
2502            })
2503    }
2504
2505    const WIDTH: Option<&'static str> = Some("24");
2506    const HEIGHT: Option<&'static str> = Some("24");
2507    const FILL: Option<&'static str> = Some("none");
2508    const STROKE: Option<&'static str> = Some("currentColor");
2509    const STROKE_WIDTH: Option<&'static str> = Some("2");
2510    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2511    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2512    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2513
2514}
2515
2516#[derive(Default, Copy, Clone, PartialEq, Eq)]
2517pub struct Database;
2518
2519impl IconShape for Database {
2520    fn child_elements(&self) -> Element {
2521        rsx!(ellipse {
2522        cx: "12",
2523        cy: "5",
2524        rx: "9",
2525        ry: "3",
2526            }
2527path {
2528        d: "M21 12c0 1.66-4 3-9 3s-9-1.34-9-3",
2529            }
2530path {
2531        d: "M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5",
2532            })
2533    }
2534
2535    const WIDTH: Option<&'static str> = Some("24");
2536    const HEIGHT: Option<&'static str> = Some("24");
2537    const FILL: Option<&'static str> = Some("none");
2538    const STROKE: Option<&'static str> = Some("currentColor");
2539    const STROKE_WIDTH: Option<&'static str> = Some("2");
2540    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2541    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2542    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2543
2544}
2545
2546#[derive(Default, Copy, Clone, PartialEq, Eq)]
2547pub struct Delete;
2548
2549impl IconShape for Delete {
2550    fn child_elements(&self) -> Element {
2551        rsx!(path {
2552        d: "M21 4H8l-7 8 7 8h13a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z",
2553            }
2554line {
2555        x1: "18",
2556        x2: "12",
2557        y1: "9",
2558        y2: "15",
2559            }
2560line {
2561        x1: "12",
2562        x2: "18",
2563        y1: "9",
2564        y2: "15",
2565            })
2566    }
2567
2568    const WIDTH: Option<&'static str> = Some("24");
2569    const HEIGHT: Option<&'static str> = Some("24");
2570    const FILL: Option<&'static str> = Some("none");
2571    const STROKE: Option<&'static str> = Some("currentColor");
2572    const STROKE_WIDTH: Option<&'static str> = Some("2");
2573    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2574    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2575    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2576
2577}
2578
2579#[derive(Default, Copy, Clone, PartialEq, Eq)]
2580pub struct Disc;
2581
2582impl IconShape for Disc {
2583    fn child_elements(&self) -> Element {
2584        rsx!(circle {
2585        cx: "12",
2586        cy: "12",
2587        r: "10",
2588            }
2589circle {
2590        cx: "12",
2591        cy: "12",
2592        r: "3",
2593            })
2594    }
2595
2596    const WIDTH: Option<&'static str> = Some("24");
2597    const HEIGHT: Option<&'static str> = Some("24");
2598    const FILL: Option<&'static str> = Some("none");
2599    const STROKE: Option<&'static str> = Some("currentColor");
2600    const STROKE_WIDTH: Option<&'static str> = Some("2");
2601    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2602    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2603    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2604
2605}
2606
2607#[derive(Default, Copy, Clone, PartialEq, Eq)]
2608pub struct Divide;
2609
2610impl IconShape for Divide {
2611    fn child_elements(&self) -> Element {
2612        rsx!(circle {
2613        cx: "12",
2614        cy: "6",
2615        r: "2",
2616            }
2617line {
2618        x1: "5",
2619        x2: "19",
2620        y1: "12",
2621        y2: "12",
2622            }
2623circle {
2624        cx: "12",
2625        cy: "18",
2626        r: "2",
2627            })
2628    }
2629
2630    const WIDTH: Option<&'static str> = Some("24");
2631    const HEIGHT: Option<&'static str> = Some("24");
2632    const FILL: Option<&'static str> = Some("none");
2633    const STROKE: Option<&'static str> = Some("currentColor");
2634    const STROKE_WIDTH: Option<&'static str> = Some("2");
2635    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2636    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2637    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2638
2639}
2640
2641#[derive(Default, Copy, Clone, PartialEq, Eq)]
2642pub struct DivideCircle;
2643
2644impl IconShape for DivideCircle {
2645    fn child_elements(&self) -> Element {
2646        rsx!(line {
2647        x1: "8",
2648        x2: "16",
2649        y1: "12",
2650        y2: "12",
2651            }
2652line {
2653        x1: "12",
2654        x2: "12",
2655        y1: "16",
2656        y2: "16",
2657            }
2658line {
2659        x1: "12",
2660        x2: "12",
2661        y1: "8",
2662        y2: "8",
2663            }
2664circle {
2665        cx: "12",
2666        cy: "12",
2667        r: "10",
2668            })
2669    }
2670
2671    const WIDTH: Option<&'static str> = Some("24");
2672    const HEIGHT: Option<&'static str> = Some("24");
2673    const FILL: Option<&'static str> = Some("none");
2674    const STROKE: Option<&'static str> = Some("currentColor");
2675    const STROKE_WIDTH: Option<&'static str> = Some("2");
2676    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2677    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2678    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2679
2680}
2681
2682#[derive(Default, Copy, Clone, PartialEq, Eq)]
2683pub struct DivideSquare;
2684
2685impl IconShape for DivideSquare {
2686    fn child_elements(&self) -> Element {
2687        rsx!(rect {
2688        height: "18",
2689        rx: "2",
2690        ry: "2",
2691        width: "18",
2692        x: "3",
2693        y: "3",
2694            }
2695line {
2696        x1: "8",
2697        x2: "16",
2698        y1: "12",
2699        y2: "12",
2700            }
2701line {
2702        x1: "12",
2703        x2: "12",
2704        y1: "16",
2705        y2: "16",
2706            }
2707line {
2708        x1: "12",
2709        x2: "12",
2710        y1: "8",
2711        y2: "8",
2712            })
2713    }
2714
2715    const WIDTH: Option<&'static str> = Some("24");
2716    const HEIGHT: Option<&'static str> = Some("24");
2717    const FILL: Option<&'static str> = Some("none");
2718    const STROKE: Option<&'static str> = Some("currentColor");
2719    const STROKE_WIDTH: Option<&'static str> = Some("2");
2720    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2721    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2722    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2723
2724}
2725
2726#[derive(Default, Copy, Clone, PartialEq, Eq)]
2727pub struct DollarSign;
2728
2729impl IconShape for DollarSign {
2730    fn child_elements(&self) -> Element {
2731        rsx!(line {
2732        x1: "12",
2733        x2: "12",
2734        y1: "1",
2735        y2: "23",
2736            }
2737path {
2738        d: "M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",
2739            })
2740    }
2741
2742    const WIDTH: Option<&'static str> = Some("24");
2743    const HEIGHT: Option<&'static str> = Some("24");
2744    const FILL: Option<&'static str> = Some("none");
2745    const STROKE: Option<&'static str> = Some("currentColor");
2746    const STROKE_WIDTH: Option<&'static str> = Some("2");
2747    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2748    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2749    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2750
2751}
2752
2753#[derive(Default, Copy, Clone, PartialEq, Eq)]
2754pub struct Download;
2755
2756impl IconShape for Download {
2757    fn child_elements(&self) -> Element {
2758        rsx!(path {
2759        d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",
2760            }
2761polyline {
2762        points: "7 10 12 15 17 10",
2763            }
2764line {
2765        x1: "12",
2766        x2: "12",
2767        y1: "15",
2768        y2: "3",
2769            })
2770    }
2771
2772    const WIDTH: Option<&'static str> = Some("24");
2773    const HEIGHT: Option<&'static str> = Some("24");
2774    const FILL: Option<&'static str> = Some("none");
2775    const STROKE: Option<&'static str> = Some("currentColor");
2776    const STROKE_WIDTH: Option<&'static str> = Some("2");
2777    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2778    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2779    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2780
2781}
2782
2783#[derive(Default, Copy, Clone, PartialEq, Eq)]
2784pub struct DownloadCloud;
2785
2786impl IconShape for DownloadCloud {
2787    fn child_elements(&self) -> Element {
2788        rsx!(polyline {
2789        points: "8 17 12 21 16 17",
2790            }
2791line {
2792        x1: "12",
2793        x2: "12",
2794        y1: "12",
2795        y2: "21",
2796            }
2797path {
2798        d: "M20.88 18.09A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.29",
2799            })
2800    }
2801
2802    const WIDTH: Option<&'static str> = Some("24");
2803    const HEIGHT: Option<&'static str> = Some("24");
2804    const FILL: Option<&'static str> = Some("none");
2805    const STROKE: Option<&'static str> = Some("currentColor");
2806    const STROKE_WIDTH: Option<&'static str> = Some("2");
2807    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2808    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2809    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2810
2811}
2812
2813#[derive(Default, Copy, Clone, PartialEq, Eq)]
2814pub struct Dribbble;
2815
2816impl IconShape for Dribbble {
2817    fn child_elements(&self) -> Element {
2818        rsx!(circle {
2819        cx: "12",
2820        cy: "12",
2821        r: "10",
2822            }
2823path {
2824        d: "M8.56 2.75c4.37 6.03 6.02 9.42 8.03 17.72m2.54-15.38c-3.72 4.35-8.94 5.66-16.88 5.85m19.5 1.9c-3.5-.93-6.63-.82-8.94 0-2.58.92-5.01 2.86-7.44 6.32",
2825            })
2826    }
2827
2828    const WIDTH: Option<&'static str> = Some("24");
2829    const HEIGHT: Option<&'static str> = Some("24");
2830    const FILL: Option<&'static str> = Some("none");
2831    const STROKE: Option<&'static str> = Some("currentColor");
2832    const STROKE_WIDTH: Option<&'static str> = Some("2");
2833    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2834    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2835    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2836
2837}
2838
2839#[derive(Default, Copy, Clone, PartialEq, Eq)]
2840pub struct Droplet;
2841
2842impl IconShape for Droplet {
2843    fn child_elements(&self) -> Element {
2844        rsx!(path {
2845        d: "M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z",
2846            })
2847    }
2848
2849    const WIDTH: Option<&'static str> = Some("24");
2850    const HEIGHT: Option<&'static str> = Some("24");
2851    const FILL: Option<&'static str> = Some("none");
2852    const STROKE: Option<&'static str> = Some("currentColor");
2853    const STROKE_WIDTH: Option<&'static str> = Some("2");
2854    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2855    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2856    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2857
2858}
2859
2860#[derive(Default, Copy, Clone, PartialEq, Eq)]
2861pub struct Edit;
2862
2863impl IconShape for Edit {
2864    fn child_elements(&self) -> Element {
2865        rsx!(path {
2866        d: "M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",
2867            }
2868path {
2869        d: "M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z",
2870            })
2871    }
2872
2873    const WIDTH: Option<&'static str> = Some("24");
2874    const HEIGHT: Option<&'static str> = Some("24");
2875    const FILL: Option<&'static str> = Some("none");
2876    const STROKE: Option<&'static str> = Some("currentColor");
2877    const STROKE_WIDTH: Option<&'static str> = Some("2");
2878    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2879    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2880    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2881
2882}
2883
2884#[derive(Default, Copy, Clone, PartialEq, Eq)]
2885pub struct Edit2;
2886
2887impl IconShape for Edit2 {
2888    fn child_elements(&self) -> Element {
2889        rsx!(path {
2890        d: "M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z",
2891            })
2892    }
2893
2894    const WIDTH: Option<&'static str> = Some("24");
2895    const HEIGHT: Option<&'static str> = Some("24");
2896    const FILL: Option<&'static str> = Some("none");
2897    const STROKE: Option<&'static str> = Some("currentColor");
2898    const STROKE_WIDTH: Option<&'static str> = Some("2");
2899    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2900    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2901    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2902
2903}
2904
2905#[derive(Default, Copy, Clone, PartialEq, Eq)]
2906pub struct Edit3;
2907
2908impl IconShape for Edit3 {
2909    fn child_elements(&self) -> Element {
2910        rsx!(path {
2911        d: "M12 20h9",
2912            }
2913path {
2914        d: "M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z",
2915            })
2916    }
2917
2918    const WIDTH: Option<&'static str> = Some("24");
2919    const HEIGHT: Option<&'static str> = Some("24");
2920    const FILL: Option<&'static str> = Some("none");
2921    const STROKE: Option<&'static str> = Some("currentColor");
2922    const STROKE_WIDTH: Option<&'static str> = Some("2");
2923    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2924    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2925    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2926
2927}
2928
2929#[derive(Default, Copy, Clone, PartialEq, Eq)]
2930pub struct ExternalLink;
2931
2932impl IconShape for ExternalLink {
2933    fn child_elements(&self) -> Element {
2934        rsx!(path {
2935        d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",
2936            }
2937polyline {
2938        points: "15 3 21 3 21 9",
2939            }
2940line {
2941        x1: "10",
2942        x2: "21",
2943        y1: "14",
2944        y2: "3",
2945            })
2946    }
2947
2948    const WIDTH: Option<&'static str> = Some("24");
2949    const HEIGHT: Option<&'static str> = Some("24");
2950    const FILL: Option<&'static str> = Some("none");
2951    const STROKE: Option<&'static str> = Some("currentColor");
2952    const STROKE_WIDTH: Option<&'static str> = Some("2");
2953    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2954    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2955    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2956
2957}
2958
2959#[derive(Default, Copy, Clone, PartialEq, Eq)]
2960pub struct Eye;
2961
2962impl IconShape for Eye {
2963    fn child_elements(&self) -> Element {
2964        rsx!(path {
2965        d: "M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z",
2966            }
2967circle {
2968        cx: "12",
2969        cy: "12",
2970        r: "3",
2971            })
2972    }
2973
2974    const WIDTH: Option<&'static str> = Some("24");
2975    const HEIGHT: Option<&'static str> = Some("24");
2976    const FILL: Option<&'static str> = Some("none");
2977    const STROKE: Option<&'static str> = Some("currentColor");
2978    const STROKE_WIDTH: Option<&'static str> = Some("2");
2979    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
2980    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
2981    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
2982
2983}
2984
2985#[derive(Default, Copy, Clone, PartialEq, Eq)]
2986pub struct EyeOff;
2987
2988impl IconShape for EyeOff {
2989    fn child_elements(&self) -> Element {
2990        rsx!(path {
2991        d: "M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24",
2992            }
2993line {
2994        x1: "1",
2995        x2: "23",
2996        y1: "1",
2997        y2: "23",
2998            })
2999    }
3000
3001    const WIDTH: Option<&'static str> = Some("24");
3002    const HEIGHT: Option<&'static str> = Some("24");
3003    const FILL: Option<&'static str> = Some("none");
3004    const STROKE: Option<&'static str> = Some("currentColor");
3005    const STROKE_WIDTH: Option<&'static str> = Some("2");
3006    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3007    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3008    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3009
3010}
3011
3012#[derive(Default, Copy, Clone, PartialEq, Eq)]
3013pub struct Facebook;
3014
3015impl IconShape for Facebook {
3016    fn child_elements(&self) -> Element {
3017        rsx!(path {
3018        d: "M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z",
3019            })
3020    }
3021
3022    const WIDTH: Option<&'static str> = Some("24");
3023    const HEIGHT: Option<&'static str> = Some("24");
3024    const FILL: Option<&'static str> = Some("none");
3025    const STROKE: Option<&'static str> = Some("currentColor");
3026    const STROKE_WIDTH: Option<&'static str> = Some("2");
3027    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3028    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3029    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3030
3031}
3032
3033#[derive(Default, Copy, Clone, PartialEq, Eq)]
3034pub struct FastForward;
3035
3036impl IconShape for FastForward {
3037    fn child_elements(&self) -> Element {
3038        rsx!(polygon {
3039        points: "13 19 22 12 13 5 13 19",
3040            }
3041polygon {
3042        points: "2 19 11 12 2 5 2 19",
3043            })
3044    }
3045
3046    const WIDTH: Option<&'static str> = Some("24");
3047    const HEIGHT: Option<&'static str> = Some("24");
3048    const FILL: Option<&'static str> = Some("none");
3049    const STROKE: Option<&'static str> = Some("currentColor");
3050    const STROKE_WIDTH: Option<&'static str> = Some("2");
3051    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3052    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3053    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3054
3055}
3056
3057#[derive(Default, Copy, Clone, PartialEq, Eq)]
3058pub struct Feather;
3059
3060impl IconShape for Feather {
3061    fn child_elements(&self) -> Element {
3062        rsx!(path {
3063        d: "M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z",
3064            }
3065line {
3066        x1: "16",
3067        x2: "2",
3068        y1: "8",
3069        y2: "22",
3070            }
3071line {
3072        x1: "17.5",
3073        x2: "9",
3074        y1: "15",
3075        y2: "15",
3076            })
3077    }
3078
3079    const WIDTH: Option<&'static str> = Some("24");
3080    const HEIGHT: Option<&'static str> = Some("24");
3081    const FILL: Option<&'static str> = Some("none");
3082    const STROKE: Option<&'static str> = Some("currentColor");
3083    const STROKE_WIDTH: Option<&'static str> = Some("2");
3084    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3085    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3086    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3087
3088}
3089
3090#[derive(Default, Copy, Clone, PartialEq, Eq)]
3091pub struct Figma;
3092
3093impl IconShape for Figma {
3094    fn child_elements(&self) -> Element {
3095        rsx!(path {
3096        d: "M5 5.5A3.5 3.5 0 0 1 8.5 2H12v7H8.5A3.5 3.5 0 0 1 5 5.5z",
3097            }
3098path {
3099        d: "M12 2h3.5a3.5 3.5 0 1 1 0 7H12V2z",
3100            }
3101path {
3102        d: "M12 12.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 1 1-7 0z",
3103            }
3104path {
3105        d: "M5 19.5A3.5 3.5 0 0 1 8.5 16H12v3.5a3.5 3.5 0 1 1-7 0z",
3106            }
3107path {
3108        d: "M5 12.5A3.5 3.5 0 0 1 8.5 9H12v7H8.5A3.5 3.5 0 0 1 5 12.5z",
3109            })
3110    }
3111
3112    const WIDTH: Option<&'static str> = Some("24");
3113    const HEIGHT: Option<&'static str> = Some("24");
3114    const FILL: Option<&'static str> = Some("none");
3115    const STROKE: Option<&'static str> = Some("currentColor");
3116    const STROKE_WIDTH: Option<&'static str> = Some("2");
3117    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3118    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3119    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3120
3121}
3122
3123#[derive(Default, Copy, Clone, PartialEq, Eq)]
3124pub struct File;
3125
3126impl IconShape for File {
3127    fn child_elements(&self) -> Element {
3128        rsx!(path {
3129        d: "M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z",
3130            }
3131polyline {
3132        points: "13 2 13 9 20 9",
3133            })
3134    }
3135
3136    const WIDTH: Option<&'static str> = Some("24");
3137    const HEIGHT: Option<&'static str> = Some("24");
3138    const FILL: Option<&'static str> = Some("none");
3139    const STROKE: Option<&'static str> = Some("currentColor");
3140    const STROKE_WIDTH: Option<&'static str> = Some("2");
3141    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3142    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3143    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3144
3145}
3146
3147#[derive(Default, Copy, Clone, PartialEq, Eq)]
3148pub struct FileMinus;
3149
3150impl IconShape for FileMinus {
3151    fn child_elements(&self) -> Element {
3152        rsx!(path {
3153        d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z",
3154            }
3155polyline {
3156        points: "14 2 14 8 20 8",
3157            }
3158line {
3159        x1: "9",
3160        x2: "15",
3161        y1: "15",
3162        y2: "15",
3163            })
3164    }
3165
3166    const WIDTH: Option<&'static str> = Some("24");
3167    const HEIGHT: Option<&'static str> = Some("24");
3168    const FILL: Option<&'static str> = Some("none");
3169    const STROKE: Option<&'static str> = Some("currentColor");
3170    const STROKE_WIDTH: Option<&'static str> = Some("2");
3171    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3172    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3173    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3174
3175}
3176
3177#[derive(Default, Copy, Clone, PartialEq, Eq)]
3178pub struct FilePlus;
3179
3180impl IconShape for FilePlus {
3181    fn child_elements(&self) -> Element {
3182        rsx!(path {
3183        d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z",
3184            }
3185polyline {
3186        points: "14 2 14 8 20 8",
3187            }
3188line {
3189        x1: "12",
3190        x2: "12",
3191        y1: "18",
3192        y2: "12",
3193            }
3194line {
3195        x1: "9",
3196        x2: "15",
3197        y1: "15",
3198        y2: "15",
3199            })
3200    }
3201
3202    const WIDTH: Option<&'static str> = Some("24");
3203    const HEIGHT: Option<&'static str> = Some("24");
3204    const FILL: Option<&'static str> = Some("none");
3205    const STROKE: Option<&'static str> = Some("currentColor");
3206    const STROKE_WIDTH: Option<&'static str> = Some("2");
3207    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3208    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3209    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3210
3211}
3212
3213#[derive(Default, Copy, Clone, PartialEq, Eq)]
3214pub struct FileText;
3215
3216impl IconShape for FileText {
3217    fn child_elements(&self) -> Element {
3218        rsx!(path {
3219        d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z",
3220            }
3221polyline {
3222        points: "14 2 14 8 20 8",
3223            }
3224line {
3225        x1: "16",
3226        x2: "8",
3227        y1: "13",
3228        y2: "13",
3229            }
3230line {
3231        x1: "16",
3232        x2: "8",
3233        y1: "17",
3234        y2: "17",
3235            }
3236polyline {
3237        points: "10 9 9 9 8 9",
3238            })
3239    }
3240
3241    const WIDTH: Option<&'static str> = Some("24");
3242    const HEIGHT: Option<&'static str> = Some("24");
3243    const FILL: Option<&'static str> = Some("none");
3244    const STROKE: Option<&'static str> = Some("currentColor");
3245    const STROKE_WIDTH: Option<&'static str> = Some("2");
3246    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3247    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3248    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3249
3250}
3251
3252#[derive(Default, Copy, Clone, PartialEq, Eq)]
3253pub struct Film;
3254
3255impl IconShape for Film {
3256    fn child_elements(&self) -> Element {
3257        rsx!(rect {
3258        height: "20",
3259        rx: "2.18",
3260        ry: "2.18",
3261        width: "20",
3262        x: "2",
3263        y: "2",
3264            }
3265line {
3266        x1: "7",
3267        x2: "7",
3268        y1: "2",
3269        y2: "22",
3270            }
3271line {
3272        x1: "17",
3273        x2: "17",
3274        y1: "2",
3275        y2: "22",
3276            }
3277line {
3278        x1: "2",
3279        x2: "22",
3280        y1: "12",
3281        y2: "12",
3282            }
3283line {
3284        x1: "2",
3285        x2: "7",
3286        y1: "7",
3287        y2: "7",
3288            }
3289line {
3290        x1: "2",
3291        x2: "7",
3292        y1: "17",
3293        y2: "17",
3294            }
3295line {
3296        x1: "17",
3297        x2: "22",
3298        y1: "17",
3299        y2: "17",
3300            }
3301line {
3302        x1: "17",
3303        x2: "22",
3304        y1: "7",
3305        y2: "7",
3306            })
3307    }
3308
3309    const WIDTH: Option<&'static str> = Some("24");
3310    const HEIGHT: Option<&'static str> = Some("24");
3311    const FILL: Option<&'static str> = Some("none");
3312    const STROKE: Option<&'static str> = Some("currentColor");
3313    const STROKE_WIDTH: Option<&'static str> = Some("2");
3314    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3315    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3316    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3317
3318}
3319
3320#[derive(Default, Copy, Clone, PartialEq, Eq)]
3321pub struct Filter;
3322
3323impl IconShape for Filter {
3324    fn child_elements(&self) -> Element {
3325        rsx!(polygon {
3326        points: "22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",
3327            })
3328    }
3329
3330    const WIDTH: Option<&'static str> = Some("24");
3331    const HEIGHT: Option<&'static str> = Some("24");
3332    const FILL: Option<&'static str> = Some("none");
3333    const STROKE: Option<&'static str> = Some("currentColor");
3334    const STROKE_WIDTH: Option<&'static str> = Some("2");
3335    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3336    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3337    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3338
3339}
3340
3341#[derive(Default, Copy, Clone, PartialEq, Eq)]
3342pub struct Flag;
3343
3344impl IconShape for Flag {
3345    fn child_elements(&self) -> Element {
3346        rsx!(path {
3347        d: "M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z",
3348            }
3349line {
3350        x1: "4",
3351        x2: "4",
3352        y1: "22",
3353        y2: "15",
3354            })
3355    }
3356
3357    const WIDTH: Option<&'static str> = Some("24");
3358    const HEIGHT: Option<&'static str> = Some("24");
3359    const FILL: Option<&'static str> = Some("none");
3360    const STROKE: Option<&'static str> = Some("currentColor");
3361    const STROKE_WIDTH: Option<&'static str> = Some("2");
3362    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3363    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3364    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3365
3366}
3367
3368#[derive(Default, Copy, Clone, PartialEq, Eq)]
3369pub struct Folder;
3370
3371impl IconShape for Folder {
3372    fn child_elements(&self) -> Element {
3373        rsx!(path {
3374        d: "M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z",
3375            })
3376    }
3377
3378    const WIDTH: Option<&'static str> = Some("24");
3379    const HEIGHT: Option<&'static str> = Some("24");
3380    const FILL: Option<&'static str> = Some("none");
3381    const STROKE: Option<&'static str> = Some("currentColor");
3382    const STROKE_WIDTH: Option<&'static str> = Some("2");
3383    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3384    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3385    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3386
3387}
3388
3389#[derive(Default, Copy, Clone, PartialEq, Eq)]
3390pub struct FolderMinus;
3391
3392impl IconShape for FolderMinus {
3393    fn child_elements(&self) -> Element {
3394        rsx!(path {
3395        d: "M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z",
3396            }
3397line {
3398        x1: "9",
3399        x2: "15",
3400        y1: "14",
3401        y2: "14",
3402            })
3403    }
3404
3405    const WIDTH: Option<&'static str> = Some("24");
3406    const HEIGHT: Option<&'static str> = Some("24");
3407    const FILL: Option<&'static str> = Some("none");
3408    const STROKE: Option<&'static str> = Some("currentColor");
3409    const STROKE_WIDTH: Option<&'static str> = Some("2");
3410    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3411    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3412    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3413
3414}
3415
3416#[derive(Default, Copy, Clone, PartialEq, Eq)]
3417pub struct FolderPlus;
3418
3419impl IconShape for FolderPlus {
3420    fn child_elements(&self) -> Element {
3421        rsx!(path {
3422        d: "M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z",
3423            }
3424line {
3425        x1: "12",
3426        x2: "12",
3427        y1: "11",
3428        y2: "17",
3429            }
3430line {
3431        x1: "9",
3432        x2: "15",
3433        y1: "14",
3434        y2: "14",
3435            })
3436    }
3437
3438    const WIDTH: Option<&'static str> = Some("24");
3439    const HEIGHT: Option<&'static str> = Some("24");
3440    const FILL: Option<&'static str> = Some("none");
3441    const STROKE: Option<&'static str> = Some("currentColor");
3442    const STROKE_WIDTH: Option<&'static str> = Some("2");
3443    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3444    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3445    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3446
3447}
3448
3449#[derive(Default, Copy, Clone, PartialEq, Eq)]
3450pub struct Framer;
3451
3452impl IconShape for Framer {
3453    fn child_elements(&self) -> Element {
3454        rsx!(path {
3455        d: "M5 16V9h14V2H5l14 14h-7m-7 0l7 7v-7m-7 0h7",
3456            })
3457    }
3458
3459    const WIDTH: Option<&'static str> = Some("24");
3460    const HEIGHT: Option<&'static str> = Some("24");
3461    const FILL: Option<&'static str> = Some("none");
3462    const STROKE: Option<&'static str> = Some("currentColor");
3463    const STROKE_WIDTH: Option<&'static str> = Some("2");
3464    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3465    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3466    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3467
3468}
3469
3470#[derive(Default, Copy, Clone, PartialEq, Eq)]
3471pub struct Frown;
3472
3473impl IconShape for Frown {
3474    fn child_elements(&self) -> Element {
3475        rsx!(circle {
3476        cx: "12",
3477        cy: "12",
3478        r: "10",
3479            }
3480path {
3481        d: "M16 16s-1.5-2-4-2-4 2-4 2",
3482            }
3483line {
3484        x1: "9",
3485        x2: "9.01",
3486        y1: "9",
3487        y2: "9",
3488            }
3489line {
3490        x1: "15",
3491        x2: "15.01",
3492        y1: "9",
3493        y2: "9",
3494            })
3495    }
3496
3497    const WIDTH: Option<&'static str> = Some("24");
3498    const HEIGHT: Option<&'static str> = Some("24");
3499    const FILL: Option<&'static str> = Some("none");
3500    const STROKE: Option<&'static str> = Some("currentColor");
3501    const STROKE_WIDTH: Option<&'static str> = Some("2");
3502    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3503    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3504    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3505
3506}
3507
3508#[derive(Default, Copy, Clone, PartialEq, Eq)]
3509pub struct Gift;
3510
3511impl IconShape for Gift {
3512    fn child_elements(&self) -> Element {
3513        rsx!(polyline {
3514        points: "20 12 20 22 4 22 4 12",
3515            }
3516rect {
3517        height: "5",
3518        width: "20",
3519        x: "2",
3520        y: "7",
3521            }
3522line {
3523        x1: "12",
3524        x2: "12",
3525        y1: "22",
3526        y2: "7",
3527            }
3528path {
3529        d: "M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z",
3530            }
3531path {
3532        d: "M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z",
3533            })
3534    }
3535
3536    const WIDTH: Option<&'static str> = Some("24");
3537    const HEIGHT: Option<&'static str> = Some("24");
3538    const FILL: Option<&'static str> = Some("none");
3539    const STROKE: Option<&'static str> = Some("currentColor");
3540    const STROKE_WIDTH: Option<&'static str> = Some("2");
3541    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3542    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3543    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3544
3545}
3546
3547#[derive(Default, Copy, Clone, PartialEq, Eq)]
3548pub struct GitBranch;
3549
3550impl IconShape for GitBranch {
3551    fn child_elements(&self) -> Element {
3552        rsx!(line {
3553        x1: "6",
3554        x2: "6",
3555        y1: "3",
3556        y2: "15",
3557            }
3558circle {
3559        cx: "18",
3560        cy: "6",
3561        r: "3",
3562            }
3563circle {
3564        cx: "6",
3565        cy: "18",
3566        r: "3",
3567            }
3568path {
3569        d: "M18 9a9 9 0 0 1-9 9",
3570            })
3571    }
3572
3573    const WIDTH: Option<&'static str> = Some("24");
3574    const HEIGHT: Option<&'static str> = Some("24");
3575    const FILL: Option<&'static str> = Some("none");
3576    const STROKE: Option<&'static str> = Some("currentColor");
3577    const STROKE_WIDTH: Option<&'static str> = Some("2");
3578    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3579    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3580    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3581
3582}
3583
3584#[derive(Default, Copy, Clone, PartialEq, Eq)]
3585pub struct GitCommit;
3586
3587impl IconShape for GitCommit {
3588    fn child_elements(&self) -> Element {
3589        rsx!(circle {
3590        cx: "12",
3591        cy: "12",
3592        r: "4",
3593            }
3594line {
3595        x1: "1.05",
3596        x2: "7",
3597        y1: "12",
3598        y2: "12",
3599            }
3600line {
3601        x1: "17.01",
3602        x2: "22.96",
3603        y1: "12",
3604        y2: "12",
3605            })
3606    }
3607
3608    const WIDTH: Option<&'static str> = Some("24");
3609    const HEIGHT: Option<&'static str> = Some("24");
3610    const FILL: Option<&'static str> = Some("none");
3611    const STROKE: Option<&'static str> = Some("currentColor");
3612    const STROKE_WIDTH: Option<&'static str> = Some("2");
3613    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3614    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3615    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3616
3617}
3618
3619#[derive(Default, Copy, Clone, PartialEq, Eq)]
3620pub struct GitMerge;
3621
3622impl IconShape for GitMerge {
3623    fn child_elements(&self) -> Element {
3624        rsx!(circle {
3625        cx: "18",
3626        cy: "18",
3627        r: "3",
3628            }
3629circle {
3630        cx: "6",
3631        cy: "6",
3632        r: "3",
3633            }
3634path {
3635        d: "M6 21V9a9 9 0 0 0 9 9",
3636            })
3637    }
3638
3639    const WIDTH: Option<&'static str> = Some("24");
3640    const HEIGHT: Option<&'static str> = Some("24");
3641    const FILL: Option<&'static str> = Some("none");
3642    const STROKE: Option<&'static str> = Some("currentColor");
3643    const STROKE_WIDTH: Option<&'static str> = Some("2");
3644    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3645    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3646    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3647
3648}
3649
3650#[derive(Default, Copy, Clone, PartialEq, Eq)]
3651pub struct GitPullRequest;
3652
3653impl IconShape for GitPullRequest {
3654    fn child_elements(&self) -> Element {
3655        rsx!(circle {
3656        cx: "18",
3657        cy: "18",
3658        r: "3",
3659            }
3660circle {
3661        cx: "6",
3662        cy: "6",
3663        r: "3",
3664            }
3665path {
3666        d: "M13 6h3a2 2 0 0 1 2 2v7",
3667            }
3668line {
3669        x1: "6",
3670        x2: "6",
3671        y1: "9",
3672        y2: "21",
3673            })
3674    }
3675
3676    const WIDTH: Option<&'static str> = Some("24");
3677    const HEIGHT: Option<&'static str> = Some("24");
3678    const FILL: Option<&'static str> = Some("none");
3679    const STROKE: Option<&'static str> = Some("currentColor");
3680    const STROKE_WIDTH: Option<&'static str> = Some("2");
3681    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3682    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3683    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3684
3685}
3686
3687#[derive(Default, Copy, Clone, PartialEq, Eq)]
3688pub struct Github;
3689
3690impl IconShape for Github {
3691    fn child_elements(&self) -> Element {
3692        rsx!(path {
3693        d: "M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22",
3694            })
3695    }
3696
3697    const WIDTH: Option<&'static str> = Some("24");
3698    const HEIGHT: Option<&'static str> = Some("24");
3699    const FILL: Option<&'static str> = Some("none");
3700    const STROKE: Option<&'static str> = Some("currentColor");
3701    const STROKE_WIDTH: Option<&'static str> = Some("2");
3702    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3703    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3704    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3705
3706}
3707
3708#[derive(Default, Copy, Clone, PartialEq, Eq)]
3709pub struct Gitlab;
3710
3711impl IconShape for Gitlab {
3712    fn child_elements(&self) -> Element {
3713        rsx!(path {
3714        d: "M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z",
3715            })
3716    }
3717
3718    const WIDTH: Option<&'static str> = Some("24");
3719    const HEIGHT: Option<&'static str> = Some("24");
3720    const FILL: Option<&'static str> = Some("none");
3721    const STROKE: Option<&'static str> = Some("currentColor");
3722    const STROKE_WIDTH: Option<&'static str> = Some("2");
3723    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3724    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3725    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3726
3727}
3728
3729#[derive(Default, Copy, Clone, PartialEq, Eq)]
3730pub struct Globe;
3731
3732impl IconShape for Globe {
3733    fn child_elements(&self) -> Element {
3734        rsx!(circle {
3735        cx: "12",
3736        cy: "12",
3737        r: "10",
3738            }
3739line {
3740        x1: "2",
3741        x2: "22",
3742        y1: "12",
3743        y2: "12",
3744            }
3745path {
3746        d: "M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z",
3747            })
3748    }
3749
3750    const WIDTH: Option<&'static str> = Some("24");
3751    const HEIGHT: Option<&'static str> = Some("24");
3752    const FILL: Option<&'static str> = Some("none");
3753    const STROKE: Option<&'static str> = Some("currentColor");
3754    const STROKE_WIDTH: Option<&'static str> = Some("2");
3755    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3756    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3757    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3758
3759}
3760
3761#[derive(Default, Copy, Clone, PartialEq, Eq)]
3762pub struct Grid;
3763
3764impl IconShape for Grid {
3765    fn child_elements(&self) -> Element {
3766        rsx!(rect {
3767        height: "7",
3768        width: "7",
3769        x: "3",
3770        y: "3",
3771            }
3772rect {
3773        height: "7",
3774        width: "7",
3775        x: "14",
3776        y: "3",
3777            }
3778rect {
3779        height: "7",
3780        width: "7",
3781        x: "14",
3782        y: "14",
3783            }
3784rect {
3785        height: "7",
3786        width: "7",
3787        x: "3",
3788        y: "14",
3789            })
3790    }
3791
3792    const WIDTH: Option<&'static str> = Some("24");
3793    const HEIGHT: Option<&'static str> = Some("24");
3794    const FILL: Option<&'static str> = Some("none");
3795    const STROKE: Option<&'static str> = Some("currentColor");
3796    const STROKE_WIDTH: Option<&'static str> = Some("2");
3797    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3798    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3799    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3800
3801}
3802
3803#[derive(Default, Copy, Clone, PartialEq, Eq)]
3804pub struct HardDrive;
3805
3806impl IconShape for HardDrive {
3807    fn child_elements(&self) -> Element {
3808        rsx!(line {
3809        x1: "22",
3810        x2: "2",
3811        y1: "12",
3812        y2: "12",
3813            }
3814path {
3815        d: "M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",
3816            }
3817line {
3818        x1: "6",
3819        x2: "6.01",
3820        y1: "16",
3821        y2: "16",
3822            }
3823line {
3824        x1: "10",
3825        x2: "10.01",
3826        y1: "16",
3827        y2: "16",
3828            })
3829    }
3830
3831    const WIDTH: Option<&'static str> = Some("24");
3832    const HEIGHT: Option<&'static str> = Some("24");
3833    const FILL: Option<&'static str> = Some("none");
3834    const STROKE: Option<&'static str> = Some("currentColor");
3835    const STROKE_WIDTH: Option<&'static str> = Some("2");
3836    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3837    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3838    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3839
3840}
3841
3842#[derive(Default, Copy, Clone, PartialEq, Eq)]
3843pub struct Hash;
3844
3845impl IconShape for Hash {
3846    fn child_elements(&self) -> Element {
3847        rsx!(line {
3848        x1: "4",
3849        x2: "20",
3850        y1: "9",
3851        y2: "9",
3852            }
3853line {
3854        x1: "4",
3855        x2: "20",
3856        y1: "15",
3857        y2: "15",
3858            }
3859line {
3860        x1: "10",
3861        x2: "8",
3862        y1: "3",
3863        y2: "21",
3864            }
3865line {
3866        x1: "16",
3867        x2: "14",
3868        y1: "3",
3869        y2: "21",
3870            })
3871    }
3872
3873    const WIDTH: Option<&'static str> = Some("24");
3874    const HEIGHT: Option<&'static str> = Some("24");
3875    const FILL: Option<&'static str> = Some("none");
3876    const STROKE: Option<&'static str> = Some("currentColor");
3877    const STROKE_WIDTH: Option<&'static str> = Some("2");
3878    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3879    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3880    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3881
3882}
3883
3884#[derive(Default, Copy, Clone, PartialEq, Eq)]
3885pub struct Headphones;
3886
3887impl IconShape for Headphones {
3888    fn child_elements(&self) -> Element {
3889        rsx!(path {
3890        d: "M3 18v-6a9 9 0 0 1 18 0v6",
3891            }
3892path {
3893        d: "M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z",
3894            })
3895    }
3896
3897    const WIDTH: Option<&'static str> = Some("24");
3898    const HEIGHT: Option<&'static str> = Some("24");
3899    const FILL: Option<&'static str> = Some("none");
3900    const STROKE: Option<&'static str> = Some("currentColor");
3901    const STROKE_WIDTH: Option<&'static str> = Some("2");
3902    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3903    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3904    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3905
3906}
3907
3908#[derive(Default, Copy, Clone, PartialEq, Eq)]
3909pub struct Heart;
3910
3911impl IconShape for Heart {
3912    fn child_elements(&self) -> Element {
3913        rsx!(path {
3914        d: "M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z",
3915            })
3916    }
3917
3918    const WIDTH: Option<&'static str> = Some("24");
3919    const HEIGHT: Option<&'static str> = Some("24");
3920    const FILL: Option<&'static str> = Some("none");
3921    const STROKE: Option<&'static str> = Some("currentColor");
3922    const STROKE_WIDTH: Option<&'static str> = Some("2");
3923    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3924    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3925    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3926
3927}
3928
3929#[derive(Default, Copy, Clone, PartialEq, Eq)]
3930pub struct HelpCircle;
3931
3932impl IconShape for HelpCircle {
3933    fn child_elements(&self) -> Element {
3934        rsx!(circle {
3935        cx: "12",
3936        cy: "12",
3937        r: "10",
3938            }
3939path {
3940        d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",
3941            }
3942line {
3943        x1: "12",
3944        x2: "12.01",
3945        y1: "17",
3946        y2: "17",
3947            })
3948    }
3949
3950    const WIDTH: Option<&'static str> = Some("24");
3951    const HEIGHT: Option<&'static str> = Some("24");
3952    const FILL: Option<&'static str> = Some("none");
3953    const STROKE: Option<&'static str> = Some("currentColor");
3954    const STROKE_WIDTH: Option<&'static str> = Some("2");
3955    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3956    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3957    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3958
3959}
3960
3961#[derive(Default, Copy, Clone, PartialEq, Eq)]
3962pub struct Hexagon;
3963
3964impl IconShape for Hexagon {
3965    fn child_elements(&self) -> Element {
3966        rsx!(path {
3967        d: "M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z",
3968            })
3969    }
3970
3971    const WIDTH: Option<&'static str> = Some("24");
3972    const HEIGHT: Option<&'static str> = Some("24");
3973    const FILL: Option<&'static str> = Some("none");
3974    const STROKE: Option<&'static str> = Some("currentColor");
3975    const STROKE_WIDTH: Option<&'static str> = Some("2");
3976    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
3977    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
3978    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
3979
3980}
3981
3982#[derive(Default, Copy, Clone, PartialEq, Eq)]
3983pub struct Home;
3984
3985impl IconShape for Home {
3986    fn child_elements(&self) -> Element {
3987        rsx!(path {
3988        d: "M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",
3989            }
3990polyline {
3991        points: "9 22 9 12 15 12 15 22",
3992            })
3993    }
3994
3995    const WIDTH: Option<&'static str> = Some("24");
3996    const HEIGHT: Option<&'static str> = Some("24");
3997    const FILL: Option<&'static str> = Some("none");
3998    const STROKE: Option<&'static str> = Some("currentColor");
3999    const STROKE_WIDTH: Option<&'static str> = Some("2");
4000    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4001    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4002    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4003
4004}
4005
4006#[derive(Default, Copy, Clone, PartialEq, Eq)]
4007pub struct IconBox;
4008
4009impl IconShape for IconBox {
4010    fn child_elements(&self) -> Element {
4011        rsx!(path {
4012        d: "M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z",
4013            }
4014polyline {
4015        points: "3.27 6.96 12 12.01 20.73 6.96",
4016            }
4017line {
4018        x1: "12",
4019        x2: "12",
4020        y1: "22.08",
4021        y2: "12",
4022            })
4023    }
4024
4025    const WIDTH: Option<&'static str> = Some("24");
4026    const HEIGHT: Option<&'static str> = Some("24");
4027    const FILL: Option<&'static str> = Some("none");
4028    const STROKE: Option<&'static str> = Some("currentColor");
4029    const STROKE_WIDTH: Option<&'static str> = Some("2");
4030    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4031    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4032    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4033
4034}
4035
4036#[derive(Default, Copy, Clone, PartialEq, Eq)]
4037pub struct IconType;
4038
4039impl IconShape for IconType {
4040    fn child_elements(&self) -> Element {
4041        rsx!(polyline {
4042        points: "4 7 4 4 20 4 20 7",
4043            }
4044line {
4045        x1: "9",
4046        x2: "15",
4047        y1: "20",
4048        y2: "20",
4049            }
4050line {
4051        x1: "12",
4052        x2: "12",
4053        y1: "4",
4054        y2: "20",
4055            })
4056    }
4057
4058    const WIDTH: Option<&'static str> = Some("24");
4059    const HEIGHT: Option<&'static str> = Some("24");
4060    const FILL: Option<&'static str> = Some("none");
4061    const STROKE: Option<&'static str> = Some("currentColor");
4062    const STROKE_WIDTH: Option<&'static str> = Some("2");
4063    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4064    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4065    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4066
4067}
4068
4069#[derive(Default, Copy, Clone, PartialEq, Eq)]
4070pub struct Image;
4071
4072impl IconShape for Image {
4073    fn child_elements(&self) -> Element {
4074        rsx!(rect {
4075        height: "18",
4076        rx: "2",
4077        ry: "2",
4078        width: "18",
4079        x: "3",
4080        y: "3",
4081            }
4082circle {
4083        cx: "8.5",
4084        cy: "8.5",
4085        r: "1.5",
4086            }
4087polyline {
4088        points: "21 15 16 10 5 21",
4089            })
4090    }
4091
4092    const WIDTH: Option<&'static str> = Some("24");
4093    const HEIGHT: Option<&'static str> = Some("24");
4094    const FILL: Option<&'static str> = Some("none");
4095    const STROKE: Option<&'static str> = Some("currentColor");
4096    const STROKE_WIDTH: Option<&'static str> = Some("2");
4097    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4098    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4099    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4100
4101}
4102
4103#[derive(Default, Copy, Clone, PartialEq, Eq)]
4104pub struct Inbox;
4105
4106impl IconShape for Inbox {
4107    fn child_elements(&self) -> Element {
4108        rsx!(polyline {
4109        points: "22 12 16 12 14 15 10 15 8 12 2 12",
4110            }
4111path {
4112        d: "M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",
4113            })
4114    }
4115
4116    const WIDTH: Option<&'static str> = Some("24");
4117    const HEIGHT: Option<&'static str> = Some("24");
4118    const FILL: Option<&'static str> = Some("none");
4119    const STROKE: Option<&'static str> = Some("currentColor");
4120    const STROKE_WIDTH: Option<&'static str> = Some("2");
4121    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4122    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4123    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4124
4125}
4126
4127#[derive(Default, Copy, Clone, PartialEq, Eq)]
4128pub struct Info;
4129
4130impl IconShape for Info {
4131    fn child_elements(&self) -> Element {
4132        rsx!(circle {
4133        cx: "12",
4134        cy: "12",
4135        r: "10",
4136            }
4137line {
4138        x1: "12",
4139        x2: "12",
4140        y1: "16",
4141        y2: "12",
4142            }
4143line {
4144        x1: "12",
4145        x2: "12.01",
4146        y1: "8",
4147        y2: "8",
4148            })
4149    }
4150
4151    const WIDTH: Option<&'static str> = Some("24");
4152    const HEIGHT: Option<&'static str> = Some("24");
4153    const FILL: Option<&'static str> = Some("none");
4154    const STROKE: Option<&'static str> = Some("currentColor");
4155    const STROKE_WIDTH: Option<&'static str> = Some("2");
4156    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4157    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4158    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4159
4160}
4161
4162#[derive(Default, Copy, Clone, PartialEq, Eq)]
4163pub struct Instagram;
4164
4165impl IconShape for Instagram {
4166    fn child_elements(&self) -> Element {
4167        rsx!(rect {
4168        height: "20",
4169        rx: "5",
4170        ry: "5",
4171        width: "20",
4172        x: "2",
4173        y: "2",
4174            }
4175path {
4176        d: "M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z",
4177            }
4178line {
4179        x1: "17.5",
4180        x2: "17.51",
4181        y1: "6.5",
4182        y2: "6.5",
4183            })
4184    }
4185
4186    const WIDTH: Option<&'static str> = Some("24");
4187    const HEIGHT: Option<&'static str> = Some("24");
4188    const FILL: Option<&'static str> = Some("none");
4189    const STROKE: Option<&'static str> = Some("currentColor");
4190    const STROKE_WIDTH: Option<&'static str> = Some("2");
4191    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4192    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4193    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4194
4195}
4196
4197#[derive(Default, Copy, Clone, PartialEq, Eq)]
4198pub struct Italic;
4199
4200impl IconShape for Italic {
4201    fn child_elements(&self) -> Element {
4202        rsx!(line {
4203        x1: "19",
4204        x2: "10",
4205        y1: "4",
4206        y2: "4",
4207            }
4208line {
4209        x1: "14",
4210        x2: "5",
4211        y1: "20",
4212        y2: "20",
4213            }
4214line {
4215        x1: "15",
4216        x2: "9",
4217        y1: "4",
4218        y2: "20",
4219            })
4220    }
4221
4222    const WIDTH: Option<&'static str> = Some("24");
4223    const HEIGHT: Option<&'static str> = Some("24");
4224    const FILL: Option<&'static str> = Some("none");
4225    const STROKE: Option<&'static str> = Some("currentColor");
4226    const STROKE_WIDTH: Option<&'static str> = Some("2");
4227    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4228    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4229    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4230
4231}
4232
4233#[derive(Default, Copy, Clone, PartialEq, Eq)]
4234pub struct Key;
4235
4236impl IconShape for Key {
4237    fn child_elements(&self) -> Element {
4238        rsx!(path {
4239        d: "M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4",
4240            })
4241    }
4242
4243    const WIDTH: Option<&'static str> = Some("24");
4244    const HEIGHT: Option<&'static str> = Some("24");
4245    const FILL: Option<&'static str> = Some("none");
4246    const STROKE: Option<&'static str> = Some("currentColor");
4247    const STROKE_WIDTH: Option<&'static str> = Some("2");
4248    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4249    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4250    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4251
4252}
4253
4254#[derive(Default, Copy, Clone, PartialEq, Eq)]
4255pub struct Layers;
4256
4257impl IconShape for Layers {
4258    fn child_elements(&self) -> Element {
4259        rsx!(polygon {
4260        points: "12 2 2 7 12 12 22 7 12 2",
4261            }
4262polyline {
4263        points: "2 17 12 22 22 17",
4264            }
4265polyline {
4266        points: "2 12 12 17 22 12",
4267            })
4268    }
4269
4270    const WIDTH: Option<&'static str> = Some("24");
4271    const HEIGHT: Option<&'static str> = Some("24");
4272    const FILL: Option<&'static str> = Some("none");
4273    const STROKE: Option<&'static str> = Some("currentColor");
4274    const STROKE_WIDTH: Option<&'static str> = Some("2");
4275    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4276    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4277    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4278
4279}
4280
4281#[derive(Default, Copy, Clone, PartialEq, Eq)]
4282pub struct Layout;
4283
4284impl IconShape for Layout {
4285    fn child_elements(&self) -> Element {
4286        rsx!(rect {
4287        height: "18",
4288        rx: "2",
4289        ry: "2",
4290        width: "18",
4291        x: "3",
4292        y: "3",
4293            }
4294line {
4295        x1: "3",
4296        x2: "21",
4297        y1: "9",
4298        y2: "9",
4299            }
4300line {
4301        x1: "9",
4302        x2: "9",
4303        y1: "21",
4304        y2: "9",
4305            })
4306    }
4307
4308    const WIDTH: Option<&'static str> = Some("24");
4309    const HEIGHT: Option<&'static str> = Some("24");
4310    const FILL: Option<&'static str> = Some("none");
4311    const STROKE: Option<&'static str> = Some("currentColor");
4312    const STROKE_WIDTH: Option<&'static str> = Some("2");
4313    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4314    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4315    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4316
4317}
4318
4319#[derive(Default, Copy, Clone, PartialEq, Eq)]
4320pub struct LifeBuoy;
4321
4322impl IconShape for LifeBuoy {
4323    fn child_elements(&self) -> Element {
4324        rsx!(circle {
4325        cx: "12",
4326        cy: "12",
4327        r: "10",
4328            }
4329circle {
4330        cx: "12",
4331        cy: "12",
4332        r: "4",
4333            }
4334line {
4335        x1: "4.93",
4336        x2: "9.17",
4337        y1: "4.93",
4338        y2: "9.17",
4339            }
4340line {
4341        x1: "14.83",
4342        x2: "19.07",
4343        y1: "14.83",
4344        y2: "19.07",
4345            }
4346line {
4347        x1: "14.83",
4348        x2: "19.07",
4349        y1: "9.17",
4350        y2: "4.93",
4351            }
4352line {
4353        x1: "14.83",
4354        x2: "18.36",
4355        y1: "9.17",
4356        y2: "5.64",
4357            }
4358line {
4359        x1: "4.93",
4360        x2: "9.17",
4361        y1: "19.07",
4362        y2: "14.83",
4363            })
4364    }
4365
4366    const WIDTH: Option<&'static str> = Some("24");
4367    const HEIGHT: Option<&'static str> = Some("24");
4368    const FILL: Option<&'static str> = Some("none");
4369    const STROKE: Option<&'static str> = Some("currentColor");
4370    const STROKE_WIDTH: Option<&'static str> = Some("2");
4371    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4372    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4373    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4374
4375}
4376
4377#[derive(Default, Copy, Clone, PartialEq, Eq)]
4378pub struct Link;
4379
4380impl IconShape for Link {
4381    fn child_elements(&self) -> Element {
4382        rsx!(path {
4383        d: "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",
4384            }
4385path {
4386        d: "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",
4387            })
4388    }
4389
4390    const WIDTH: Option<&'static str> = Some("24");
4391    const HEIGHT: Option<&'static str> = Some("24");
4392    const FILL: Option<&'static str> = Some("none");
4393    const STROKE: Option<&'static str> = Some("currentColor");
4394    const STROKE_WIDTH: Option<&'static str> = Some("2");
4395    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4396    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4397    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4398
4399}
4400
4401#[derive(Default, Copy, Clone, PartialEq, Eq)]
4402pub struct Link2;
4403
4404impl IconShape for Link2 {
4405    fn child_elements(&self) -> Element {
4406        rsx!(path {
4407        d: "M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3",
4408            }
4409line {
4410        x1: "8",
4411        x2: "16",
4412        y1: "12",
4413        y2: "12",
4414            })
4415    }
4416
4417    const WIDTH: Option<&'static str> = Some("24");
4418    const HEIGHT: Option<&'static str> = Some("24");
4419    const FILL: Option<&'static str> = Some("none");
4420    const STROKE: Option<&'static str> = Some("currentColor");
4421    const STROKE_WIDTH: Option<&'static str> = Some("2");
4422    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4423    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4424    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4425
4426}
4427
4428#[derive(Default, Copy, Clone, PartialEq, Eq)]
4429pub struct Linkedin;
4430
4431impl IconShape for Linkedin {
4432    fn child_elements(&self) -> Element {
4433        rsx!(path {
4434        d: "M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z",
4435            }
4436rect {
4437        height: "12",
4438        width: "4",
4439        x: "2",
4440        y: "9",
4441            }
4442circle {
4443        cx: "4",
4444        cy: "4",
4445        r: "2",
4446            })
4447    }
4448
4449    const WIDTH: Option<&'static str> = Some("24");
4450    const HEIGHT: Option<&'static str> = Some("24");
4451    const FILL: Option<&'static str> = Some("none");
4452    const STROKE: Option<&'static str> = Some("currentColor");
4453    const STROKE_WIDTH: Option<&'static str> = Some("2");
4454    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4455    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4456    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4457
4458}
4459
4460#[derive(Default, Copy, Clone, PartialEq, Eq)]
4461pub struct List;
4462
4463impl IconShape for List {
4464    fn child_elements(&self) -> Element {
4465        rsx!(line {
4466        x1: "8",
4467        x2: "21",
4468        y1: "6",
4469        y2: "6",
4470            }
4471line {
4472        x1: "8",
4473        x2: "21",
4474        y1: "12",
4475        y2: "12",
4476            }
4477line {
4478        x1: "8",
4479        x2: "21",
4480        y1: "18",
4481        y2: "18",
4482            }
4483line {
4484        x1: "3",
4485        x2: "3.01",
4486        y1: "6",
4487        y2: "6",
4488            }
4489line {
4490        x1: "3",
4491        x2: "3.01",
4492        y1: "12",
4493        y2: "12",
4494            }
4495line {
4496        x1: "3",
4497        x2: "3.01",
4498        y1: "18",
4499        y2: "18",
4500            })
4501    }
4502
4503    const WIDTH: Option<&'static str> = Some("24");
4504    const HEIGHT: Option<&'static str> = Some("24");
4505    const FILL: Option<&'static str> = Some("none");
4506    const STROKE: Option<&'static str> = Some("currentColor");
4507    const STROKE_WIDTH: Option<&'static str> = Some("2");
4508    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4509    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4510    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4511
4512}
4513
4514#[derive(Default, Copy, Clone, PartialEq, Eq)]
4515pub struct Loader;
4516
4517impl IconShape for Loader {
4518    fn child_elements(&self) -> Element {
4519        rsx!(line {
4520        x1: "12",
4521        x2: "12",
4522        y1: "2",
4523        y2: "6",
4524            }
4525line {
4526        x1: "12",
4527        x2: "12",
4528        y1: "18",
4529        y2: "22",
4530            }
4531line {
4532        x1: "4.93",
4533        x2: "7.76",
4534        y1: "4.93",
4535        y2: "7.76",
4536            }
4537line {
4538        x1: "16.24",
4539        x2: "19.07",
4540        y1: "16.24",
4541        y2: "19.07",
4542            }
4543line {
4544        x1: "2",
4545        x2: "6",
4546        y1: "12",
4547        y2: "12",
4548            }
4549line {
4550        x1: "18",
4551        x2: "22",
4552        y1: "12",
4553        y2: "12",
4554            }
4555line {
4556        x1: "4.93",
4557        x2: "7.76",
4558        y1: "19.07",
4559        y2: "16.24",
4560            }
4561line {
4562        x1: "16.24",
4563        x2: "19.07",
4564        y1: "7.76",
4565        y2: "4.93",
4566            })
4567    }
4568
4569    const WIDTH: Option<&'static str> = Some("24");
4570    const HEIGHT: Option<&'static str> = Some("24");
4571    const FILL: Option<&'static str> = Some("none");
4572    const STROKE: Option<&'static str> = Some("currentColor");
4573    const STROKE_WIDTH: Option<&'static str> = Some("2");
4574    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4575    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4576    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4577
4578}
4579
4580#[derive(Default, Copy, Clone, PartialEq, Eq)]
4581pub struct Lock;
4582
4583impl IconShape for Lock {
4584    fn child_elements(&self) -> Element {
4585        rsx!(rect {
4586        height: "11",
4587        rx: "2",
4588        ry: "2",
4589        width: "18",
4590        x: "3",
4591        y: "11",
4592            }
4593path {
4594        d: "M7 11V7a5 5 0 0 1 10 0v4",
4595            })
4596    }
4597
4598    const WIDTH: Option<&'static str> = Some("24");
4599    const HEIGHT: Option<&'static str> = Some("24");
4600    const FILL: Option<&'static str> = Some("none");
4601    const STROKE: Option<&'static str> = Some("currentColor");
4602    const STROKE_WIDTH: Option<&'static str> = Some("2");
4603    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4604    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4605    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4606
4607}
4608
4609#[derive(Default, Copy, Clone, PartialEq, Eq)]
4610pub struct LogIn;
4611
4612impl IconShape for LogIn {
4613    fn child_elements(&self) -> Element {
4614        rsx!(path {
4615        d: "M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",
4616            }
4617polyline {
4618        points: "10 17 15 12 10 7",
4619            }
4620line {
4621        x1: "15",
4622        x2: "3",
4623        y1: "12",
4624        y2: "12",
4625            })
4626    }
4627
4628    const WIDTH: Option<&'static str> = Some("24");
4629    const HEIGHT: Option<&'static str> = Some("24");
4630    const FILL: Option<&'static str> = Some("none");
4631    const STROKE: Option<&'static str> = Some("currentColor");
4632    const STROKE_WIDTH: Option<&'static str> = Some("2");
4633    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4634    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4635    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4636
4637}
4638
4639#[derive(Default, Copy, Clone, PartialEq, Eq)]
4640pub struct LogOut;
4641
4642impl IconShape for LogOut {
4643    fn child_elements(&self) -> Element {
4644        rsx!(path {
4645        d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",
4646            }
4647polyline {
4648        points: "16 17 21 12 16 7",
4649            }
4650line {
4651        x1: "21",
4652        x2: "9",
4653        y1: "12",
4654        y2: "12",
4655            })
4656    }
4657
4658    const WIDTH: Option<&'static str> = Some("24");
4659    const HEIGHT: Option<&'static str> = Some("24");
4660    const FILL: Option<&'static str> = Some("none");
4661    const STROKE: Option<&'static str> = Some("currentColor");
4662    const STROKE_WIDTH: Option<&'static str> = Some("2");
4663    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4664    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4665    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4666
4667}
4668
4669#[derive(Default, Copy, Clone, PartialEq, Eq)]
4670pub struct Mail;
4671
4672impl IconShape for Mail {
4673    fn child_elements(&self) -> Element {
4674        rsx!(path {
4675        d: "M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z",
4676            }
4677polyline {
4678        points: "22,6 12,13 2,6",
4679            })
4680    }
4681
4682    const WIDTH: Option<&'static str> = Some("24");
4683    const HEIGHT: Option<&'static str> = Some("24");
4684    const FILL: Option<&'static str> = Some("none");
4685    const STROKE: Option<&'static str> = Some("currentColor");
4686    const STROKE_WIDTH: Option<&'static str> = Some("2");
4687    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4688    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4689    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4690
4691}
4692
4693#[derive(Default, Copy, Clone, PartialEq, Eq)]
4694pub struct Map;
4695
4696impl IconShape for Map {
4697    fn child_elements(&self) -> Element {
4698        rsx!(polygon {
4699        points: "1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6",
4700            }
4701line {
4702        x1: "8",
4703        x2: "8",
4704        y1: "2",
4705        y2: "18",
4706            }
4707line {
4708        x1: "16",
4709        x2: "16",
4710        y1: "6",
4711        y2: "22",
4712            })
4713    }
4714
4715    const WIDTH: Option<&'static str> = Some("24");
4716    const HEIGHT: Option<&'static str> = Some("24");
4717    const FILL: Option<&'static str> = Some("none");
4718    const STROKE: Option<&'static str> = Some("currentColor");
4719    const STROKE_WIDTH: Option<&'static str> = Some("2");
4720    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4721    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4722    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4723
4724}
4725
4726#[derive(Default, Copy, Clone, PartialEq, Eq)]
4727pub struct MapPin;
4728
4729impl IconShape for MapPin {
4730    fn child_elements(&self) -> Element {
4731        rsx!(path {
4732        d: "M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z",
4733            }
4734circle {
4735        cx: "12",
4736        cy: "10",
4737        r: "3",
4738            })
4739    }
4740
4741    const WIDTH: Option<&'static str> = Some("24");
4742    const HEIGHT: Option<&'static str> = Some("24");
4743    const FILL: Option<&'static str> = Some("none");
4744    const STROKE: Option<&'static str> = Some("currentColor");
4745    const STROKE_WIDTH: Option<&'static str> = Some("2");
4746    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4747    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4748    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4749
4750}
4751
4752#[derive(Default, Copy, Clone, PartialEq, Eq)]
4753pub struct Maximize;
4754
4755impl IconShape for Maximize {
4756    fn child_elements(&self) -> Element {
4757        rsx!(path {
4758        d: "M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3",
4759            })
4760    }
4761
4762    const WIDTH: Option<&'static str> = Some("24");
4763    const HEIGHT: Option<&'static str> = Some("24");
4764    const FILL: Option<&'static str> = Some("none");
4765    const STROKE: Option<&'static str> = Some("currentColor");
4766    const STROKE_WIDTH: Option<&'static str> = Some("2");
4767    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4768    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4769    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4770
4771}
4772
4773#[derive(Default, Copy, Clone, PartialEq, Eq)]
4774pub struct Maximize2;
4775
4776impl IconShape for Maximize2 {
4777    fn child_elements(&self) -> Element {
4778        rsx!(polyline {
4779        points: "15 3 21 3 21 9",
4780            }
4781polyline {
4782        points: "9 21 3 21 3 15",
4783            }
4784line {
4785        x1: "21",
4786        x2: "14",
4787        y1: "3",
4788        y2: "10",
4789            }
4790line {
4791        x1: "3",
4792        x2: "10",
4793        y1: "21",
4794        y2: "14",
4795            })
4796    }
4797
4798    const WIDTH: Option<&'static str> = Some("24");
4799    const HEIGHT: Option<&'static str> = Some("24");
4800    const FILL: Option<&'static str> = Some("none");
4801    const STROKE: Option<&'static str> = Some("currentColor");
4802    const STROKE_WIDTH: Option<&'static str> = Some("2");
4803    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4804    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4805    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4806
4807}
4808
4809#[derive(Default, Copy, Clone, PartialEq, Eq)]
4810pub struct Meh;
4811
4812impl IconShape for Meh {
4813    fn child_elements(&self) -> Element {
4814        rsx!(circle {
4815        cx: "12",
4816        cy: "12",
4817        r: "10",
4818            }
4819line {
4820        x1: "8",
4821        x2: "16",
4822        y1: "15",
4823        y2: "15",
4824            }
4825line {
4826        x1: "9",
4827        x2: "9.01",
4828        y1: "9",
4829        y2: "9",
4830            }
4831line {
4832        x1: "15",
4833        x2: "15.01",
4834        y1: "9",
4835        y2: "9",
4836            })
4837    }
4838
4839    const WIDTH: Option<&'static str> = Some("24");
4840    const HEIGHT: Option<&'static str> = Some("24");
4841    const FILL: Option<&'static str> = Some("none");
4842    const STROKE: Option<&'static str> = Some("currentColor");
4843    const STROKE_WIDTH: Option<&'static str> = Some("2");
4844    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4845    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4846    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4847
4848}
4849
4850#[derive(Default, Copy, Clone, PartialEq, Eq)]
4851pub struct Menu;
4852
4853impl IconShape for Menu {
4854    fn child_elements(&self) -> Element {
4855        rsx!(line {
4856        x1: "3",
4857        x2: "21",
4858        y1: "12",
4859        y2: "12",
4860            }
4861line {
4862        x1: "3",
4863        x2: "21",
4864        y1: "6",
4865        y2: "6",
4866            }
4867line {
4868        x1: "3",
4869        x2: "21",
4870        y1: "18",
4871        y2: "18",
4872            })
4873    }
4874
4875    const WIDTH: Option<&'static str> = Some("24");
4876    const HEIGHT: Option<&'static str> = Some("24");
4877    const FILL: Option<&'static str> = Some("none");
4878    const STROKE: Option<&'static str> = Some("currentColor");
4879    const STROKE_WIDTH: Option<&'static str> = Some("2");
4880    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4881    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4882    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4883
4884}
4885
4886#[derive(Default, Copy, Clone, PartialEq, Eq)]
4887pub struct MessageCircle;
4888
4889impl IconShape for MessageCircle {
4890    fn child_elements(&self) -> Element {
4891        rsx!(path {
4892        d: "M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z",
4893            })
4894    }
4895
4896    const WIDTH: Option<&'static str> = Some("24");
4897    const HEIGHT: Option<&'static str> = Some("24");
4898    const FILL: Option<&'static str> = Some("none");
4899    const STROKE: Option<&'static str> = Some("currentColor");
4900    const STROKE_WIDTH: Option<&'static str> = Some("2");
4901    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4902    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4903    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4904
4905}
4906
4907#[derive(Default, Copy, Clone, PartialEq, Eq)]
4908pub struct MessageSquare;
4909
4910impl IconShape for MessageSquare {
4911    fn child_elements(&self) -> Element {
4912        rsx!(path {
4913        d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",
4914            })
4915    }
4916
4917    const WIDTH: Option<&'static str> = Some("24");
4918    const HEIGHT: Option<&'static str> = Some("24");
4919    const FILL: Option<&'static str> = Some("none");
4920    const STROKE: Option<&'static str> = Some("currentColor");
4921    const STROKE_WIDTH: Option<&'static str> = Some("2");
4922    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4923    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4924    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4925
4926}
4927
4928#[derive(Default, Copy, Clone, PartialEq, Eq)]
4929pub struct Mic;
4930
4931impl IconShape for Mic {
4932    fn child_elements(&self) -> Element {
4933        rsx!(path {
4934        d: "M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z",
4935            }
4936path {
4937        d: "M19 10v2a7 7 0 0 1-14 0v-2",
4938            }
4939line {
4940        x1: "12",
4941        x2: "12",
4942        y1: "19",
4943        y2: "23",
4944            }
4945line {
4946        x1: "8",
4947        x2: "16",
4948        y1: "23",
4949        y2: "23",
4950            })
4951    }
4952
4953    const WIDTH: Option<&'static str> = Some("24");
4954    const HEIGHT: Option<&'static str> = Some("24");
4955    const FILL: Option<&'static str> = Some("none");
4956    const STROKE: Option<&'static str> = Some("currentColor");
4957    const STROKE_WIDTH: Option<&'static str> = Some("2");
4958    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
4959    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
4960    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
4961
4962}
4963
4964#[derive(Default, Copy, Clone, PartialEq, Eq)]
4965pub struct MicOff;
4966
4967impl IconShape for MicOff {
4968    fn child_elements(&self) -> Element {
4969        rsx!(line {
4970        x1: "1",
4971        x2: "23",
4972        y1: "1",
4973        y2: "23",
4974            }
4975path {
4976        d: "M9 9v3a3 3 0 0 0 5.12 2.12M15 9.34V4a3 3 0 0 0-5.94-.6",
4977            }
4978path {
4979        d: "M17 16.95A7 7 0 0 1 5 12v-2m14 0v2a7 7 0 0 1-.11 1.23",
4980            }
4981line {
4982        x1: "12",
4983        x2: "12",
4984        y1: "19",
4985        y2: "23",
4986            }
4987line {
4988        x1: "8",
4989        x2: "16",
4990        y1: "23",
4991        y2: "23",
4992            })
4993    }
4994
4995    const WIDTH: Option<&'static str> = Some("24");
4996    const HEIGHT: Option<&'static str> = Some("24");
4997    const FILL: Option<&'static str> = Some("none");
4998    const STROKE: Option<&'static str> = Some("currentColor");
4999    const STROKE_WIDTH: Option<&'static str> = Some("2");
5000    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5001    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5002    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5003
5004}
5005
5006#[derive(Default, Copy, Clone, PartialEq, Eq)]
5007pub struct Minimize;
5008
5009impl IconShape for Minimize {
5010    fn child_elements(&self) -> Element {
5011        rsx!(path {
5012        d: "M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3",
5013            })
5014    }
5015
5016    const WIDTH: Option<&'static str> = Some("24");
5017    const HEIGHT: Option<&'static str> = Some("24");
5018    const FILL: Option<&'static str> = Some("none");
5019    const STROKE: Option<&'static str> = Some("currentColor");
5020    const STROKE_WIDTH: Option<&'static str> = Some("2");
5021    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5022    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5023    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5024
5025}
5026
5027#[derive(Default, Copy, Clone, PartialEq, Eq)]
5028pub struct Minimize2;
5029
5030impl IconShape for Minimize2 {
5031    fn child_elements(&self) -> Element {
5032        rsx!(polyline {
5033        points: "4 14 10 14 10 20",
5034            }
5035polyline {
5036        points: "20 10 14 10 14 4",
5037            }
5038line {
5039        x1: "14",
5040        x2: "21",
5041        y1: "10",
5042        y2: "3",
5043            }
5044line {
5045        x1: "3",
5046        x2: "10",
5047        y1: "21",
5048        y2: "14",
5049            })
5050    }
5051
5052    const WIDTH: Option<&'static str> = Some("24");
5053    const HEIGHT: Option<&'static str> = Some("24");
5054    const FILL: Option<&'static str> = Some("none");
5055    const STROKE: Option<&'static str> = Some("currentColor");
5056    const STROKE_WIDTH: Option<&'static str> = Some("2");
5057    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5058    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5059    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5060
5061}
5062
5063#[derive(Default, Copy, Clone, PartialEq, Eq)]
5064pub struct Minus;
5065
5066impl IconShape for Minus {
5067    fn child_elements(&self) -> Element {
5068        rsx!(line {
5069        x1: "5",
5070        x2: "19",
5071        y1: "12",
5072        y2: "12",
5073            })
5074    }
5075
5076    const WIDTH: Option<&'static str> = Some("24");
5077    const HEIGHT: Option<&'static str> = Some("24");
5078    const FILL: Option<&'static str> = Some("none");
5079    const STROKE: Option<&'static str> = Some("currentColor");
5080    const STROKE_WIDTH: Option<&'static str> = Some("2");
5081    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5082    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5083    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5084
5085}
5086
5087#[derive(Default, Copy, Clone, PartialEq, Eq)]
5088pub struct MinusCircle;
5089
5090impl IconShape for MinusCircle {
5091    fn child_elements(&self) -> Element {
5092        rsx!(circle {
5093        cx: "12",
5094        cy: "12",
5095        r: "10",
5096            }
5097line {
5098        x1: "8",
5099        x2: "16",
5100        y1: "12",
5101        y2: "12",
5102            })
5103    }
5104
5105    const WIDTH: Option<&'static str> = Some("24");
5106    const HEIGHT: Option<&'static str> = Some("24");
5107    const FILL: Option<&'static str> = Some("none");
5108    const STROKE: Option<&'static str> = Some("currentColor");
5109    const STROKE_WIDTH: Option<&'static str> = Some("2");
5110    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5111    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5112    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5113
5114}
5115
5116#[derive(Default, Copy, Clone, PartialEq, Eq)]
5117pub struct MinusSquare;
5118
5119impl IconShape for MinusSquare {
5120    fn child_elements(&self) -> Element {
5121        rsx!(rect {
5122        height: "18",
5123        rx: "2",
5124        ry: "2",
5125        width: "18",
5126        x: "3",
5127        y: "3",
5128            }
5129line {
5130        x1: "8",
5131        x2: "16",
5132        y1: "12",
5133        y2: "12",
5134            })
5135    }
5136
5137    const WIDTH: Option<&'static str> = Some("24");
5138    const HEIGHT: Option<&'static str> = Some("24");
5139    const FILL: Option<&'static str> = Some("none");
5140    const STROKE: Option<&'static str> = Some("currentColor");
5141    const STROKE_WIDTH: Option<&'static str> = Some("2");
5142    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5143    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5144    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5145
5146}
5147
5148#[derive(Default, Copy, Clone, PartialEq, Eq)]
5149pub struct Monitor;
5150
5151impl IconShape for Monitor {
5152    fn child_elements(&self) -> Element {
5153        rsx!(rect {
5154        height: "14",
5155        rx: "2",
5156        ry: "2",
5157        width: "20",
5158        x: "2",
5159        y: "3",
5160            }
5161line {
5162        x1: "8",
5163        x2: "16",
5164        y1: "21",
5165        y2: "21",
5166            }
5167line {
5168        x1: "12",
5169        x2: "12",
5170        y1: "17",
5171        y2: "21",
5172            })
5173    }
5174
5175    const WIDTH: Option<&'static str> = Some("24");
5176    const HEIGHT: Option<&'static str> = Some("24");
5177    const FILL: Option<&'static str> = Some("none");
5178    const STROKE: Option<&'static str> = Some("currentColor");
5179    const STROKE_WIDTH: Option<&'static str> = Some("2");
5180    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5181    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5182    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5183
5184}
5185
5186#[derive(Default, Copy, Clone, PartialEq, Eq)]
5187pub struct Moon;
5188
5189impl IconShape for Moon {
5190    fn child_elements(&self) -> Element {
5191        rsx!(path {
5192        d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z",
5193            })
5194    }
5195
5196    const WIDTH: Option<&'static str> = Some("24");
5197    const HEIGHT: Option<&'static str> = Some("24");
5198    const FILL: Option<&'static str> = Some("none");
5199    const STROKE: Option<&'static str> = Some("currentColor");
5200    const STROKE_WIDTH: Option<&'static str> = Some("2");
5201    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5202    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5203    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5204
5205}
5206
5207#[derive(Default, Copy, Clone, PartialEq, Eq)]
5208pub struct MoreHorizontal;
5209
5210impl IconShape for MoreHorizontal {
5211    fn child_elements(&self) -> Element {
5212        rsx!(circle {
5213        cx: "12",
5214        cy: "12",
5215        r: "1",
5216            }
5217circle {
5218        cx: "19",
5219        cy: "12",
5220        r: "1",
5221            }
5222circle {
5223        cx: "5",
5224        cy: "12",
5225        r: "1",
5226            })
5227    }
5228
5229    const WIDTH: Option<&'static str> = Some("24");
5230    const HEIGHT: Option<&'static str> = Some("24");
5231    const FILL: Option<&'static str> = Some("none");
5232    const STROKE: Option<&'static str> = Some("currentColor");
5233    const STROKE_WIDTH: Option<&'static str> = Some("2");
5234    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5235    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5236    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5237
5238}
5239
5240#[derive(Default, Copy, Clone, PartialEq, Eq)]
5241pub struct MoreVertical;
5242
5243impl IconShape for MoreVertical {
5244    fn child_elements(&self) -> Element {
5245        rsx!(circle {
5246        cx: "12",
5247        cy: "12",
5248        r: "1",
5249            }
5250circle {
5251        cx: "12",
5252        cy: "5",
5253        r: "1",
5254            }
5255circle {
5256        cx: "12",
5257        cy: "19",
5258        r: "1",
5259            })
5260    }
5261
5262    const WIDTH: Option<&'static str> = Some("24");
5263    const HEIGHT: Option<&'static str> = Some("24");
5264    const FILL: Option<&'static str> = Some("none");
5265    const STROKE: Option<&'static str> = Some("currentColor");
5266    const STROKE_WIDTH: Option<&'static str> = Some("2");
5267    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5268    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5269    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5270
5271}
5272
5273#[derive(Default, Copy, Clone, PartialEq, Eq)]
5274pub struct MousePointer;
5275
5276impl IconShape for MousePointer {
5277    fn child_elements(&self) -> Element {
5278        rsx!(path {
5279        d: "M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z",
5280            }
5281path {
5282        d: "M13 13l6 6",
5283            })
5284    }
5285
5286    const WIDTH: Option<&'static str> = Some("24");
5287    const HEIGHT: Option<&'static str> = Some("24");
5288    const FILL: Option<&'static str> = Some("none");
5289    const STROKE: Option<&'static str> = Some("currentColor");
5290    const STROKE_WIDTH: Option<&'static str> = Some("2");
5291    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5292    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5293    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5294
5295}
5296
5297#[derive(Default, Copy, Clone, PartialEq, Eq)]
5298pub struct Move;
5299
5300impl IconShape for Move {
5301    fn child_elements(&self) -> Element {
5302        rsx!(polyline {
5303        points: "5 9 2 12 5 15",
5304            }
5305polyline {
5306        points: "9 5 12 2 15 5",
5307            }
5308polyline {
5309        points: "15 19 12 22 9 19",
5310            }
5311polyline {
5312        points: "19 9 22 12 19 15",
5313            }
5314line {
5315        x1: "2",
5316        x2: "22",
5317        y1: "12",
5318        y2: "12",
5319            }
5320line {
5321        x1: "12",
5322        x2: "12",
5323        y1: "2",
5324        y2: "22",
5325            })
5326    }
5327
5328    const WIDTH: Option<&'static str> = Some("24");
5329    const HEIGHT: Option<&'static str> = Some("24");
5330    const FILL: Option<&'static str> = Some("none");
5331    const STROKE: Option<&'static str> = Some("currentColor");
5332    const STROKE_WIDTH: Option<&'static str> = Some("2");
5333    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5334    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5335    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5336
5337}
5338
5339#[derive(Default, Copy, Clone, PartialEq, Eq)]
5340pub struct Music;
5341
5342impl IconShape for Music {
5343    fn child_elements(&self) -> Element {
5344        rsx!(path {
5345        d: "M9 18V5l12-2v13",
5346            }
5347circle {
5348        cx: "6",
5349        cy: "18",
5350        r: "3",
5351            }
5352circle {
5353        cx: "18",
5354        cy: "16",
5355        r: "3",
5356            })
5357    }
5358
5359    const WIDTH: Option<&'static str> = Some("24");
5360    const HEIGHT: Option<&'static str> = Some("24");
5361    const FILL: Option<&'static str> = Some("none");
5362    const STROKE: Option<&'static str> = Some("currentColor");
5363    const STROKE_WIDTH: Option<&'static str> = Some("2");
5364    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5365    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5366    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5367
5368}
5369
5370#[derive(Default, Copy, Clone, PartialEq, Eq)]
5371pub struct Navigation;
5372
5373impl IconShape for Navigation {
5374    fn child_elements(&self) -> Element {
5375        rsx!(polygon {
5376        points: "3 11 22 2 13 21 11 13 3 11",
5377            })
5378    }
5379
5380    const WIDTH: Option<&'static str> = Some("24");
5381    const HEIGHT: Option<&'static str> = Some("24");
5382    const FILL: Option<&'static str> = Some("none");
5383    const STROKE: Option<&'static str> = Some("currentColor");
5384    const STROKE_WIDTH: Option<&'static str> = Some("2");
5385    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5386    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5387    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5388
5389}
5390
5391#[derive(Default, Copy, Clone, PartialEq, Eq)]
5392pub struct Navigation2;
5393
5394impl IconShape for Navigation2 {
5395    fn child_elements(&self) -> Element {
5396        rsx!(polygon {
5397        points: "12 2 19 21 12 17 5 21 12 2",
5398            })
5399    }
5400
5401    const WIDTH: Option<&'static str> = Some("24");
5402    const HEIGHT: Option<&'static str> = Some("24");
5403    const FILL: Option<&'static str> = Some("none");
5404    const STROKE: Option<&'static str> = Some("currentColor");
5405    const STROKE_WIDTH: Option<&'static str> = Some("2");
5406    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5407    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5408    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5409
5410}
5411
5412#[derive(Default, Copy, Clone, PartialEq, Eq)]
5413pub struct Octagon;
5414
5415impl IconShape for Octagon {
5416    fn child_elements(&self) -> Element {
5417        rsx!(polygon {
5418        points: "7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2",
5419            })
5420    }
5421
5422    const WIDTH: Option<&'static str> = Some("24");
5423    const HEIGHT: Option<&'static str> = Some("24");
5424    const FILL: Option<&'static str> = Some("none");
5425    const STROKE: Option<&'static str> = Some("currentColor");
5426    const STROKE_WIDTH: Option<&'static str> = Some("2");
5427    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5428    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5429    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5430
5431}
5432
5433#[derive(Default, Copy, Clone, PartialEq, Eq)]
5434pub struct Package;
5435
5436impl IconShape for Package {
5437    fn child_elements(&self) -> Element {
5438        rsx!(line {
5439        x1: "16.5",
5440        x2: "7.5",
5441        y1: "9.4",
5442        y2: "4.21",
5443            }
5444path {
5445        d: "M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z",
5446            }
5447polyline {
5448        points: "3.27 6.96 12 12.01 20.73 6.96",
5449            }
5450line {
5451        x1: "12",
5452        x2: "12",
5453        y1: "22.08",
5454        y2: "12",
5455            })
5456    }
5457
5458    const WIDTH: Option<&'static str> = Some("24");
5459    const HEIGHT: Option<&'static str> = Some("24");
5460    const FILL: Option<&'static str> = Some("none");
5461    const STROKE: Option<&'static str> = Some("currentColor");
5462    const STROKE_WIDTH: Option<&'static str> = Some("2");
5463    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5464    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5465    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5466
5467}
5468
5469#[derive(Default, Copy, Clone, PartialEq, Eq)]
5470pub struct Paperclip;
5471
5472impl IconShape for Paperclip {
5473    fn child_elements(&self) -> Element {
5474        rsx!(path {
5475        d: "M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48",
5476            })
5477    }
5478
5479    const WIDTH: Option<&'static str> = Some("24");
5480    const HEIGHT: Option<&'static str> = Some("24");
5481    const FILL: Option<&'static str> = Some("none");
5482    const STROKE: Option<&'static str> = Some("currentColor");
5483    const STROKE_WIDTH: Option<&'static str> = Some("2");
5484    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5485    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5486    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5487
5488}
5489
5490#[derive(Default, Copy, Clone, PartialEq, Eq)]
5491pub struct Pause;
5492
5493impl IconShape for Pause {
5494    fn child_elements(&self) -> Element {
5495        rsx!(rect {
5496        height: "16",
5497        width: "4",
5498        x: "6",
5499        y: "4",
5500            }
5501rect {
5502        height: "16",
5503        width: "4",
5504        x: "14",
5505        y: "4",
5506            })
5507    }
5508
5509    const WIDTH: Option<&'static str> = Some("24");
5510    const HEIGHT: Option<&'static str> = Some("24");
5511    const FILL: Option<&'static str> = Some("none");
5512    const STROKE: Option<&'static str> = Some("currentColor");
5513    const STROKE_WIDTH: Option<&'static str> = Some("2");
5514    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5515    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5516    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5517
5518}
5519
5520#[derive(Default, Copy, Clone, PartialEq, Eq)]
5521pub struct PauseCircle;
5522
5523impl IconShape for PauseCircle {
5524    fn child_elements(&self) -> Element {
5525        rsx!(circle {
5526        cx: "12",
5527        cy: "12",
5528        r: "10",
5529            }
5530line {
5531        x1: "10",
5532        x2: "10",
5533        y1: "15",
5534        y2: "9",
5535            }
5536line {
5537        x1: "14",
5538        x2: "14",
5539        y1: "15",
5540        y2: "9",
5541            })
5542    }
5543
5544    const WIDTH: Option<&'static str> = Some("24");
5545    const HEIGHT: Option<&'static str> = Some("24");
5546    const FILL: Option<&'static str> = Some("none");
5547    const STROKE: Option<&'static str> = Some("currentColor");
5548    const STROKE_WIDTH: Option<&'static str> = Some("2");
5549    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5550    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5551    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5552
5553}
5554
5555#[derive(Default, Copy, Clone, PartialEq, Eq)]
5556pub struct PenTool;
5557
5558impl IconShape for PenTool {
5559    fn child_elements(&self) -> Element {
5560        rsx!(path {
5561        d: "M12 19l7-7 3 3-7 7-3-3z",
5562            }
5563path {
5564        d: "M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z",
5565            }
5566path {
5567        d: "M2 2l7.586 7.586",
5568            }
5569circle {
5570        cx: "11",
5571        cy: "11",
5572        r: "2",
5573            })
5574    }
5575
5576    const WIDTH: Option<&'static str> = Some("24");
5577    const HEIGHT: Option<&'static str> = Some("24");
5578    const FILL: Option<&'static str> = Some("none");
5579    const STROKE: Option<&'static str> = Some("currentColor");
5580    const STROKE_WIDTH: Option<&'static str> = Some("2");
5581    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5582    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5583    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5584
5585}
5586
5587#[derive(Default, Copy, Clone, PartialEq, Eq)]
5588pub struct Percent;
5589
5590impl IconShape for Percent {
5591    fn child_elements(&self) -> Element {
5592        rsx!(line {
5593        x1: "19",
5594        x2: "5",
5595        y1: "5",
5596        y2: "19",
5597            }
5598circle {
5599        cx: "6.5",
5600        cy: "6.5",
5601        r: "2.5",
5602            }
5603circle {
5604        cx: "17.5",
5605        cy: "17.5",
5606        r: "2.5",
5607            })
5608    }
5609
5610    const WIDTH: Option<&'static str> = Some("24");
5611    const HEIGHT: Option<&'static str> = Some("24");
5612    const FILL: Option<&'static str> = Some("none");
5613    const STROKE: Option<&'static str> = Some("currentColor");
5614    const STROKE_WIDTH: Option<&'static str> = Some("2");
5615    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5616    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5617    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5618
5619}
5620
5621#[derive(Default, Copy, Clone, PartialEq, Eq)]
5622pub struct Phone;
5623
5624impl IconShape for Phone {
5625    fn child_elements(&self) -> Element {
5626        rsx!(path {
5627        d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",
5628            })
5629    }
5630
5631    const WIDTH: Option<&'static str> = Some("24");
5632    const HEIGHT: Option<&'static str> = Some("24");
5633    const FILL: Option<&'static str> = Some("none");
5634    const STROKE: Option<&'static str> = Some("currentColor");
5635    const STROKE_WIDTH: Option<&'static str> = Some("2");
5636    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5637    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5638    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5639
5640}
5641
5642#[derive(Default, Copy, Clone, PartialEq, Eq)]
5643pub struct PhoneCall;
5644
5645impl IconShape for PhoneCall {
5646    fn child_elements(&self) -> Element {
5647        rsx!(path {
5648        d: "M15.05 5A5 5 0 0 1 19 8.95M15.05 1A9 9 0 0 1 23 8.94m-1 7.98v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",
5649            })
5650    }
5651
5652    const WIDTH: Option<&'static str> = Some("24");
5653    const HEIGHT: Option<&'static str> = Some("24");
5654    const FILL: Option<&'static str> = Some("none");
5655    const STROKE: Option<&'static str> = Some("currentColor");
5656    const STROKE_WIDTH: Option<&'static str> = Some("2");
5657    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5658    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5659    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5660
5661}
5662
5663#[derive(Default, Copy, Clone, PartialEq, Eq)]
5664pub struct PhoneForwarded;
5665
5666impl IconShape for PhoneForwarded {
5667    fn child_elements(&self) -> Element {
5668        rsx!(polyline {
5669        points: "19 1 23 5 19 9",
5670            }
5671line {
5672        x1: "15",
5673        x2: "23",
5674        y1: "5",
5675        y2: "5",
5676            }
5677path {
5678        d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",
5679            })
5680    }
5681
5682    const WIDTH: Option<&'static str> = Some("24");
5683    const HEIGHT: Option<&'static str> = Some("24");
5684    const FILL: Option<&'static str> = Some("none");
5685    const STROKE: Option<&'static str> = Some("currentColor");
5686    const STROKE_WIDTH: Option<&'static str> = Some("2");
5687    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5688    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5689    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5690
5691}
5692
5693#[derive(Default, Copy, Clone, PartialEq, Eq)]
5694pub struct PhoneIncoming;
5695
5696impl IconShape for PhoneIncoming {
5697    fn child_elements(&self) -> Element {
5698        rsx!(polyline {
5699        points: "16 2 16 8 22 8",
5700            }
5701line {
5702        x1: "23",
5703        x2: "16",
5704        y1: "1",
5705        y2: "8",
5706            }
5707path {
5708        d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",
5709            })
5710    }
5711
5712    const WIDTH: Option<&'static str> = Some("24");
5713    const HEIGHT: Option<&'static str> = Some("24");
5714    const FILL: Option<&'static str> = Some("none");
5715    const STROKE: Option<&'static str> = Some("currentColor");
5716    const STROKE_WIDTH: Option<&'static str> = Some("2");
5717    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5718    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5719    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5720
5721}
5722
5723#[derive(Default, Copy, Clone, PartialEq, Eq)]
5724pub struct PhoneMissed;
5725
5726impl IconShape for PhoneMissed {
5727    fn child_elements(&self) -> Element {
5728        rsx!(line {
5729        x1: "23",
5730        x2: "17",
5731        y1: "1",
5732        y2: "7",
5733            }
5734line {
5735        x1: "17",
5736        x2: "23",
5737        y1: "1",
5738        y2: "7",
5739            }
5740path {
5741        d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",
5742            })
5743    }
5744
5745    const WIDTH: Option<&'static str> = Some("24");
5746    const HEIGHT: Option<&'static str> = Some("24");
5747    const FILL: Option<&'static str> = Some("none");
5748    const STROKE: Option<&'static str> = Some("currentColor");
5749    const STROKE_WIDTH: Option<&'static str> = Some("2");
5750    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5751    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5752    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5753
5754}
5755
5756#[derive(Default, Copy, Clone, PartialEq, Eq)]
5757pub struct PhoneOff;
5758
5759impl IconShape for PhoneOff {
5760    fn child_elements(&self) -> Element {
5761        rsx!(path {
5762        d: "M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91",
5763            }
5764line {
5765        x1: "23",
5766        x2: "1",
5767        y1: "1",
5768        y2: "23",
5769            })
5770    }
5771
5772    const WIDTH: Option<&'static str> = Some("24");
5773    const HEIGHT: Option<&'static str> = Some("24");
5774    const FILL: Option<&'static str> = Some("none");
5775    const STROKE: Option<&'static str> = Some("currentColor");
5776    const STROKE_WIDTH: Option<&'static str> = Some("2");
5777    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5778    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5779    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5780
5781}
5782
5783#[derive(Default, Copy, Clone, PartialEq, Eq)]
5784pub struct PhoneOutgoing;
5785
5786impl IconShape for PhoneOutgoing {
5787    fn child_elements(&self) -> Element {
5788        rsx!(polyline {
5789        points: "23 7 23 1 17 1",
5790            }
5791line {
5792        x1: "16",
5793        x2: "23",
5794        y1: "8",
5795        y2: "1",
5796            }
5797path {
5798        d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",
5799            })
5800    }
5801
5802    const WIDTH: Option<&'static str> = Some("24");
5803    const HEIGHT: Option<&'static str> = Some("24");
5804    const FILL: Option<&'static str> = Some("none");
5805    const STROKE: Option<&'static str> = Some("currentColor");
5806    const STROKE_WIDTH: Option<&'static str> = Some("2");
5807    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5808    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5809    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5810
5811}
5812
5813#[derive(Default, Copy, Clone, PartialEq, Eq)]
5814pub struct PieChart;
5815
5816impl IconShape for PieChart {
5817    fn child_elements(&self) -> Element {
5818        rsx!(path {
5819        d: "M21.21 15.89A10 10 0 1 1 8 2.83",
5820            }
5821path {
5822        d: "M22 12A10 10 0 0 0 12 2v10z",
5823            })
5824    }
5825
5826    const WIDTH: Option<&'static str> = Some("24");
5827    const HEIGHT: Option<&'static str> = Some("24");
5828    const FILL: Option<&'static str> = Some("none");
5829    const STROKE: Option<&'static str> = Some("currentColor");
5830    const STROKE_WIDTH: Option<&'static str> = Some("2");
5831    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5832    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5833    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5834
5835}
5836
5837#[derive(Default, Copy, Clone, PartialEq, Eq)]
5838pub struct Play;
5839
5840impl IconShape for Play {
5841    fn child_elements(&self) -> Element {
5842        rsx!(polygon {
5843        points: "5 3 19 12 5 21 5 3",
5844            })
5845    }
5846
5847    const WIDTH: Option<&'static str> = Some("24");
5848    const HEIGHT: Option<&'static str> = Some("24");
5849    const FILL: Option<&'static str> = Some("none");
5850    const STROKE: Option<&'static str> = Some("currentColor");
5851    const STROKE_WIDTH: Option<&'static str> = Some("2");
5852    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5853    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5854    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5855
5856}
5857
5858#[derive(Default, Copy, Clone, PartialEq, Eq)]
5859pub struct PlayCircle;
5860
5861impl IconShape for PlayCircle {
5862    fn child_elements(&self) -> Element {
5863        rsx!(circle {
5864        cx: "12",
5865        cy: "12",
5866        r: "10",
5867            }
5868polygon {
5869        points: "10 8 16 12 10 16 10 8",
5870            })
5871    }
5872
5873    const WIDTH: Option<&'static str> = Some("24");
5874    const HEIGHT: Option<&'static str> = Some("24");
5875    const FILL: Option<&'static str> = Some("none");
5876    const STROKE: Option<&'static str> = Some("currentColor");
5877    const STROKE_WIDTH: Option<&'static str> = Some("2");
5878    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5879    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5880    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5881
5882}
5883
5884#[derive(Default, Copy, Clone, PartialEq, Eq)]
5885pub struct Plus;
5886
5887impl IconShape for Plus {
5888    fn child_elements(&self) -> Element {
5889        rsx!(line {
5890        x1: "12",
5891        x2: "12",
5892        y1: "5",
5893        y2: "19",
5894            }
5895line {
5896        x1: "5",
5897        x2: "19",
5898        y1: "12",
5899        y2: "12",
5900            })
5901    }
5902
5903    const WIDTH: Option<&'static str> = Some("24");
5904    const HEIGHT: Option<&'static str> = Some("24");
5905    const FILL: Option<&'static str> = Some("none");
5906    const STROKE: Option<&'static str> = Some("currentColor");
5907    const STROKE_WIDTH: Option<&'static str> = Some("2");
5908    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5909    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5910    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5911
5912}
5913
5914#[derive(Default, Copy, Clone, PartialEq, Eq)]
5915pub struct PlusCircle;
5916
5917impl IconShape for PlusCircle {
5918    fn child_elements(&self) -> Element {
5919        rsx!(circle {
5920        cx: "12",
5921        cy: "12",
5922        r: "10",
5923            }
5924line {
5925        x1: "12",
5926        x2: "12",
5927        y1: "8",
5928        y2: "16",
5929            }
5930line {
5931        x1: "8",
5932        x2: "16",
5933        y1: "12",
5934        y2: "12",
5935            })
5936    }
5937
5938    const WIDTH: Option<&'static str> = Some("24");
5939    const HEIGHT: Option<&'static str> = Some("24");
5940    const FILL: Option<&'static str> = Some("none");
5941    const STROKE: Option<&'static str> = Some("currentColor");
5942    const STROKE_WIDTH: Option<&'static str> = Some("2");
5943    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5944    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5945    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5946
5947}
5948
5949#[derive(Default, Copy, Clone, PartialEq, Eq)]
5950pub struct PlusSquare;
5951
5952impl IconShape for PlusSquare {
5953    fn child_elements(&self) -> Element {
5954        rsx!(rect {
5955        height: "18",
5956        rx: "2",
5957        ry: "2",
5958        width: "18",
5959        x: "3",
5960        y: "3",
5961            }
5962line {
5963        x1: "12",
5964        x2: "12",
5965        y1: "8",
5966        y2: "16",
5967            }
5968line {
5969        x1: "8",
5970        x2: "16",
5971        y1: "12",
5972        y2: "12",
5973            })
5974    }
5975
5976    const WIDTH: Option<&'static str> = Some("24");
5977    const HEIGHT: Option<&'static str> = Some("24");
5978    const FILL: Option<&'static str> = Some("none");
5979    const STROKE: Option<&'static str> = Some("currentColor");
5980    const STROKE_WIDTH: Option<&'static str> = Some("2");
5981    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
5982    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
5983    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
5984
5985}
5986
5987#[derive(Default, Copy, Clone, PartialEq, Eq)]
5988pub struct Pocket;
5989
5990impl IconShape for Pocket {
5991    fn child_elements(&self) -> Element {
5992        rsx!(path {
5993        d: "M4 3h16a2 2 0 0 1 2 2v6a10 10 0 0 1-10 10A10 10 0 0 1 2 11V5a2 2 0 0 1 2-2z",
5994            }
5995polyline {
5996        points: "8 10 12 14 16 10",
5997            })
5998    }
5999
6000    const WIDTH: Option<&'static str> = Some("24");
6001    const HEIGHT: Option<&'static str> = Some("24");
6002    const FILL: Option<&'static str> = Some("none");
6003    const STROKE: Option<&'static str> = Some("currentColor");
6004    const STROKE_WIDTH: Option<&'static str> = Some("2");
6005    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6006    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6007    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6008
6009}
6010
6011#[derive(Default, Copy, Clone, PartialEq, Eq)]
6012pub struct Power;
6013
6014impl IconShape for Power {
6015    fn child_elements(&self) -> Element {
6016        rsx!(path {
6017        d: "M18.36 6.64a9 9 0 1 1-12.73 0",
6018            }
6019line {
6020        x1: "12",
6021        x2: "12",
6022        y1: "2",
6023        y2: "12",
6024            })
6025    }
6026
6027    const WIDTH: Option<&'static str> = Some("24");
6028    const HEIGHT: Option<&'static str> = Some("24");
6029    const FILL: Option<&'static str> = Some("none");
6030    const STROKE: Option<&'static str> = Some("currentColor");
6031    const STROKE_WIDTH: Option<&'static str> = Some("2");
6032    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6033    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6034    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6035
6036}
6037
6038#[derive(Default, Copy, Clone, PartialEq, Eq)]
6039pub struct Printer;
6040
6041impl IconShape for Printer {
6042    fn child_elements(&self) -> Element {
6043        rsx!(polyline {
6044        points: "6 9 6 2 18 2 18 9",
6045            }
6046path {
6047        d: "M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2",
6048            }
6049rect {
6050        height: "8",
6051        width: "12",
6052        x: "6",
6053        y: "14",
6054            })
6055    }
6056
6057    const WIDTH: Option<&'static str> = Some("24");
6058    const HEIGHT: Option<&'static str> = Some("24");
6059    const FILL: Option<&'static str> = Some("none");
6060    const STROKE: Option<&'static str> = Some("currentColor");
6061    const STROKE_WIDTH: Option<&'static str> = Some("2");
6062    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6063    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6064    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6065
6066}
6067
6068#[derive(Default, Copy, Clone, PartialEq, Eq)]
6069pub struct Radio;
6070
6071impl IconShape for Radio {
6072    fn child_elements(&self) -> Element {
6073        rsx!(circle {
6074        cx: "12",
6075        cy: "12",
6076        r: "2",
6077            }
6078path {
6079        d: "M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.82a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14",
6080            })
6081    }
6082
6083    const WIDTH: Option<&'static str> = Some("24");
6084    const HEIGHT: Option<&'static str> = Some("24");
6085    const FILL: Option<&'static str> = Some("none");
6086    const STROKE: Option<&'static str> = Some("currentColor");
6087    const STROKE_WIDTH: Option<&'static str> = Some("2");
6088    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6089    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6090    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6091
6092}
6093
6094#[derive(Default, Copy, Clone, PartialEq, Eq)]
6095pub struct RefreshCcw;
6096
6097impl IconShape for RefreshCcw {
6098    fn child_elements(&self) -> Element {
6099        rsx!(polyline {
6100        points: "1 4 1 10 7 10",
6101            }
6102polyline {
6103        points: "23 20 23 14 17 14",
6104            }
6105path {
6106        d: "M20.49 9A9 9 0 0 0 5.64 5.64L1 10m22 4l-4.64 4.36A9 9 0 0 1 3.51 15",
6107            })
6108    }
6109
6110    const WIDTH: Option<&'static str> = Some("24");
6111    const HEIGHT: Option<&'static str> = Some("24");
6112    const FILL: Option<&'static str> = Some("none");
6113    const STROKE: Option<&'static str> = Some("currentColor");
6114    const STROKE_WIDTH: Option<&'static str> = Some("2");
6115    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6116    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6117    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6118
6119}
6120
6121#[derive(Default, Copy, Clone, PartialEq, Eq)]
6122pub struct RefreshCw;
6123
6124impl IconShape for RefreshCw {
6125    fn child_elements(&self) -> Element {
6126        rsx!(polyline {
6127        points: "23 4 23 10 17 10",
6128            }
6129polyline {
6130        points: "1 20 1 14 7 14",
6131            }
6132path {
6133        d: "M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15",
6134            })
6135    }
6136
6137    const WIDTH: Option<&'static str> = Some("24");
6138    const HEIGHT: Option<&'static str> = Some("24");
6139    const FILL: Option<&'static str> = Some("none");
6140    const STROKE: Option<&'static str> = Some("currentColor");
6141    const STROKE_WIDTH: Option<&'static str> = Some("2");
6142    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6143    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6144    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6145
6146}
6147
6148#[derive(Default, Copy, Clone, PartialEq, Eq)]
6149pub struct Repeat;
6150
6151impl IconShape for Repeat {
6152    fn child_elements(&self) -> Element {
6153        rsx!(polyline {
6154        points: "17 1 21 5 17 9",
6155            }
6156path {
6157        d: "M3 11V9a4 4 0 0 1 4-4h14",
6158            }
6159polyline {
6160        points: "7 23 3 19 7 15",
6161            }
6162path {
6163        d: "M21 13v2a4 4 0 0 1-4 4H3",
6164            })
6165    }
6166
6167    const WIDTH: Option<&'static str> = Some("24");
6168    const HEIGHT: Option<&'static str> = Some("24");
6169    const FILL: Option<&'static str> = Some("none");
6170    const STROKE: Option<&'static str> = Some("currentColor");
6171    const STROKE_WIDTH: Option<&'static str> = Some("2");
6172    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6173    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6174    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6175
6176}
6177
6178#[derive(Default, Copy, Clone, PartialEq, Eq)]
6179pub struct Rewind;
6180
6181impl IconShape for Rewind {
6182    fn child_elements(&self) -> Element {
6183        rsx!(polygon {
6184        points: "11 19 2 12 11 5 11 19",
6185            }
6186polygon {
6187        points: "22 19 13 12 22 5 22 19",
6188            })
6189    }
6190
6191    const WIDTH: Option<&'static str> = Some("24");
6192    const HEIGHT: Option<&'static str> = Some("24");
6193    const FILL: Option<&'static str> = Some("none");
6194    const STROKE: Option<&'static str> = Some("currentColor");
6195    const STROKE_WIDTH: Option<&'static str> = Some("2");
6196    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6197    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6198    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6199
6200}
6201
6202#[derive(Default, Copy, Clone, PartialEq, Eq)]
6203pub struct RotateCcw;
6204
6205impl IconShape for RotateCcw {
6206    fn child_elements(&self) -> Element {
6207        rsx!(polyline {
6208        points: "1 4 1 10 7 10",
6209            }
6210path {
6211        d: "M3.51 15a9 9 0 1 0 2.13-9.36L1 10",
6212            })
6213    }
6214
6215    const WIDTH: Option<&'static str> = Some("24");
6216    const HEIGHT: Option<&'static str> = Some("24");
6217    const FILL: Option<&'static str> = Some("none");
6218    const STROKE: Option<&'static str> = Some("currentColor");
6219    const STROKE_WIDTH: Option<&'static str> = Some("2");
6220    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6221    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6222    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6223
6224}
6225
6226#[derive(Default, Copy, Clone, PartialEq, Eq)]
6227pub struct RotateCw;
6228
6229impl IconShape for RotateCw {
6230    fn child_elements(&self) -> Element {
6231        rsx!(polyline {
6232        points: "23 4 23 10 17 10",
6233            }
6234path {
6235        d: "M20.49 15a9 9 0 1 1-2.12-9.36L23 10",
6236            })
6237    }
6238
6239    const WIDTH: Option<&'static str> = Some("24");
6240    const HEIGHT: Option<&'static str> = Some("24");
6241    const FILL: Option<&'static str> = Some("none");
6242    const STROKE: Option<&'static str> = Some("currentColor");
6243    const STROKE_WIDTH: Option<&'static str> = Some("2");
6244    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6245    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6246    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6247
6248}
6249
6250#[derive(Default, Copy, Clone, PartialEq, Eq)]
6251pub struct Rss;
6252
6253impl IconShape for Rss {
6254    fn child_elements(&self) -> Element {
6255        rsx!(path {
6256        d: "M4 11a9 9 0 0 1 9 9",
6257            }
6258path {
6259        d: "M4 4a16 16 0 0 1 16 16",
6260            }
6261circle {
6262        cx: "5",
6263        cy: "19",
6264        r: "1",
6265            })
6266    }
6267
6268    const WIDTH: Option<&'static str> = Some("24");
6269    const HEIGHT: Option<&'static str> = Some("24");
6270    const FILL: Option<&'static str> = Some("none");
6271    const STROKE: Option<&'static str> = Some("currentColor");
6272    const STROKE_WIDTH: Option<&'static str> = Some("2");
6273    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6274    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6275    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6276
6277}
6278
6279#[derive(Default, Copy, Clone, PartialEq, Eq)]
6280pub struct Save;
6281
6282impl IconShape for Save {
6283    fn child_elements(&self) -> Element {
6284        rsx!(path {
6285        d: "M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z",
6286            }
6287polyline {
6288        points: "17 21 17 13 7 13 7 21",
6289            }
6290polyline {
6291        points: "7 3 7 8 15 8",
6292            })
6293    }
6294
6295    const WIDTH: Option<&'static str> = Some("24");
6296    const HEIGHT: Option<&'static str> = Some("24");
6297    const FILL: Option<&'static str> = Some("none");
6298    const STROKE: Option<&'static str> = Some("currentColor");
6299    const STROKE_WIDTH: Option<&'static str> = Some("2");
6300    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6301    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6302    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6303
6304}
6305
6306#[derive(Default, Copy, Clone, PartialEq, Eq)]
6307pub struct Scissors;
6308
6309impl IconShape for Scissors {
6310    fn child_elements(&self) -> Element {
6311        rsx!(circle {
6312        cx: "6",
6313        cy: "6",
6314        r: "3",
6315            }
6316circle {
6317        cx: "6",
6318        cy: "18",
6319        r: "3",
6320            }
6321line {
6322        x1: "20",
6323        x2: "8.12",
6324        y1: "4",
6325        y2: "15.88",
6326            }
6327line {
6328        x1: "14.47",
6329        x2: "20",
6330        y1: "14.48",
6331        y2: "20",
6332            }
6333line {
6334        x1: "8.12",
6335        x2: "12",
6336        y1: "8.12",
6337        y2: "12",
6338            })
6339    }
6340
6341    const WIDTH: Option<&'static str> = Some("24");
6342    const HEIGHT: Option<&'static str> = Some("24");
6343    const FILL: Option<&'static str> = Some("none");
6344    const STROKE: Option<&'static str> = Some("currentColor");
6345    const STROKE_WIDTH: Option<&'static str> = Some("2");
6346    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6347    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6348    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6349
6350}
6351
6352#[derive(Default, Copy, Clone, PartialEq, Eq)]
6353pub struct Search;
6354
6355impl IconShape for Search {
6356    fn child_elements(&self) -> Element {
6357        rsx!(circle {
6358        cx: "11",
6359        cy: "11",
6360        r: "8",
6361            }
6362line {
6363        x1: "21",
6364        x2: "16.65",
6365        y1: "21",
6366        y2: "16.65",
6367            })
6368    }
6369
6370    const WIDTH: Option<&'static str> = Some("24");
6371    const HEIGHT: Option<&'static str> = Some("24");
6372    const FILL: Option<&'static str> = Some("none");
6373    const STROKE: Option<&'static str> = Some("currentColor");
6374    const STROKE_WIDTH: Option<&'static str> = Some("2");
6375    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6376    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6377    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6378
6379}
6380
6381#[derive(Default, Copy, Clone, PartialEq, Eq)]
6382pub struct Send;
6383
6384impl IconShape for Send {
6385    fn child_elements(&self) -> Element {
6386        rsx!(line {
6387        x1: "22",
6388        x2: "11",
6389        y1: "2",
6390        y2: "13",
6391            }
6392polygon {
6393        points: "22 2 15 22 11 13 2 9 22 2",
6394            })
6395    }
6396
6397    const WIDTH: Option<&'static str> = Some("24");
6398    const HEIGHT: Option<&'static str> = Some("24");
6399    const FILL: Option<&'static str> = Some("none");
6400    const STROKE: Option<&'static str> = Some("currentColor");
6401    const STROKE_WIDTH: Option<&'static str> = Some("2");
6402    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6403    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6404    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6405
6406}
6407
6408#[derive(Default, Copy, Clone, PartialEq, Eq)]
6409pub struct Server;
6410
6411impl IconShape for Server {
6412    fn child_elements(&self) -> Element {
6413        rsx!(rect {
6414        height: "8",
6415        rx: "2",
6416        ry: "2",
6417        width: "20",
6418        x: "2",
6419        y: "2",
6420            }
6421rect {
6422        height: "8",
6423        rx: "2",
6424        ry: "2",
6425        width: "20",
6426        x: "2",
6427        y: "14",
6428            }
6429line {
6430        x1: "6",
6431        x2: "6.01",
6432        y1: "6",
6433        y2: "6",
6434            }
6435line {
6436        x1: "6",
6437        x2: "6.01",
6438        y1: "18",
6439        y2: "18",
6440            })
6441    }
6442
6443    const WIDTH: Option<&'static str> = Some("24");
6444    const HEIGHT: Option<&'static str> = Some("24");
6445    const FILL: Option<&'static str> = Some("none");
6446    const STROKE: Option<&'static str> = Some("currentColor");
6447    const STROKE_WIDTH: Option<&'static str> = Some("2");
6448    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6449    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6450    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6451
6452}
6453
6454#[derive(Default, Copy, Clone, PartialEq, Eq)]
6455pub struct Settings;
6456
6457impl IconShape for Settings {
6458    fn child_elements(&self) -> Element {
6459        rsx!(circle {
6460        cx: "12",
6461        cy: "12",
6462        r: "3",
6463            }
6464path {
6465        d: "M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z",
6466            })
6467    }
6468
6469    const WIDTH: Option<&'static str> = Some("24");
6470    const HEIGHT: Option<&'static str> = Some("24");
6471    const FILL: Option<&'static str> = Some("none");
6472    const STROKE: Option<&'static str> = Some("currentColor");
6473    const STROKE_WIDTH: Option<&'static str> = Some("2");
6474    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6475    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6476    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6477
6478}
6479
6480#[derive(Default, Copy, Clone, PartialEq, Eq)]
6481pub struct Share;
6482
6483impl IconShape for Share {
6484    fn child_elements(&self) -> Element {
6485        rsx!(path {
6486        d: "M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8",
6487            }
6488polyline {
6489        points: "16 6 12 2 8 6",
6490            }
6491line {
6492        x1: "12",
6493        x2: "12",
6494        y1: "2",
6495        y2: "15",
6496            })
6497    }
6498
6499    const WIDTH: Option<&'static str> = Some("24");
6500    const HEIGHT: Option<&'static str> = Some("24");
6501    const FILL: Option<&'static str> = Some("none");
6502    const STROKE: Option<&'static str> = Some("currentColor");
6503    const STROKE_WIDTH: Option<&'static str> = Some("2");
6504    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6505    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6506    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6507
6508}
6509
6510#[derive(Default, Copy, Clone, PartialEq, Eq)]
6511pub struct Share2;
6512
6513impl IconShape for Share2 {
6514    fn child_elements(&self) -> Element {
6515        rsx!(circle {
6516        cx: "18",
6517        cy: "5",
6518        r: "3",
6519            }
6520circle {
6521        cx: "6",
6522        cy: "12",
6523        r: "3",
6524            }
6525circle {
6526        cx: "18",
6527        cy: "19",
6528        r: "3",
6529            }
6530line {
6531        x1: "8.59",
6532        x2: "15.42",
6533        y1: "13.51",
6534        y2: "17.49",
6535            }
6536line {
6537        x1: "15.41",
6538        x2: "8.59",
6539        y1: "6.51",
6540        y2: "10.49",
6541            })
6542    }
6543
6544    const WIDTH: Option<&'static str> = Some("24");
6545    const HEIGHT: Option<&'static str> = Some("24");
6546    const FILL: Option<&'static str> = Some("none");
6547    const STROKE: Option<&'static str> = Some("currentColor");
6548    const STROKE_WIDTH: Option<&'static str> = Some("2");
6549    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6550    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6551    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6552
6553}
6554
6555#[derive(Default, Copy, Clone, PartialEq, Eq)]
6556pub struct Shield;
6557
6558impl IconShape for Shield {
6559    fn child_elements(&self) -> Element {
6560        rsx!(path {
6561        d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",
6562            })
6563    }
6564
6565    const WIDTH: Option<&'static str> = Some("24");
6566    const HEIGHT: Option<&'static str> = Some("24");
6567    const FILL: Option<&'static str> = Some("none");
6568    const STROKE: Option<&'static str> = Some("currentColor");
6569    const STROKE_WIDTH: Option<&'static str> = Some("2");
6570    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6571    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6572    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6573
6574}
6575
6576#[derive(Default, Copy, Clone, PartialEq, Eq)]
6577pub struct ShieldOff;
6578
6579impl IconShape for ShieldOff {
6580    fn child_elements(&self) -> Element {
6581        rsx!(path {
6582        d: "M19.69 14a6.9 6.9 0 0 0 .31-2V5l-8-3-3.16 1.18",
6583            }
6584path {
6585        d: "M4.73 4.73L4 5v7c0 6 8 10 8 10a20.29 20.29 0 0 0 5.62-4.38",
6586            }
6587line {
6588        x1: "1",
6589        x2: "23",
6590        y1: "1",
6591        y2: "23",
6592            })
6593    }
6594
6595    const WIDTH: Option<&'static str> = Some("24");
6596    const HEIGHT: Option<&'static str> = Some("24");
6597    const FILL: Option<&'static str> = Some("none");
6598    const STROKE: Option<&'static str> = Some("currentColor");
6599    const STROKE_WIDTH: Option<&'static str> = Some("2");
6600    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6601    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6602    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6603
6604}
6605
6606#[derive(Default, Copy, Clone, PartialEq, Eq)]
6607pub struct ShoppingBag;
6608
6609impl IconShape for ShoppingBag {
6610    fn child_elements(&self) -> Element {
6611        rsx!(path {
6612        d: "M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z",
6613            }
6614line {
6615        x1: "3",
6616        x2: "21",
6617        y1: "6",
6618        y2: "6",
6619            }
6620path {
6621        d: "M16 10a4 4 0 0 1-8 0",
6622            })
6623    }
6624
6625    const WIDTH: Option<&'static str> = Some("24");
6626    const HEIGHT: Option<&'static str> = Some("24");
6627    const FILL: Option<&'static str> = Some("none");
6628    const STROKE: Option<&'static str> = Some("currentColor");
6629    const STROKE_WIDTH: Option<&'static str> = Some("2");
6630    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6631    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6632    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6633
6634}
6635
6636#[derive(Default, Copy, Clone, PartialEq, Eq)]
6637pub struct ShoppingCart;
6638
6639impl IconShape for ShoppingCart {
6640    fn child_elements(&self) -> Element {
6641        rsx!(circle {
6642        cx: "9",
6643        cy: "21",
6644        r: "1",
6645            }
6646circle {
6647        cx: "20",
6648        cy: "21",
6649        r: "1",
6650            }
6651path {
6652        d: "M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6",
6653            })
6654    }
6655
6656    const WIDTH: Option<&'static str> = Some("24");
6657    const HEIGHT: Option<&'static str> = Some("24");
6658    const FILL: Option<&'static str> = Some("none");
6659    const STROKE: Option<&'static str> = Some("currentColor");
6660    const STROKE_WIDTH: Option<&'static str> = Some("2");
6661    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6662    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6663    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6664
6665}
6666
6667#[derive(Default, Copy, Clone, PartialEq, Eq)]
6668pub struct Shuffle;
6669
6670impl IconShape for Shuffle {
6671    fn child_elements(&self) -> Element {
6672        rsx!(polyline {
6673        points: "16 3 21 3 21 8",
6674            }
6675line {
6676        x1: "4",
6677        x2: "21",
6678        y1: "20",
6679        y2: "3",
6680            }
6681polyline {
6682        points: "21 16 21 21 16 21",
6683            }
6684line {
6685        x1: "15",
6686        x2: "21",
6687        y1: "15",
6688        y2: "21",
6689            }
6690line {
6691        x1: "4",
6692        x2: "9",
6693        y1: "4",
6694        y2: "9",
6695            })
6696    }
6697
6698    const WIDTH: Option<&'static str> = Some("24");
6699    const HEIGHT: Option<&'static str> = Some("24");
6700    const FILL: Option<&'static str> = Some("none");
6701    const STROKE: Option<&'static str> = Some("currentColor");
6702    const STROKE_WIDTH: Option<&'static str> = Some("2");
6703    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6704    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6705    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6706
6707}
6708
6709#[derive(Default, Copy, Clone, PartialEq, Eq)]
6710pub struct Sidebar;
6711
6712impl IconShape for Sidebar {
6713    fn child_elements(&self) -> Element {
6714        rsx!(rect {
6715        height: "18",
6716        rx: "2",
6717        ry: "2",
6718        width: "18",
6719        x: "3",
6720        y: "3",
6721            }
6722line {
6723        x1: "9",
6724        x2: "9",
6725        y1: "3",
6726        y2: "21",
6727            })
6728    }
6729
6730    const WIDTH: Option<&'static str> = Some("24");
6731    const HEIGHT: Option<&'static str> = Some("24");
6732    const FILL: Option<&'static str> = Some("none");
6733    const STROKE: Option<&'static str> = Some("currentColor");
6734    const STROKE_WIDTH: Option<&'static str> = Some("2");
6735    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6736    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6737    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6738
6739}
6740
6741#[derive(Default, Copy, Clone, PartialEq, Eq)]
6742pub struct SkipBack;
6743
6744impl IconShape for SkipBack {
6745    fn child_elements(&self) -> Element {
6746        rsx!(polygon {
6747        points: "19 20 9 12 19 4 19 20",
6748            }
6749line {
6750        x1: "5",
6751        x2: "5",
6752        y1: "19",
6753        y2: "5",
6754            })
6755    }
6756
6757    const WIDTH: Option<&'static str> = Some("24");
6758    const HEIGHT: Option<&'static str> = Some("24");
6759    const FILL: Option<&'static str> = Some("none");
6760    const STROKE: Option<&'static str> = Some("currentColor");
6761    const STROKE_WIDTH: Option<&'static str> = Some("2");
6762    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6763    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6764    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6765
6766}
6767
6768#[derive(Default, Copy, Clone, PartialEq, Eq)]
6769pub struct SkipForward;
6770
6771impl IconShape for SkipForward {
6772    fn child_elements(&self) -> Element {
6773        rsx!(polygon {
6774        points: "5 4 15 12 5 20 5 4",
6775            }
6776line {
6777        x1: "19",
6778        x2: "19",
6779        y1: "5",
6780        y2: "19",
6781            })
6782    }
6783
6784    const WIDTH: Option<&'static str> = Some("24");
6785    const HEIGHT: Option<&'static str> = Some("24");
6786    const FILL: Option<&'static str> = Some("none");
6787    const STROKE: Option<&'static str> = Some("currentColor");
6788    const STROKE_WIDTH: Option<&'static str> = Some("2");
6789    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6790    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6791    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6792
6793}
6794
6795#[derive(Default, Copy, Clone, PartialEq, Eq)]
6796pub struct Slack;
6797
6798impl IconShape for Slack {
6799    fn child_elements(&self) -> Element {
6800        rsx!(path {
6801        d: "M14.5 10c-.83 0-1.5-.67-1.5-1.5v-5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5z",
6802            }
6803path {
6804        d: "M20.5 10H19V8.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z",
6805            }
6806path {
6807        d: "M9.5 14c.83 0 1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5S8 21.33 8 20.5v-5c0-.83.67-1.5 1.5-1.5z",
6808            }
6809path {
6810        d: "M3.5 14H5v1.5c0 .83-.67 1.5-1.5 1.5S2 16.33 2 15.5 2.67 14 3.5 14z",
6811            }
6812path {
6813        d: "M14 14.5c0-.83.67-1.5 1.5-1.5h5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-5c-.83 0-1.5-.67-1.5-1.5z",
6814            }
6815path {
6816        d: "M15.5 19H14v1.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5-.67-1.5-1.5-1.5z",
6817            }
6818path {
6819        d: "M10 9.5C10 8.67 9.33 8 8.5 8h-5C2.67 8 2 8.67 2 9.5S2.67 11 3.5 11h5c.83 0 1.5-.67 1.5-1.5z",
6820            }
6821path {
6822        d: "M8.5 5H10V3.5C10 2.67 9.33 2 8.5 2S7 2.67 7 3.5 7.67 5 8.5 5z",
6823            })
6824    }
6825
6826    const WIDTH: Option<&'static str> = Some("24");
6827    const HEIGHT: Option<&'static str> = Some("24");
6828    const FILL: Option<&'static str> = Some("none");
6829    const STROKE: Option<&'static str> = Some("currentColor");
6830    const STROKE_WIDTH: Option<&'static str> = Some("2");
6831    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6832    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6833    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6834
6835}
6836
6837#[derive(Default, Copy, Clone, PartialEq, Eq)]
6838pub struct Slash;
6839
6840impl IconShape for Slash {
6841    fn child_elements(&self) -> Element {
6842        rsx!(circle {
6843        cx: "12",
6844        cy: "12",
6845        r: "10",
6846            }
6847line {
6848        x1: "4.93",
6849        x2: "19.07",
6850        y1: "4.93",
6851        y2: "19.07",
6852            })
6853    }
6854
6855    const WIDTH: Option<&'static str> = Some("24");
6856    const HEIGHT: Option<&'static str> = Some("24");
6857    const FILL: Option<&'static str> = Some("none");
6858    const STROKE: Option<&'static str> = Some("currentColor");
6859    const STROKE_WIDTH: Option<&'static str> = Some("2");
6860    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6861    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6862    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6863
6864}
6865
6866#[derive(Default, Copy, Clone, PartialEq, Eq)]
6867pub struct Sliders;
6868
6869impl IconShape for Sliders {
6870    fn child_elements(&self) -> Element {
6871        rsx!(line {
6872        x1: "4",
6873        x2: "4",
6874        y1: "21",
6875        y2: "14",
6876            }
6877line {
6878        x1: "4",
6879        x2: "4",
6880        y1: "10",
6881        y2: "3",
6882            }
6883line {
6884        x1: "12",
6885        x2: "12",
6886        y1: "21",
6887        y2: "12",
6888            }
6889line {
6890        x1: "12",
6891        x2: "12",
6892        y1: "8",
6893        y2: "3",
6894            }
6895line {
6896        x1: "20",
6897        x2: "20",
6898        y1: "21",
6899        y2: "16",
6900            }
6901line {
6902        x1: "20",
6903        x2: "20",
6904        y1: "12",
6905        y2: "3",
6906            }
6907line {
6908        x1: "1",
6909        x2: "7",
6910        y1: "14",
6911        y2: "14",
6912            }
6913line {
6914        x1: "9",
6915        x2: "15",
6916        y1: "8",
6917        y2: "8",
6918            }
6919line {
6920        x1: "17",
6921        x2: "23",
6922        y1: "16",
6923        y2: "16",
6924            })
6925    }
6926
6927    const WIDTH: Option<&'static str> = Some("24");
6928    const HEIGHT: Option<&'static str> = Some("24");
6929    const FILL: Option<&'static str> = Some("none");
6930    const STROKE: Option<&'static str> = Some("currentColor");
6931    const STROKE_WIDTH: Option<&'static str> = Some("2");
6932    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6933    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6934    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6935
6936}
6937
6938#[derive(Default, Copy, Clone, PartialEq, Eq)]
6939pub struct Smartphone;
6940
6941impl IconShape for Smartphone {
6942    fn child_elements(&self) -> Element {
6943        rsx!(rect {
6944        height: "20",
6945        rx: "2",
6946        ry: "2",
6947        width: "14",
6948        x: "5",
6949        y: "2",
6950            }
6951line {
6952        x1: "12",
6953        x2: "12.01",
6954        y1: "18",
6955        y2: "18",
6956            })
6957    }
6958
6959    const WIDTH: Option<&'static str> = Some("24");
6960    const HEIGHT: Option<&'static str> = Some("24");
6961    const FILL: Option<&'static str> = Some("none");
6962    const STROKE: Option<&'static str> = Some("currentColor");
6963    const STROKE_WIDTH: Option<&'static str> = Some("2");
6964    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
6965    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
6966    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
6967
6968}
6969
6970#[derive(Default, Copy, Clone, PartialEq, Eq)]
6971pub struct Smile;
6972
6973impl IconShape for Smile {
6974    fn child_elements(&self) -> Element {
6975        rsx!(circle {
6976        cx: "12",
6977        cy: "12",
6978        r: "10",
6979            }
6980path {
6981        d: "M8 14s1.5 2 4 2 4-2 4-2",
6982            }
6983line {
6984        x1: "9",
6985        x2: "9.01",
6986        y1: "9",
6987        y2: "9",
6988            }
6989line {
6990        x1: "15",
6991        x2: "15.01",
6992        y1: "9",
6993        y2: "9",
6994            })
6995    }
6996
6997    const WIDTH: Option<&'static str> = Some("24");
6998    const HEIGHT: Option<&'static str> = Some("24");
6999    const FILL: Option<&'static str> = Some("none");
7000    const STROKE: Option<&'static str> = Some("currentColor");
7001    const STROKE_WIDTH: Option<&'static str> = Some("2");
7002    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7003    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7004    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7005
7006}
7007
7008#[derive(Default, Copy, Clone, PartialEq, Eq)]
7009pub struct Speaker;
7010
7011impl IconShape for Speaker {
7012    fn child_elements(&self) -> Element {
7013        rsx!(rect {
7014        height: "20",
7015        rx: "2",
7016        ry: "2",
7017        width: "16",
7018        x: "4",
7019        y: "2",
7020            }
7021circle {
7022        cx: "12",
7023        cy: "14",
7024        r: "4",
7025            }
7026line {
7027        x1: "12",
7028        x2: "12.01",
7029        y1: "6",
7030        y2: "6",
7031            })
7032    }
7033
7034    const WIDTH: Option<&'static str> = Some("24");
7035    const HEIGHT: Option<&'static str> = Some("24");
7036    const FILL: Option<&'static str> = Some("none");
7037    const STROKE: Option<&'static str> = Some("currentColor");
7038    const STROKE_WIDTH: Option<&'static str> = Some("2");
7039    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7040    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7041    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7042
7043}
7044
7045#[derive(Default, Copy, Clone, PartialEq, Eq)]
7046pub struct Square;
7047
7048impl IconShape for Square {
7049    fn child_elements(&self) -> Element {
7050        rsx!(rect {
7051        height: "18",
7052        rx: "2",
7053        ry: "2",
7054        width: "18",
7055        x: "3",
7056        y: "3",
7057            })
7058    }
7059
7060    const WIDTH: Option<&'static str> = Some("24");
7061    const HEIGHT: Option<&'static str> = Some("24");
7062    const FILL: Option<&'static str> = Some("none");
7063    const STROKE: Option<&'static str> = Some("currentColor");
7064    const STROKE_WIDTH: Option<&'static str> = Some("2");
7065    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7066    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7067    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7068
7069}
7070
7071#[derive(Default, Copy, Clone, PartialEq, Eq)]
7072pub struct Star;
7073
7074impl IconShape for Star {
7075    fn child_elements(&self) -> Element {
7076        rsx!(polygon {
7077        points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",
7078            })
7079    }
7080
7081    const WIDTH: Option<&'static str> = Some("24");
7082    const HEIGHT: Option<&'static str> = Some("24");
7083    const FILL: Option<&'static str> = Some("none");
7084    const STROKE: Option<&'static str> = Some("currentColor");
7085    const STROKE_WIDTH: Option<&'static str> = Some("2");
7086    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7087    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7088    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7089
7090}
7091
7092#[derive(Default, Copy, Clone, PartialEq, Eq)]
7093pub struct StopCircle;
7094
7095impl IconShape for StopCircle {
7096    fn child_elements(&self) -> Element {
7097        rsx!(circle {
7098        cx: "12",
7099        cy: "12",
7100        r: "10",
7101            }
7102rect {
7103        height: "6",
7104        width: "6",
7105        x: "9",
7106        y: "9",
7107            })
7108    }
7109
7110    const WIDTH: Option<&'static str> = Some("24");
7111    const HEIGHT: Option<&'static str> = Some("24");
7112    const FILL: Option<&'static str> = Some("none");
7113    const STROKE: Option<&'static str> = Some("currentColor");
7114    const STROKE_WIDTH: Option<&'static str> = Some("2");
7115    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7116    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7117    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7118
7119}
7120
7121#[derive(Default, Copy, Clone, PartialEq, Eq)]
7122pub struct Sun;
7123
7124impl IconShape for Sun {
7125    fn child_elements(&self) -> Element {
7126        rsx!(circle {
7127        cx: "12",
7128        cy: "12",
7129        r: "5",
7130            }
7131line {
7132        x1: "12",
7133        x2: "12",
7134        y1: "1",
7135        y2: "3",
7136            }
7137line {
7138        x1: "12",
7139        x2: "12",
7140        y1: "21",
7141        y2: "23",
7142            }
7143line {
7144        x1: "4.22",
7145        x2: "5.64",
7146        y1: "4.22",
7147        y2: "5.64",
7148            }
7149line {
7150        x1: "18.36",
7151        x2: "19.78",
7152        y1: "18.36",
7153        y2: "19.78",
7154            }
7155line {
7156        x1: "1",
7157        x2: "3",
7158        y1: "12",
7159        y2: "12",
7160            }
7161line {
7162        x1: "21",
7163        x2: "23",
7164        y1: "12",
7165        y2: "12",
7166            }
7167line {
7168        x1: "4.22",
7169        x2: "5.64",
7170        y1: "19.78",
7171        y2: "18.36",
7172            }
7173line {
7174        x1: "18.36",
7175        x2: "19.78",
7176        y1: "5.64",
7177        y2: "4.22",
7178            })
7179    }
7180
7181    const WIDTH: Option<&'static str> = Some("24");
7182    const HEIGHT: Option<&'static str> = Some("24");
7183    const FILL: Option<&'static str> = Some("none");
7184    const STROKE: Option<&'static str> = Some("currentColor");
7185    const STROKE_WIDTH: Option<&'static str> = Some("2");
7186    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7187    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7188    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7189
7190}
7191
7192#[derive(Default, Copy, Clone, PartialEq, Eq)]
7193pub struct Sunrise;
7194
7195impl IconShape for Sunrise {
7196    fn child_elements(&self) -> Element {
7197        rsx!(path {
7198        d: "M17 18a5 5 0 0 0-10 0",
7199            }
7200line {
7201        x1: "12",
7202        x2: "12",
7203        y1: "2",
7204        y2: "9",
7205            }
7206line {
7207        x1: "4.22",
7208        x2: "5.64",
7209        y1: "10.22",
7210        y2: "11.64",
7211            }
7212line {
7213        x1: "1",
7214        x2: "3",
7215        y1: "18",
7216        y2: "18",
7217            }
7218line {
7219        x1: "21",
7220        x2: "23",
7221        y1: "18",
7222        y2: "18",
7223            }
7224line {
7225        x1: "18.36",
7226        x2: "19.78",
7227        y1: "11.64",
7228        y2: "10.22",
7229            }
7230line {
7231        x1: "23",
7232        x2: "1",
7233        y1: "22",
7234        y2: "22",
7235            }
7236polyline {
7237        points: "8 6 12 2 16 6",
7238            })
7239    }
7240
7241    const WIDTH: Option<&'static str> = Some("24");
7242    const HEIGHT: Option<&'static str> = Some("24");
7243    const FILL: Option<&'static str> = Some("none");
7244    const STROKE: Option<&'static str> = Some("currentColor");
7245    const STROKE_WIDTH: Option<&'static str> = Some("2");
7246    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7247    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7248    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7249
7250}
7251
7252#[derive(Default, Copy, Clone, PartialEq, Eq)]
7253pub struct Sunset;
7254
7255impl IconShape for Sunset {
7256    fn child_elements(&self) -> Element {
7257        rsx!(path {
7258        d: "M17 18a5 5 0 0 0-10 0",
7259            }
7260line {
7261        x1: "12",
7262        x2: "12",
7263        y1: "9",
7264        y2: "2",
7265            }
7266line {
7267        x1: "4.22",
7268        x2: "5.64",
7269        y1: "10.22",
7270        y2: "11.64",
7271            }
7272line {
7273        x1: "1",
7274        x2: "3",
7275        y1: "18",
7276        y2: "18",
7277            }
7278line {
7279        x1: "21",
7280        x2: "23",
7281        y1: "18",
7282        y2: "18",
7283            }
7284line {
7285        x1: "18.36",
7286        x2: "19.78",
7287        y1: "11.64",
7288        y2: "10.22",
7289            }
7290line {
7291        x1: "23",
7292        x2: "1",
7293        y1: "22",
7294        y2: "22",
7295            }
7296polyline {
7297        points: "16 5 12 9 8 5",
7298            })
7299    }
7300
7301    const WIDTH: Option<&'static str> = Some("24");
7302    const HEIGHT: Option<&'static str> = Some("24");
7303    const FILL: Option<&'static str> = Some("none");
7304    const STROKE: Option<&'static str> = Some("currentColor");
7305    const STROKE_WIDTH: Option<&'static str> = Some("2");
7306    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7307    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7308    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7309
7310}
7311
7312#[derive(Default, Copy, Clone, PartialEq, Eq)]
7313pub struct Table;
7314
7315impl IconShape for Table {
7316    fn child_elements(&self) -> Element {
7317        rsx!(path {
7318        d: "M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",
7319            })
7320    }
7321
7322    const WIDTH: Option<&'static str> = Some("24");
7323    const HEIGHT: Option<&'static str> = Some("24");
7324    const FILL: Option<&'static str> = Some("none");
7325    const STROKE: Option<&'static str> = Some("currentColor");
7326    const STROKE_WIDTH: Option<&'static str> = Some("2");
7327    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7328    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7329    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7330
7331}
7332
7333#[derive(Default, Copy, Clone, PartialEq, Eq)]
7334pub struct Tablet;
7335
7336impl IconShape for Tablet {
7337    fn child_elements(&self) -> Element {
7338        rsx!(rect {
7339        height: "20",
7340        rx: "2",
7341        ry: "2",
7342        width: "16",
7343        x: "4",
7344        y: "2",
7345            }
7346line {
7347        x1: "12",
7348        x2: "12.01",
7349        y1: "18",
7350        y2: "18",
7351            })
7352    }
7353
7354    const WIDTH: Option<&'static str> = Some("24");
7355    const HEIGHT: Option<&'static str> = Some("24");
7356    const FILL: Option<&'static str> = Some("none");
7357    const STROKE: Option<&'static str> = Some("currentColor");
7358    const STROKE_WIDTH: Option<&'static str> = Some("2");
7359    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7360    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7361    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7362
7363}
7364
7365#[derive(Default, Copy, Clone, PartialEq, Eq)]
7366pub struct Tag;
7367
7368impl IconShape for Tag {
7369    fn child_elements(&self) -> Element {
7370        rsx!(path {
7371        d: "M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z",
7372            }
7373line {
7374        x1: "7",
7375        x2: "7.01",
7376        y1: "7",
7377        y2: "7",
7378            })
7379    }
7380
7381    const WIDTH: Option<&'static str> = Some("24");
7382    const HEIGHT: Option<&'static str> = Some("24");
7383    const FILL: Option<&'static str> = Some("none");
7384    const STROKE: Option<&'static str> = Some("currentColor");
7385    const STROKE_WIDTH: Option<&'static str> = Some("2");
7386    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7387    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7388    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7389
7390}
7391
7392#[derive(Default, Copy, Clone, PartialEq, Eq)]
7393pub struct Target;
7394
7395impl IconShape for Target {
7396    fn child_elements(&self) -> Element {
7397        rsx!(circle {
7398        cx: "12",
7399        cy: "12",
7400        r: "10",
7401            }
7402circle {
7403        cx: "12",
7404        cy: "12",
7405        r: "6",
7406            }
7407circle {
7408        cx: "12",
7409        cy: "12",
7410        r: "2",
7411            })
7412    }
7413
7414    const WIDTH: Option<&'static str> = Some("24");
7415    const HEIGHT: Option<&'static str> = Some("24");
7416    const FILL: Option<&'static str> = Some("none");
7417    const STROKE: Option<&'static str> = Some("currentColor");
7418    const STROKE_WIDTH: Option<&'static str> = Some("2");
7419    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7420    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7421    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7422
7423}
7424
7425#[derive(Default, Copy, Clone, PartialEq, Eq)]
7426pub struct Terminal;
7427
7428impl IconShape for Terminal {
7429    fn child_elements(&self) -> Element {
7430        rsx!(polyline {
7431        points: "4 17 10 11 4 5",
7432            }
7433line {
7434        x1: "12",
7435        x2: "20",
7436        y1: "19",
7437        y2: "19",
7438            })
7439    }
7440
7441    const WIDTH: Option<&'static str> = Some("24");
7442    const HEIGHT: Option<&'static str> = Some("24");
7443    const FILL: Option<&'static str> = Some("none");
7444    const STROKE: Option<&'static str> = Some("currentColor");
7445    const STROKE_WIDTH: Option<&'static str> = Some("2");
7446    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7447    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7448    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7449
7450}
7451
7452#[derive(Default, Copy, Clone, PartialEq, Eq)]
7453pub struct Thermometer;
7454
7455impl IconShape for Thermometer {
7456    fn child_elements(&self) -> Element {
7457        rsx!(path {
7458        d: "M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z",
7459            })
7460    }
7461
7462    const WIDTH: Option<&'static str> = Some("24");
7463    const HEIGHT: Option<&'static str> = Some("24");
7464    const FILL: Option<&'static str> = Some("none");
7465    const STROKE: Option<&'static str> = Some("currentColor");
7466    const STROKE_WIDTH: Option<&'static str> = Some("2");
7467    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7468    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7469    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7470
7471}
7472
7473#[derive(Default, Copy, Clone, PartialEq, Eq)]
7474pub struct ThumbsDown;
7475
7476impl IconShape for ThumbsDown {
7477    fn child_elements(&self) -> Element {
7478        rsx!(path {
7479        d: "M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17",
7480            })
7481    }
7482
7483    const WIDTH: Option<&'static str> = Some("24");
7484    const HEIGHT: Option<&'static str> = Some("24");
7485    const FILL: Option<&'static str> = Some("none");
7486    const STROKE: Option<&'static str> = Some("currentColor");
7487    const STROKE_WIDTH: Option<&'static str> = Some("2");
7488    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7489    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7490    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7491
7492}
7493
7494#[derive(Default, Copy, Clone, PartialEq, Eq)]
7495pub struct ThumbsUp;
7496
7497impl IconShape for ThumbsUp {
7498    fn child_elements(&self) -> Element {
7499        rsx!(path {
7500        d: "M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3",
7501            })
7502    }
7503
7504    const WIDTH: Option<&'static str> = Some("24");
7505    const HEIGHT: Option<&'static str> = Some("24");
7506    const FILL: Option<&'static str> = Some("none");
7507    const STROKE: Option<&'static str> = Some("currentColor");
7508    const STROKE_WIDTH: Option<&'static str> = Some("2");
7509    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7510    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7511    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7512
7513}
7514
7515#[derive(Default, Copy, Clone, PartialEq, Eq)]
7516pub struct ToggleLeft;
7517
7518impl IconShape for ToggleLeft {
7519    fn child_elements(&self) -> Element {
7520        rsx!(rect {
7521        height: "14",
7522        rx: "7",
7523        ry: "7",
7524        width: "22",
7525        x: "1",
7526        y: "5",
7527            }
7528circle {
7529        cx: "8",
7530        cy: "12",
7531        r: "3",
7532            })
7533    }
7534
7535    const WIDTH: Option<&'static str> = Some("24");
7536    const HEIGHT: Option<&'static str> = Some("24");
7537    const FILL: Option<&'static str> = Some("none");
7538    const STROKE: Option<&'static str> = Some("currentColor");
7539    const STROKE_WIDTH: Option<&'static str> = Some("2");
7540    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7541    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7542    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7543
7544}
7545
7546#[derive(Default, Copy, Clone, PartialEq, Eq)]
7547pub struct ToggleRight;
7548
7549impl IconShape for ToggleRight {
7550    fn child_elements(&self) -> Element {
7551        rsx!(rect {
7552        height: "14",
7553        rx: "7",
7554        ry: "7",
7555        width: "22",
7556        x: "1",
7557        y: "5",
7558            }
7559circle {
7560        cx: "16",
7561        cy: "12",
7562        r: "3",
7563            })
7564    }
7565
7566    const WIDTH: Option<&'static str> = Some("24");
7567    const HEIGHT: Option<&'static str> = Some("24");
7568    const FILL: Option<&'static str> = Some("none");
7569    const STROKE: Option<&'static str> = Some("currentColor");
7570    const STROKE_WIDTH: Option<&'static str> = Some("2");
7571    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7572    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7573    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7574
7575}
7576
7577#[derive(Default, Copy, Clone, PartialEq, Eq)]
7578pub struct Tool;
7579
7580impl IconShape for Tool {
7581    fn child_elements(&self) -> Element {
7582        rsx!(path {
7583        d: "M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",
7584            })
7585    }
7586
7587    const WIDTH: Option<&'static str> = Some("24");
7588    const HEIGHT: Option<&'static str> = Some("24");
7589    const FILL: Option<&'static str> = Some("none");
7590    const STROKE: Option<&'static str> = Some("currentColor");
7591    const STROKE_WIDTH: Option<&'static str> = Some("2");
7592    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7593    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7594    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7595
7596}
7597
7598#[derive(Default, Copy, Clone, PartialEq, Eq)]
7599pub struct Trash;
7600
7601impl IconShape for Trash {
7602    fn child_elements(&self) -> Element {
7603        rsx!(polyline {
7604        points: "3 6 5 6 21 6",
7605            }
7606path {
7607        d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",
7608            })
7609    }
7610
7611    const WIDTH: Option<&'static str> = Some("24");
7612    const HEIGHT: Option<&'static str> = Some("24");
7613    const FILL: Option<&'static str> = Some("none");
7614    const STROKE: Option<&'static str> = Some("currentColor");
7615    const STROKE_WIDTH: Option<&'static str> = Some("2");
7616    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7617    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7618    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7619
7620}
7621
7622#[derive(Default, Copy, Clone, PartialEq, Eq)]
7623pub struct Trash2;
7624
7625impl IconShape for Trash2 {
7626    fn child_elements(&self) -> Element {
7627        rsx!(polyline {
7628        points: "3 6 5 6 21 6",
7629            }
7630path {
7631        d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",
7632            }
7633line {
7634        x1: "10",
7635        x2: "10",
7636        y1: "11",
7637        y2: "17",
7638            }
7639line {
7640        x1: "14",
7641        x2: "14",
7642        y1: "11",
7643        y2: "17",
7644            })
7645    }
7646
7647    const WIDTH: Option<&'static str> = Some("24");
7648    const HEIGHT: Option<&'static str> = Some("24");
7649    const FILL: Option<&'static str> = Some("none");
7650    const STROKE: Option<&'static str> = Some("currentColor");
7651    const STROKE_WIDTH: Option<&'static str> = Some("2");
7652    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7653    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7654    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7655
7656}
7657
7658#[derive(Default, Copy, Clone, PartialEq, Eq)]
7659pub struct Trello;
7660
7661impl IconShape for Trello {
7662    fn child_elements(&self) -> Element {
7663        rsx!(rect {
7664        height: "18",
7665        rx: "2",
7666        ry: "2",
7667        width: "18",
7668        x: "3",
7669        y: "3",
7670            }
7671rect {
7672        height: "9",
7673        width: "3",
7674        x: "7",
7675        y: "7",
7676            }
7677rect {
7678        height: "5",
7679        width: "3",
7680        x: "14",
7681        y: "7",
7682            })
7683    }
7684
7685    const WIDTH: Option<&'static str> = Some("24");
7686    const HEIGHT: Option<&'static str> = Some("24");
7687    const FILL: Option<&'static str> = Some("none");
7688    const STROKE: Option<&'static str> = Some("currentColor");
7689    const STROKE_WIDTH: Option<&'static str> = Some("2");
7690    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7691    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7692    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7693
7694}
7695
7696#[derive(Default, Copy, Clone, PartialEq, Eq)]
7697pub struct TrendingDown;
7698
7699impl IconShape for TrendingDown {
7700    fn child_elements(&self) -> Element {
7701        rsx!(polyline {
7702        points: "23 18 13.5 8.5 8.5 13.5 1 6",
7703            }
7704polyline {
7705        points: "17 18 23 18 23 12",
7706            })
7707    }
7708
7709    const WIDTH: Option<&'static str> = Some("24");
7710    const HEIGHT: Option<&'static str> = Some("24");
7711    const FILL: Option<&'static str> = Some("none");
7712    const STROKE: Option<&'static str> = Some("currentColor");
7713    const STROKE_WIDTH: Option<&'static str> = Some("2");
7714    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7715    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7716    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7717
7718}
7719
7720#[derive(Default, Copy, Clone, PartialEq, Eq)]
7721pub struct TrendingUp;
7722
7723impl IconShape for TrendingUp {
7724    fn child_elements(&self) -> Element {
7725        rsx!(polyline {
7726        points: "23 6 13.5 15.5 8.5 10.5 1 18",
7727            }
7728polyline {
7729        points: "17 6 23 6 23 12",
7730            })
7731    }
7732
7733    const WIDTH: Option<&'static str> = Some("24");
7734    const HEIGHT: Option<&'static str> = Some("24");
7735    const FILL: Option<&'static str> = Some("none");
7736    const STROKE: Option<&'static str> = Some("currentColor");
7737    const STROKE_WIDTH: Option<&'static str> = Some("2");
7738    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7739    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7740    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7741
7742}
7743
7744#[derive(Default, Copy, Clone, PartialEq, Eq)]
7745pub struct Triangle;
7746
7747impl IconShape for Triangle {
7748    fn child_elements(&self) -> Element {
7749        rsx!(path {
7750        d: "M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z",
7751            })
7752    }
7753
7754    const WIDTH: Option<&'static str> = Some("24");
7755    const HEIGHT: Option<&'static str> = Some("24");
7756    const FILL: Option<&'static str> = Some("none");
7757    const STROKE: Option<&'static str> = Some("currentColor");
7758    const STROKE_WIDTH: Option<&'static str> = Some("2");
7759    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7760    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7761    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7762
7763}
7764
7765#[derive(Default, Copy, Clone, PartialEq, Eq)]
7766pub struct Truck;
7767
7768impl IconShape for Truck {
7769    fn child_elements(&self) -> Element {
7770        rsx!(rect {
7771        height: "13",
7772        width: "15",
7773        x: "1",
7774        y: "3",
7775            }
7776polygon {
7777        points: "16 8 20 8 23 11 23 16 16 16 16 8",
7778            }
7779circle {
7780        cx: "5.5",
7781        cy: "18.5",
7782        r: "2.5",
7783            }
7784circle {
7785        cx: "18.5",
7786        cy: "18.5",
7787        r: "2.5",
7788            })
7789    }
7790
7791    const WIDTH: Option<&'static str> = Some("24");
7792    const HEIGHT: Option<&'static str> = Some("24");
7793    const FILL: Option<&'static str> = Some("none");
7794    const STROKE: Option<&'static str> = Some("currentColor");
7795    const STROKE_WIDTH: Option<&'static str> = Some("2");
7796    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7797    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7798    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7799
7800}
7801
7802#[derive(Default, Copy, Clone, PartialEq, Eq)]
7803pub struct Tv;
7804
7805impl IconShape for Tv {
7806    fn child_elements(&self) -> Element {
7807        rsx!(rect {
7808        height: "15",
7809        rx: "2",
7810        ry: "2",
7811        width: "20",
7812        x: "2",
7813        y: "7",
7814            }
7815polyline {
7816        points: "17 2 12 7 7 2",
7817            })
7818    }
7819
7820    const WIDTH: Option<&'static str> = Some("24");
7821    const HEIGHT: Option<&'static str> = Some("24");
7822    const FILL: Option<&'static str> = Some("none");
7823    const STROKE: Option<&'static str> = Some("currentColor");
7824    const STROKE_WIDTH: Option<&'static str> = Some("2");
7825    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7826    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7827    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7828
7829}
7830
7831#[derive(Default, Copy, Clone, PartialEq, Eq)]
7832pub struct Twitch;
7833
7834impl IconShape for Twitch {
7835    fn child_elements(&self) -> Element {
7836        rsx!(path {
7837        d: "M21 2H3v16h5v4l4-4h5l4-4V2zm-10 9V7m5 4V7",
7838            })
7839    }
7840
7841    const WIDTH: Option<&'static str> = Some("24");
7842    const HEIGHT: Option<&'static str> = Some("24");
7843    const FILL: Option<&'static str> = Some("none");
7844    const STROKE: Option<&'static str> = Some("currentColor");
7845    const STROKE_WIDTH: Option<&'static str> = Some("2");
7846    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7847    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7848    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7849
7850}
7851
7852#[derive(Default, Copy, Clone, PartialEq, Eq)]
7853pub struct Twitter;
7854
7855impl IconShape for Twitter {
7856    fn child_elements(&self) -> Element {
7857        rsx!(path {
7858        d: "M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z",
7859            })
7860    }
7861
7862    const WIDTH: Option<&'static str> = Some("24");
7863    const HEIGHT: Option<&'static str> = Some("24");
7864    const FILL: Option<&'static str> = Some("none");
7865    const STROKE: Option<&'static str> = Some("currentColor");
7866    const STROKE_WIDTH: Option<&'static str> = Some("2");
7867    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7868    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7869    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7870
7871}
7872
7873#[derive(Default, Copy, Clone, PartialEq, Eq)]
7874pub struct Umbrella;
7875
7876impl IconShape for Umbrella {
7877    fn child_elements(&self) -> Element {
7878        rsx!(path {
7879        d: "M23 12a11.05 11.05 0 0 0-22 0zm-5 7a3 3 0 0 1-6 0v-7",
7880            })
7881    }
7882
7883    const WIDTH: Option<&'static str> = Some("24");
7884    const HEIGHT: Option<&'static str> = Some("24");
7885    const FILL: Option<&'static str> = Some("none");
7886    const STROKE: Option<&'static str> = Some("currentColor");
7887    const STROKE_WIDTH: Option<&'static str> = Some("2");
7888    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7889    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7890    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7891
7892}
7893
7894#[derive(Default, Copy, Clone, PartialEq, Eq)]
7895pub struct Underline;
7896
7897impl IconShape for Underline {
7898    fn child_elements(&self) -> Element {
7899        rsx!(path {
7900        d: "M6 3v7a6 6 0 0 0 6 6 6 6 0 0 0 6-6V3",
7901            }
7902line {
7903        x1: "4",
7904        x2: "20",
7905        y1: "21",
7906        y2: "21",
7907            })
7908    }
7909
7910    const WIDTH: Option<&'static str> = Some("24");
7911    const HEIGHT: Option<&'static str> = Some("24");
7912    const FILL: Option<&'static str> = Some("none");
7913    const STROKE: Option<&'static str> = Some("currentColor");
7914    const STROKE_WIDTH: Option<&'static str> = Some("2");
7915    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7916    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7917    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7918
7919}
7920
7921#[derive(Default, Copy, Clone, PartialEq, Eq)]
7922pub struct Unlock;
7923
7924impl IconShape for Unlock {
7925    fn child_elements(&self) -> Element {
7926        rsx!(rect {
7927        height: "11",
7928        rx: "2",
7929        ry: "2",
7930        width: "18",
7931        x: "3",
7932        y: "11",
7933            }
7934path {
7935        d: "M7 11V7a5 5 0 0 1 9.9-1",
7936            })
7937    }
7938
7939    const WIDTH: Option<&'static str> = Some("24");
7940    const HEIGHT: Option<&'static str> = Some("24");
7941    const FILL: Option<&'static str> = Some("none");
7942    const STROKE: Option<&'static str> = Some("currentColor");
7943    const STROKE_WIDTH: Option<&'static str> = Some("2");
7944    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7945    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7946    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7947
7948}
7949
7950#[derive(Default, Copy, Clone, PartialEq, Eq)]
7951pub struct Upload;
7952
7953impl IconShape for Upload {
7954    fn child_elements(&self) -> Element {
7955        rsx!(path {
7956        d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",
7957            }
7958polyline {
7959        points: "17 8 12 3 7 8",
7960            }
7961line {
7962        x1: "12",
7963        x2: "12",
7964        y1: "3",
7965        y2: "15",
7966            })
7967    }
7968
7969    const WIDTH: Option<&'static str> = Some("24");
7970    const HEIGHT: Option<&'static str> = Some("24");
7971    const FILL: Option<&'static str> = Some("none");
7972    const STROKE: Option<&'static str> = Some("currentColor");
7973    const STROKE_WIDTH: Option<&'static str> = Some("2");
7974    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
7975    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
7976    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
7977
7978}
7979
7980#[derive(Default, Copy, Clone, PartialEq, Eq)]
7981pub struct UploadCloud;
7982
7983impl IconShape for UploadCloud {
7984    fn child_elements(&self) -> Element {
7985        rsx!(polyline {
7986        points: "16 16 12 12 8 16",
7987            }
7988line {
7989        x1: "12",
7990        x2: "12",
7991        y1: "12",
7992        y2: "21",
7993            }
7994path {
7995        d: "M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3",
7996            }
7997polyline {
7998        points: "16 16 12 12 8 16",
7999            })
8000    }
8001
8002    const WIDTH: Option<&'static str> = Some("24");
8003    const HEIGHT: Option<&'static str> = Some("24");
8004    const FILL: Option<&'static str> = Some("none");
8005    const STROKE: Option<&'static str> = Some("currentColor");
8006    const STROKE_WIDTH: Option<&'static str> = Some("2");
8007    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8008    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8009    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8010
8011}
8012
8013#[derive(Default, Copy, Clone, PartialEq, Eq)]
8014pub struct User;
8015
8016impl IconShape for User {
8017    fn child_elements(&self) -> Element {
8018        rsx!(path {
8019        d: "M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2",
8020            }
8021circle {
8022        cx: "12",
8023        cy: "7",
8024        r: "4",
8025            })
8026    }
8027
8028    const WIDTH: Option<&'static str> = Some("24");
8029    const HEIGHT: Option<&'static str> = Some("24");
8030    const FILL: Option<&'static str> = Some("none");
8031    const STROKE: Option<&'static str> = Some("currentColor");
8032    const STROKE_WIDTH: Option<&'static str> = Some("2");
8033    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8034    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8035    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8036
8037}
8038
8039#[derive(Default, Copy, Clone, PartialEq, Eq)]
8040pub struct UserCheck;
8041
8042impl IconShape for UserCheck {
8043    fn child_elements(&self) -> Element {
8044        rsx!(path {
8045        d: "M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2",
8046            }
8047circle {
8048        cx: "8.5",
8049        cy: "7",
8050        r: "4",
8051            }
8052polyline {
8053        points: "17 11 19 13 23 9",
8054            })
8055    }
8056
8057    const WIDTH: Option<&'static str> = Some("24");
8058    const HEIGHT: Option<&'static str> = Some("24");
8059    const FILL: Option<&'static str> = Some("none");
8060    const STROKE: Option<&'static str> = Some("currentColor");
8061    const STROKE_WIDTH: Option<&'static str> = Some("2");
8062    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8063    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8064    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8065
8066}
8067
8068#[derive(Default, Copy, Clone, PartialEq, Eq)]
8069pub struct UserMinus;
8070
8071impl IconShape for UserMinus {
8072    fn child_elements(&self) -> Element {
8073        rsx!(path {
8074        d: "M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2",
8075            }
8076circle {
8077        cx: "8.5",
8078        cy: "7",
8079        r: "4",
8080            }
8081line {
8082        x1: "23",
8083        x2: "17",
8084        y1: "11",
8085        y2: "11",
8086            })
8087    }
8088
8089    const WIDTH: Option<&'static str> = Some("24");
8090    const HEIGHT: Option<&'static str> = Some("24");
8091    const FILL: Option<&'static str> = Some("none");
8092    const STROKE: Option<&'static str> = Some("currentColor");
8093    const STROKE_WIDTH: Option<&'static str> = Some("2");
8094    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8095    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8096    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8097
8098}
8099
8100#[derive(Default, Copy, Clone, PartialEq, Eq)]
8101pub struct UserPlus;
8102
8103impl IconShape for UserPlus {
8104    fn child_elements(&self) -> Element {
8105        rsx!(path {
8106        d: "M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2",
8107            }
8108circle {
8109        cx: "8.5",
8110        cy: "7",
8111        r: "4",
8112            }
8113line {
8114        x1: "20",
8115        x2: "20",
8116        y1: "8",
8117        y2: "14",
8118            }
8119line {
8120        x1: "23",
8121        x2: "17",
8122        y1: "11",
8123        y2: "11",
8124            })
8125    }
8126
8127    const WIDTH: Option<&'static str> = Some("24");
8128    const HEIGHT: Option<&'static str> = Some("24");
8129    const FILL: Option<&'static str> = Some("none");
8130    const STROKE: Option<&'static str> = Some("currentColor");
8131    const STROKE_WIDTH: Option<&'static str> = Some("2");
8132    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8133    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8134    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8135
8136}
8137
8138#[derive(Default, Copy, Clone, PartialEq, Eq)]
8139pub struct UserX;
8140
8141impl IconShape for UserX {
8142    fn child_elements(&self) -> Element {
8143        rsx!(path {
8144        d: "M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2",
8145            }
8146circle {
8147        cx: "8.5",
8148        cy: "7",
8149        r: "4",
8150            }
8151line {
8152        x1: "18",
8153        x2: "23",
8154        y1: "8",
8155        y2: "13",
8156            }
8157line {
8158        x1: "23",
8159        x2: "18",
8160        y1: "8",
8161        y2: "13",
8162            })
8163    }
8164
8165    const WIDTH: Option<&'static str> = Some("24");
8166    const HEIGHT: Option<&'static str> = Some("24");
8167    const FILL: Option<&'static str> = Some("none");
8168    const STROKE: Option<&'static str> = Some("currentColor");
8169    const STROKE_WIDTH: Option<&'static str> = Some("2");
8170    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8171    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8172    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8173
8174}
8175
8176#[derive(Default, Copy, Clone, PartialEq, Eq)]
8177pub struct Users;
8178
8179impl IconShape for Users {
8180    fn child_elements(&self) -> Element {
8181        rsx!(path {
8182        d: "M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2",
8183            }
8184circle {
8185        cx: "9",
8186        cy: "7",
8187        r: "4",
8188            }
8189path {
8190        d: "M23 21v-2a4 4 0 0 0-3-3.87",
8191            }
8192path {
8193        d: "M16 3.13a4 4 0 0 1 0 7.75",
8194            })
8195    }
8196
8197    const WIDTH: Option<&'static str> = Some("24");
8198    const HEIGHT: Option<&'static str> = Some("24");
8199    const FILL: Option<&'static str> = Some("none");
8200    const STROKE: Option<&'static str> = Some("currentColor");
8201    const STROKE_WIDTH: Option<&'static str> = Some("2");
8202    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8203    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8204    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8205
8206}
8207
8208#[derive(Default, Copy, Clone, PartialEq, Eq)]
8209pub struct Video;
8210
8211impl IconShape for Video {
8212    fn child_elements(&self) -> Element {
8213        rsx!(polygon {
8214        points: "23 7 16 12 23 17 23 7",
8215            }
8216rect {
8217        height: "14",
8218        rx: "2",
8219        ry: "2",
8220        width: "15",
8221        x: "1",
8222        y: "5",
8223            })
8224    }
8225
8226    const WIDTH: Option<&'static str> = Some("24");
8227    const HEIGHT: Option<&'static str> = Some("24");
8228    const FILL: Option<&'static str> = Some("none");
8229    const STROKE: Option<&'static str> = Some("currentColor");
8230    const STROKE_WIDTH: Option<&'static str> = Some("2");
8231    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8232    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8233    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8234
8235}
8236
8237#[derive(Default, Copy, Clone, PartialEq, Eq)]
8238pub struct VideoOff;
8239
8240impl IconShape for VideoOff {
8241    fn child_elements(&self) -> Element {
8242        rsx!(path {
8243        d: "M16 16v1a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2m5.66 0H14a2 2 0 0 1 2 2v3.34l1 1L23 7v10",
8244            }
8245line {
8246        x1: "1",
8247        x2: "23",
8248        y1: "1",
8249        y2: "23",
8250            })
8251    }
8252
8253    const WIDTH: Option<&'static str> = Some("24");
8254    const HEIGHT: Option<&'static str> = Some("24");
8255    const FILL: Option<&'static str> = Some("none");
8256    const STROKE: Option<&'static str> = Some("currentColor");
8257    const STROKE_WIDTH: Option<&'static str> = Some("2");
8258    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8259    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8260    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8261
8262}
8263
8264#[derive(Default, Copy, Clone, PartialEq, Eq)]
8265pub struct Voicemail;
8266
8267impl IconShape for Voicemail {
8268    fn child_elements(&self) -> Element {
8269        rsx!(circle {
8270        cx: "5.5",
8271        cy: "11.5",
8272        r: "4.5",
8273            }
8274circle {
8275        cx: "18.5",
8276        cy: "11.5",
8277        r: "4.5",
8278            }
8279line {
8280        x1: "5.5",
8281        x2: "18.5",
8282        y1: "16",
8283        y2: "16",
8284            })
8285    }
8286
8287    const WIDTH: Option<&'static str> = Some("24");
8288    const HEIGHT: Option<&'static str> = Some("24");
8289    const FILL: Option<&'static str> = Some("none");
8290    const STROKE: Option<&'static str> = Some("currentColor");
8291    const STROKE_WIDTH: Option<&'static str> = Some("2");
8292    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8293    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8294    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8295
8296}
8297
8298#[derive(Default, Copy, Clone, PartialEq, Eq)]
8299pub struct Volume;
8300
8301impl IconShape for Volume {
8302    fn child_elements(&self) -> Element {
8303        rsx!(polygon {
8304        points: "11 5 6 9 2 9 2 15 6 15 11 19 11 5",
8305            })
8306    }
8307
8308    const WIDTH: Option<&'static str> = Some("24");
8309    const HEIGHT: Option<&'static str> = Some("24");
8310    const FILL: Option<&'static str> = Some("none");
8311    const STROKE: Option<&'static str> = Some("currentColor");
8312    const STROKE_WIDTH: Option<&'static str> = Some("2");
8313    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8314    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8315    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8316
8317}
8318
8319#[derive(Default, Copy, Clone, PartialEq, Eq)]
8320pub struct Volume1;
8321
8322impl IconShape for Volume1 {
8323    fn child_elements(&self) -> Element {
8324        rsx!(polygon {
8325        points: "11 5 6 9 2 9 2 15 6 15 11 19 11 5",
8326            }
8327path {
8328        d: "M15.54 8.46a5 5 0 0 1 0 7.07",
8329            })
8330    }
8331
8332    const WIDTH: Option<&'static str> = Some("24");
8333    const HEIGHT: Option<&'static str> = Some("24");
8334    const FILL: Option<&'static str> = Some("none");
8335    const STROKE: Option<&'static str> = Some("currentColor");
8336    const STROKE_WIDTH: Option<&'static str> = Some("2");
8337    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8338    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8339    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8340
8341}
8342
8343#[derive(Default, Copy, Clone, PartialEq, Eq)]
8344pub struct Volume2;
8345
8346impl IconShape for Volume2 {
8347    fn child_elements(&self) -> Element {
8348        rsx!(polygon {
8349        points: "11 5 6 9 2 9 2 15 6 15 11 19 11 5",
8350            }
8351path {
8352        d: "M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07",
8353            })
8354    }
8355
8356    const WIDTH: Option<&'static str> = Some("24");
8357    const HEIGHT: Option<&'static str> = Some("24");
8358    const FILL: Option<&'static str> = Some("none");
8359    const STROKE: Option<&'static str> = Some("currentColor");
8360    const STROKE_WIDTH: Option<&'static str> = Some("2");
8361    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8362    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8363    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8364
8365}
8366
8367#[derive(Default, Copy, Clone, PartialEq, Eq)]
8368pub struct VolumeX;
8369
8370impl IconShape for VolumeX {
8371    fn child_elements(&self) -> Element {
8372        rsx!(polygon {
8373        points: "11 5 6 9 2 9 2 15 6 15 11 19 11 5",
8374            }
8375line {
8376        x1: "23",
8377        x2: "17",
8378        y1: "9",
8379        y2: "15",
8380            }
8381line {
8382        x1: "17",
8383        x2: "23",
8384        y1: "9",
8385        y2: "15",
8386            })
8387    }
8388
8389    const WIDTH: Option<&'static str> = Some("24");
8390    const HEIGHT: Option<&'static str> = Some("24");
8391    const FILL: Option<&'static str> = Some("none");
8392    const STROKE: Option<&'static str> = Some("currentColor");
8393    const STROKE_WIDTH: Option<&'static str> = Some("2");
8394    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8395    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8396    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8397
8398}
8399
8400#[derive(Default, Copy, Clone, PartialEq, Eq)]
8401pub struct Watch;
8402
8403impl IconShape for Watch {
8404    fn child_elements(&self) -> Element {
8405        rsx!(circle {
8406        cx: "12",
8407        cy: "12",
8408        r: "7",
8409            }
8410polyline {
8411        points: "12 9 12 12 13.5 13.5",
8412            }
8413path {
8414        d: "M16.51 17.35l-.35 3.83a2 2 0 0 1-2 1.82H9.83a2 2 0 0 1-2-1.82l-.35-3.83m.01-10.7l.35-3.83A2 2 0 0 1 9.83 1h4.35a2 2 0 0 1 2 1.82l.35 3.83",
8415            })
8416    }
8417
8418    const WIDTH: Option<&'static str> = Some("24");
8419    const HEIGHT: Option<&'static str> = Some("24");
8420    const FILL: Option<&'static str> = Some("none");
8421    const STROKE: Option<&'static str> = Some("currentColor");
8422    const STROKE_WIDTH: Option<&'static str> = Some("2");
8423    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8424    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8425    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8426
8427}
8428
8429#[derive(Default, Copy, Clone, PartialEq, Eq)]
8430pub struct Wifi;
8431
8432impl IconShape for Wifi {
8433    fn child_elements(&self) -> Element {
8434        rsx!(path {
8435        d: "M5 12.55a11 11 0 0 1 14.08 0",
8436            }
8437path {
8438        d: "M1.42 9a16 16 0 0 1 21.16 0",
8439            }
8440path {
8441        d: "M8.53 16.11a6 6 0 0 1 6.95 0",
8442            }
8443line {
8444        x1: "12",
8445        x2: "12.01",
8446        y1: "20",
8447        y2: "20",
8448            })
8449    }
8450
8451    const WIDTH: Option<&'static str> = Some("24");
8452    const HEIGHT: Option<&'static str> = Some("24");
8453    const FILL: Option<&'static str> = Some("none");
8454    const STROKE: Option<&'static str> = Some("currentColor");
8455    const STROKE_WIDTH: Option<&'static str> = Some("2");
8456    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8457    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8458    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8459
8460}
8461
8462#[derive(Default, Copy, Clone, PartialEq, Eq)]
8463pub struct WifiOff;
8464
8465impl IconShape for WifiOff {
8466    fn child_elements(&self) -> Element {
8467        rsx!(line {
8468        x1: "1",
8469        x2: "23",
8470        y1: "1",
8471        y2: "23",
8472            }
8473path {
8474        d: "M16.72 11.06A10.94 10.94 0 0 1 19 12.55",
8475            }
8476path {
8477        d: "M5 12.55a10.94 10.94 0 0 1 5.17-2.39",
8478            }
8479path {
8480        d: "M10.71 5.05A16 16 0 0 1 22.58 9",
8481            }
8482path {
8483        d: "M1.42 9a15.91 15.91 0 0 1 4.7-2.88",
8484            }
8485path {
8486        d: "M8.53 16.11a6 6 0 0 1 6.95 0",
8487            }
8488line {
8489        x1: "12",
8490        x2: "12.01",
8491        y1: "20",
8492        y2: "20",
8493            })
8494    }
8495
8496    const WIDTH: Option<&'static str> = Some("24");
8497    const HEIGHT: Option<&'static str> = Some("24");
8498    const FILL: Option<&'static str> = Some("none");
8499    const STROKE: Option<&'static str> = Some("currentColor");
8500    const STROKE_WIDTH: Option<&'static str> = Some("2");
8501    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8502    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8503    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8504
8505}
8506
8507#[derive(Default, Copy, Clone, PartialEq, Eq)]
8508pub struct Wind;
8509
8510impl IconShape for Wind {
8511    fn child_elements(&self) -> Element {
8512        rsx!(path {
8513        d: "M9.59 4.59A2 2 0 1 1 11 8H2m10.59 11.41A2 2 0 1 0 14 16H2m15.73-8.27A2.5 2.5 0 1 1 19.5 12H2",
8514            })
8515    }
8516
8517    const WIDTH: Option<&'static str> = Some("24");
8518    const HEIGHT: Option<&'static str> = Some("24");
8519    const FILL: Option<&'static str> = Some("none");
8520    const STROKE: Option<&'static str> = Some("currentColor");
8521    const STROKE_WIDTH: Option<&'static str> = Some("2");
8522    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8523    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8524    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8525
8526}
8527
8528#[derive(Default, Copy, Clone, PartialEq, Eq)]
8529pub struct X;
8530
8531impl IconShape for X {
8532    fn child_elements(&self) -> Element {
8533        rsx!(line {
8534        x1: "18",
8535        x2: "6",
8536        y1: "6",
8537        y2: "18",
8538            }
8539line {
8540        x1: "6",
8541        x2: "18",
8542        y1: "6",
8543        y2: "18",
8544            })
8545    }
8546
8547    const WIDTH: Option<&'static str> = Some("24");
8548    const HEIGHT: Option<&'static str> = Some("24");
8549    const FILL: Option<&'static str> = Some("none");
8550    const STROKE: Option<&'static str> = Some("currentColor");
8551    const STROKE_WIDTH: Option<&'static str> = Some("2");
8552    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8553    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8554    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8555
8556}
8557
8558#[derive(Default, Copy, Clone, PartialEq, Eq)]
8559pub struct XCircle;
8560
8561impl IconShape for XCircle {
8562    fn child_elements(&self) -> Element {
8563        rsx!(circle {
8564        cx: "12",
8565        cy: "12",
8566        r: "10",
8567            }
8568line {
8569        x1: "15",
8570        x2: "9",
8571        y1: "9",
8572        y2: "15",
8573            }
8574line {
8575        x1: "9",
8576        x2: "15",
8577        y1: "9",
8578        y2: "15",
8579            })
8580    }
8581
8582    const WIDTH: Option<&'static str> = Some("24");
8583    const HEIGHT: Option<&'static str> = Some("24");
8584    const FILL: Option<&'static str> = Some("none");
8585    const STROKE: Option<&'static str> = Some("currentColor");
8586    const STROKE_WIDTH: Option<&'static str> = Some("2");
8587    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8588    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8589    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8590
8591}
8592
8593#[derive(Default, Copy, Clone, PartialEq, Eq)]
8594pub struct XOctagon;
8595
8596impl IconShape for XOctagon {
8597    fn child_elements(&self) -> Element {
8598        rsx!(polygon {
8599        points: "7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2",
8600            }
8601line {
8602        x1: "15",
8603        x2: "9",
8604        y1: "9",
8605        y2: "15",
8606            }
8607line {
8608        x1: "9",
8609        x2: "15",
8610        y1: "9",
8611        y2: "15",
8612            })
8613    }
8614
8615    const WIDTH: Option<&'static str> = Some("24");
8616    const HEIGHT: Option<&'static str> = Some("24");
8617    const FILL: Option<&'static str> = Some("none");
8618    const STROKE: Option<&'static str> = Some("currentColor");
8619    const STROKE_WIDTH: Option<&'static str> = Some("2");
8620    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8621    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8622    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8623
8624}
8625
8626#[derive(Default, Copy, Clone, PartialEq, Eq)]
8627pub struct XSquare;
8628
8629impl IconShape for XSquare {
8630    fn child_elements(&self) -> Element {
8631        rsx!(rect {
8632        height: "18",
8633        rx: "2",
8634        ry: "2",
8635        width: "18",
8636        x: "3",
8637        y: "3",
8638            }
8639line {
8640        x1: "9",
8641        x2: "15",
8642        y1: "9",
8643        y2: "15",
8644            }
8645line {
8646        x1: "15",
8647        x2: "9",
8648        y1: "9",
8649        y2: "15",
8650            })
8651    }
8652
8653    const WIDTH: Option<&'static str> = Some("24");
8654    const HEIGHT: Option<&'static str> = Some("24");
8655    const FILL: Option<&'static str> = Some("none");
8656    const STROKE: Option<&'static str> = Some("currentColor");
8657    const STROKE_WIDTH: Option<&'static str> = Some("2");
8658    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8659    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8660    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8661
8662}
8663
8664#[derive(Default, Copy, Clone, PartialEq, Eq)]
8665pub struct Youtube;
8666
8667impl IconShape for Youtube {
8668    fn child_elements(&self) -> Element {
8669        rsx!(path {
8670        d: "M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z",
8671            }
8672polygon {
8673        points: "9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02",
8674            })
8675    }
8676
8677    const WIDTH: Option<&'static str> = Some("24");
8678    const HEIGHT: Option<&'static str> = Some("24");
8679    const FILL: Option<&'static str> = Some("none");
8680    const STROKE: Option<&'static str> = Some("currentColor");
8681    const STROKE_WIDTH: Option<&'static str> = Some("2");
8682    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8683    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8684    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8685
8686}
8687
8688#[derive(Default, Copy, Clone, PartialEq, Eq)]
8689pub struct Zap;
8690
8691impl IconShape for Zap {
8692    fn child_elements(&self) -> Element {
8693        rsx!(polygon {
8694        points: "13 2 3 14 12 14 11 22 21 10 12 10 13 2",
8695            })
8696    }
8697
8698    const WIDTH: Option<&'static str> = Some("24");
8699    const HEIGHT: Option<&'static str> = Some("24");
8700    const FILL: Option<&'static str> = Some("none");
8701    const STROKE: Option<&'static str> = Some("currentColor");
8702    const STROKE_WIDTH: Option<&'static str> = Some("2");
8703    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8704    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8705    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8706
8707}
8708
8709#[derive(Default, Copy, Clone, PartialEq, Eq)]
8710pub struct ZapOff;
8711
8712impl IconShape for ZapOff {
8713    fn child_elements(&self) -> Element {
8714        rsx!(polyline {
8715        points: "12.41 6.75 13 2 10.57 4.92",
8716            }
8717polyline {
8718        points: "18.57 12.91 21 10 15.66 10",
8719            }
8720polyline {
8721        points: "8 8 3 14 12 14 11 22 16 16",
8722            }
8723line {
8724        x1: "1",
8725        x2: "23",
8726        y1: "1",
8727        y2: "23",
8728            })
8729    }
8730
8731    const WIDTH: Option<&'static str> = Some("24");
8732    const HEIGHT: Option<&'static str> = Some("24");
8733    const FILL: Option<&'static str> = Some("none");
8734    const STROKE: Option<&'static str> = Some("currentColor");
8735    const STROKE_WIDTH: Option<&'static str> = Some("2");
8736    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8737    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8738    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8739
8740}
8741
8742#[derive(Default, Copy, Clone, PartialEq, Eq)]
8743pub struct ZoomIn;
8744
8745impl IconShape for ZoomIn {
8746    fn child_elements(&self) -> Element {
8747        rsx!(circle {
8748        cx: "11",
8749        cy: "11",
8750        r: "8",
8751            }
8752line {
8753        x1: "21",
8754        x2: "16.65",
8755        y1: "21",
8756        y2: "16.65",
8757            }
8758line {
8759        x1: "11",
8760        x2: "11",
8761        y1: "8",
8762        y2: "14",
8763            }
8764line {
8765        x1: "8",
8766        x2: "14",
8767        y1: "11",
8768        y2: "11",
8769            })
8770    }
8771
8772    const WIDTH: Option<&'static str> = Some("24");
8773    const HEIGHT: Option<&'static str> = Some("24");
8774    const FILL: Option<&'static str> = Some("none");
8775    const STROKE: Option<&'static str> = Some("currentColor");
8776    const STROKE_WIDTH: Option<&'static str> = Some("2");
8777    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8778    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8779    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8780
8781}
8782
8783#[derive(Default, Copy, Clone, PartialEq, Eq)]
8784pub struct ZoomOut;
8785
8786impl IconShape for ZoomOut {
8787    fn child_elements(&self) -> Element {
8788        rsx!(circle {
8789        cx: "11",
8790        cy: "11",
8791        r: "8",
8792            }
8793line {
8794        x1: "21",
8795        x2: "16.65",
8796        y1: "21",
8797        y2: "16.65",
8798            }
8799line {
8800        x1: "8",
8801        x2: "14",
8802        y1: "11",
8803        y2: "11",
8804            })
8805    }
8806
8807    const WIDTH: Option<&'static str> = Some("24");
8808    const HEIGHT: Option<&'static str> = Some("24");
8809    const FILL: Option<&'static str> = Some("none");
8810    const STROKE: Option<&'static str> = Some("currentColor");
8811    const STROKE_WIDTH: Option<&'static str> = Some("2");
8812    const STROKE_LINE_CAP: Option<&'static str> = Some("round");
8813    const STROKE_LINE_JOIN: Option<&'static str> = Some("round");
8814    const VIEW_BOX: Option<&'static str> = Some("0 0 24 24");
8815
8816}