@@ -34,6 +34,9 @@ final class Iconify
3434 // -safe margin
3535 private const MAX_ICONS_QUERY_LENGTH = 400 ;
3636
37+ private const DEFAULT_ICON_WIDTH = 16 ;
38+ private const DEFAULT_ICON_HEIGHT = 16 ;
39+
3740 private HttpClientInterface $ http ;
3841 private \ArrayObject $ sets ;
3942 private int $ maxIconsQueryLength ;
@@ -81,13 +84,10 @@ public function fetchIcon(string $prefix, string $name): Icon
8184
8285 $ height = $ data ['icons ' ][$ name ]['height ' ] ?? $ data ['height ' ] ?? $ this ->sets ()[$ prefix ]['height ' ] ?? null ;
8386 $ 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- }
8787
8888 return new Icon ($ data ['icons ' ][$ name ]['body ' ], [
8989 'xmlns ' => self ::ATTR_XMLNS_URL ,
90- 'viewBox ' => \sprintf ('0 0 %s %s ' , $ width ?? $ height , $ height ?? $ width ),
90+ 'viewBox ' => \sprintf ('0 0 %s %s ' , $ width ?? $ height ?? self :: DEFAULT_ICON_WIDTH , $ height ?? $ width ?? self :: DEFAULT_ICON_HEIGHT ),
9191 ]);
9292 }
9393
@@ -133,9 +133,10 @@ public function fetchIcons(string $prefix, array $names): array
133133 $ height = $ iconData ['height ' ] ?? $ data ['height ' ] ??= $ this ->sets ()[$ prefix ]['height ' ] ?? null ;
134134 $ width = $ iconData ['width ' ] ?? $ data ['width ' ] ??= $ this ->sets ()[$ prefix ]['width ' ] ?? null ;
135135
136+
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