@@ -34,6 +34,10 @@ final class Iconify
3434 // -safe margin
3535 private const MAX_ICONS_QUERY_LENGTH = 400 ;
3636
37+ // https://github.com/iconify/iconify/blob/00cc144b040b838bd86474ab83f0e50e6c6a12a1/packages/utils/src/icon/defaults.ts#L23-L30
38+ private const DEFAULT_ICON_WIDTH = 16 ;
39+ private const DEFAULT_ICON_HEIGHT = 16 ;
40+
3741 private HttpClientInterface $ http ;
3842 private \ArrayObject $ sets ;
3943 private int $ maxIconsQueryLength ;
@@ -81,13 +85,10 @@ public function fetchIcon(string $prefix, string $name): Icon
8185
8286 $ height = $ data ['icons ' ][$ name ]['height ' ] ?? $ data ['height ' ] ?? $ this ->sets ()[$ prefix ]['height ' ] ?? null ;
8387 $ width = $ data ['icons ' ][$ name ]['width ' ] ?? $ data ['width ' ] ?? $ this ->sets ()[$ prefix ]['width ' ] ?? null ;
84- if (null === $ width && null === $ height ) {
85- throw new \RuntimeException (\sprintf ('The icon "%s:%s" does not have a width or height. ' , $ prefix , $ nameArg ));
86- }
8788
8889 return new Icon ($ data ['icons ' ][$ name ]['body ' ], [
8990 'xmlns ' => self ::ATTR_XMLNS_URL ,
90- 'viewBox ' => \sprintf ('0 0 %s %s ' , $ width ?? $ height , $ height ?? $ width ),
91+ 'viewBox ' => \sprintf ('0 0 %s %s ' , $ width ?? $ height ?? self :: DEFAULT_ICON_WIDTH , $ height ?? $ width ?? self :: DEFAULT_ICON_HEIGHT ),
9192 ]);
9293 }
9394
@@ -135,7 +136,7 @@ public function fetchIcons(string $prefix, array $names): array
135136
136137 $ icons [$ iconName ] = new Icon ($ iconData ['body ' ], [
137138 'xmlns ' => self ::ATTR_XMLNS_URL ,
138- 'viewBox ' => \sprintf ('0 0 %d %d ' , $ width ?? $ height , $ height ?? $ width ),
139+ 'viewBox ' => \sprintf ('0 0 %d %d ' , $ width ?? $ height ?? self :: DEFAULT_ICON_WIDTH , $ height ?? $ width ?? self :: DEFAULT_ICON_HEIGHT ),
139140 ]);
140141 }
141142
0 commit comments