def create(cls, *children, **props) -> Component:
        """Initialize the Icon component.

        Run some additional checks on Icon component.

        Args:
            *children: The positional arguments
            **props: The keyword arguments

        Raises:
            AttributeError: The errors tied to bad usage of the Icon component.
            TypeError: If the icon name is not a string.

        Returns:
            The created component.
        """
        if children:
            if len(children) == 1:
                child = Var.create(children[0]).guess_type()
                if not isinstance(child, StringVar):
                    msg = f"Icon name must be a string, got {children[0]._var_type if isinstance(children[0], Var) else children[0]}"
                    raise AttributeError(msg)
                props["tag"] = children[0]
            else:
                msg = f"Passing multiple children to Icon component is not allowed: remove positional arguments {children[1:]} to fix"
                raise AttributeError(msg)
        if "tag" not in props:
            msg = "Missing 'tag' keyword-argument for Icon"
            raise AttributeError(msg)

        tag_var: Var | LiteralVar = Var.create(props.pop("tag"))
        if isinstance(tag_var, LiteralVar):
            if isinstance(tag_var, LiteralStringVar):
                tag = format.to_snake_case(tag_var._var_value.lower())
            else:
                msg = f"Icon name must be a string, got {type(tag_var)}"
                raise TypeError(msg)
        elif isinstance(tag_var, Var):
            tag_stringified = tag_var.guess_type()
            if not isinstance(tag_stringified, StringVar):
                msg = f"Icon name must be a string, got {tag_var._var_type}"
                raise TypeError(msg)
            return DynamicIcon.create(name=tag_stringified.replace("_", "-"), **props)

        if tag not in LUCIDE_ICON_LIST:
            icons_sorted = sorted(
                LUCIDE_ICON_LIST,
                key=lambda s, tag=tag: format.length_of_largest_common_substring(
                    tag, s
                ),
                reverse=True,
            )
            console.warn(
                f"Invalid icon tag: {tag}. Please use one of the following: {', '.join(icons_sorted[0:10])}, ..."
                "\nSee full list at https://reflex.dev/docs/library/data-display/icon/#icons-list. Using 'circle_help' icon instead."
            )
            tag = "circle_help"

        props["tag"] = LUCIDE_ICON_MAPPING_OVERRIDE.get(tag, format.to_title_case(tag))
        props["alias"] = f"Lucide{props['tag']}"
        return super().create(**props)
Initialize the Icon component.

        Run some additional checks on Icon component.

        Args:
            *children: The positional arguments
            **props: The keyword arguments

        Raises:
            AttributeError: The errors tied to bad usage of the Icon component.
            TypeError: If the icon name is not a string.

        Returns:
            The created component.
        
reflex/components/lucide/icon.py