U
    ×ZßfÜ  ã                   @   s$   d dl mZmZ G dd„ deƒZdS )é    )Ú	ComponentÚ_explicitize_argsc                       s†   e Zd ZdZg ZdgZdZd Zede	j
e	j
e	j
e	j
e	j
e	j
e	j
e	j
e	j
e	j
e	j
e	j
e	j
e	j
e	j
e	j
e	j
e	j
e	j
f‡ fdd„	ƒZ‡  ZS )ÚUploadav  An Upload component.
    Upload components allow your app to accept user-uploaded files via drag'n'drop

    Keyword arguments:

    - children (a list of or a singular dash component, string or number | string; optional):
        Contents of the upload component.

    - id (string; optional):
        The ID of this component, used to identify dash components in
        callbacks. The ID needs to be unique across all of the components
        in an app.

    - accept (string; optional):
        Allow specific types of files. See
        https://github.com/okonet/attr-accept for more information. Keep
        in mind that mime type determination is not reliable across
        platforms. CSV files, for example, are reported as text/plain
        under macOS but as application/vnd.ms-excel under Windows. In some
        cases there might not be a mime type set at all. See:
        https://github.com/react-dropzone/react-dropzone/issues/276.

    - className (string; optional):
        HTML class name of the component.

    - className_active (string; optional):
        HTML class name of the component while active.

    - className_disabled (string; optional):
        HTML class name of the component if disabled.

    - className_reject (string; optional):
        HTML class name of the component if rejected.

    - contents (string | list of strings; optional):
        The contents of the uploaded file as a binary string.

    - disable_click (boolean; default False):
        Disallow clicking on the component to open the file dialog.

    - disabled (boolean; default False):
        Enable/disable the upload component entirely.

    - filename (string | list of strings; optional):
        The name of the file(s) that was(were) uploaded. Note that this
        does not include the path of the file (for security reasons).

    - last_modified (number | list of numbers; optional):
        The last modified date of the file that was uploaded in unix time
        (seconds since 1970).

    - loading_state (dict; optional):
        Object that holds the loading state object coming from
        dash-renderer.

        `loading_state` is a dict with keys:

        - component_name (string; optional):
            Holds the name of the component that is loading.

        - is_loading (boolean; optional):
            Determines if the component is loading or not.

        - prop_name (string; optional):
            Holds which property is loading.

    - max_size (number; default -1):
        Maximum file size in bytes. If `-1`, then infinite.

    - min_size (number; default 0):
        Minimum file size in bytes.

    - multiple (boolean; default False):
        Allow dropping multiple files.

    - style (dict; optional):
        CSS styles to apply.

    - style_active (dict; default {    borderStyle: 'solid',    borderColor: '#6c6',    backgroundColor: '#eee',}):
        CSS styles to apply while active.

    - style_disabled (dict; default {    opacity: 0.5,}):
        CSS styles if disabled.

    - style_reject (dict; default {    borderStyle: 'solid',    borderColor: '#c66',    backgroundColor: '#eee',}):
        CSS styles if rejected.ÚchildrenZdash_core_componentsNc                    s²   ddddddddd	d
ddddddddddg| _ g | _ddddddddd	d
ddddddddddg| _g | _| d¡}tƒ ‰ ˆ  |¡ ‡ fdd„|D ƒ}tt| ƒj	f d|i|—Ž d S )Nr   ÚidÚacceptÚ	classNameÚclassName_activeÚclassName_disabledÚclassName_rejectÚcontentsÚdisable_clickÚdisabledÚfilenameÚlast_modifiedÚloading_stateÚmax_sizeÚmin_sizeÚmultipleÚstyleÚstyle_activeÚstyle_disabledÚstyle_rejectÚ_explicit_argsc                    s   i | ]}|d kr|ˆ | “qS )r   © )Ú.0Úk©Z_localsr   ú3/tmp/pip-unpacked-wheel-47crqvv_/dash/dcc/Upload.pyÚ
<dictcomp>­   s       z#Upload.__init__.<locals>.<dictcomp>)
Z_prop_namesZ_valid_wildcard_attributesZavailable_propertiesZavailable_wildcard_propertiesÚpopÚlocalsÚupdateÚsuperr   Ú__init__)Úselfr   r   r   r   r   r   r   r   r   r   r   r   r	   r   r
   r   r   r   r   r   Úkwargsr   Úargs©Ú	__class__r   r   r$   c   sb    ìì

zUpload.__init__)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Z_children_propsZ_base_nodesÚ
_namespaceÚ_typer   r   Ú	UNDEFINEDr$   Ú__classcell__r   r   r(   r   r      s6   Wër   N)Zdash.development.base_componentr   r   r   r   r   r   r   Ú<module>   s   