Source code for dash_mp_components.DownloadButton

# AUTO GENERATED FILE - DO NOT EDIT

import typing  # noqa: F401
from typing_extensions import TypedDict, NotRequired, Literal # noqa: F401
from dash.development.base_component import Component, _explicitize_args
try:
    from dash.types import NumberType  # noqa: F401
except ImportError:
    # Backwards compatibility for dash<=4.1.0
    if typing.TYPE_CHECKING:
        raise
    NumberType = typing.Union[  # noqa: F401
        typing.SupportsFloat, typing.SupportsInt, typing.SupportsComplex
    ]

ComponentSingleType = typing.Union[str, int, float, Component, None]
ComponentType = typing.Union[
    ComponentSingleType,
    typing.Sequence[ComponentSingleType],
]


[docs] class DownloadButton(Component): """A DownloadButton component. Button for exporting arrays or objects to files Keyword arguments: - children (a list of or a singular dash component, string or number; optional): Use the children prop to set the button content This can be simple text or a component. - id (string; optional): The ID used to identify this component in Dash callbacks. - className (string; optional): Class(es) to add to the top-level element of the component Note: the class \"mpc-download-button\" is always added. - data (optional): Array or object (list or dictionary) to be downloaded If downloading as csv or xlsx, data must be an array/list. - filename (string; optional): Name of the file WITHOUT the extension (default: \"export\"). - filetype (a value equal to: 'json', 'csv', 'xlsx'; optional): File type to be downloaded This is also the extension that will be appended to the filename (default: \"json\"). - tooltip (string; optional): Optional tooltip to display above the button on hover.""" _children_props: typing.List[str] = [] _base_nodes = ['children'] _namespace = 'dash_mp_components' _type = 'DownloadButton' def __init__( self, children: typing.Optional[ComponentType] = None, id: typing.Optional[typing.Union[str, dict]] = None, className: typing.Optional[str] = None, data: typing.Optional[typing.Any] = None, filename: typing.Optional[str] = None, filetype: typing.Optional[Literal["json", "csv", "xlsx"]] = None, tooltip: typing.Optional[str] = None, **kwargs ): self._prop_names = ['children', 'id', 'className', 'data', 'filename', 'filetype', 'tooltip'] self._valid_wildcard_attributes = [] self.available_properties = ['children', 'id', 'className', 'data', 'filename', 'filetype', 'tooltip'] self.available_wildcard_properties = [] _explicit_args = kwargs.pop('_explicit_args') _locals = locals() _locals.update(kwargs) # For wildcard attrs and excess named props args = {k: _locals[k] for k in _explicit_args if k != 'children'} super(DownloadButton, self).__init__(children=children, **args)
setattr(DownloadButton, "__init__", _explicitize_args(DownloadButton.__init__))