def METHOD_NAME() -> Plugin:
    return Plugin(
        start=False,
        spec=Spec(
            module=__name__,
            className='SnackBarUx',
            inputs=["payload"],
            outputs=["payload"],
            init={
                "type": "success",
                "message": "",
                "hide_after": 6000,
                "position_x": "center",
                "position_y": "bottom",
                "uix_mf_source": "http://localhost:8686"
            },
            version='0.6.1',
            license="MIT",
            author="Risto Kowaczewski",
            form=Form(groups=[
                FormGroup(
                    name="Widget Message Configuration",
                    fields=[
                        FormField(
                            id="message",
                            name="Pop-up message",
                            description="Provide message that will be shown on the web page.",
                            component=FormComponent(type="textarea", props={"label": "message"})
                        ),
                        FormField(
                            id="type",
                            name="Alert type",
                            description="Select alert type.",
                            component=FormComponent(type="select", props={"label": "Alert type", "items": {
                                "error": "Error",
                                "warning": "Warning",
                                "success": "Success",
                                "info": "Info"
                            }})
                        ),
                        FormField(
                            id="hide_after",
                            name="Hide message after",
                            description="Type number of milliseconds the message must be visible. Default: 6000. 6sec.",
                            component=FormComponent(type="text", props={"label": "hide after"})
                        ),
                        FormField(
                            id="position_y",
                            name="Vertical position",
                            description="Select where would you like to place the message.",
                            component=FormComponent(type="select", props={"label": "Vertical position", "items": {
                                "bottom": "Bottom",
                                "top": "Top"
                            }})
                        ),
                        FormField(
                            id="position_x",
                            name="Horizontal position",
                            description="Select where would you like to place the message.",
                            component=FormComponent(type="select", props={"label": "Horizontal position", "items": {
                                "left": "Left",
                                "center": "Center",
                                "right": "Right"
                            }})
                        ),
                    ]),
                FormGroup(
                    name="Widget Source Location",
                    fields=[
                        FormField(
                            id="uix_mf_source",
                            name="Micro frontend source location",
                            description="Provide URL where the micro frontend source is located. Usually it is the "
                                        "location of Tracardi API. Type different location if you use CDN.",
                            component=FormComponent(type="text", props={"label": "URL"})
                        ),
                    ],
                ),
            ]),
        ),
        metadata=MetaData(
            name='Show snack bar',
            desc='Shows snack bar pop-up on the front end.',
            icon='react',
            group=["UIX Widgets"],
            documentation=Documentation(
                inputs={
                    "payload": PortDoc(desc="This port takes payload object.")
                },
                outputs={"payload": PortDoc(desc="This port returns input payload object.")}
            ),
            frontend=True
        )
    )