You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

28 lines
955 B

from typing import Optional
from .mixins.color_elements import TextColorElement
class Icon(TextColorElement):
def __init__(self,
name: str,
*,
size: Optional[str] = None,
color: Optional[str] = None,
) -> None:
"""Icon
This element is based on Quasar's `QIcon <https://quasar.dev/vue-components/icon>`_ component.
`Here <https://fonts.google.com/icons?icon.set=Material+Icons>`_ is a reference of possible names.
:param name: name of the icon
:param size: size in CSS units, including unit name or standard size name (xs|sm|md|lg|xl), examples: 16px, 2rem
:param color: icon color (either a Quasar, Tailwind, or CSS color or `None`, default: `None`)
"""
super().__init__(tag='q-icon', text_color=color)
self._props['name'] = name
if size:
self._props['size'] = size