
    +ji                         d dl mZ d dlmZ d dlmZ g dZd Z G d de          Z G d d	e          Z	 G d
 de	          Z
dS )    )AbstractLayout)html)vuetify3)
VAppLayoutSinglePageLayoutSinglePageWithDrawerLayoutc                  N   dd l } ddlm} g }| j                                        D ]k}|j                            dd          }|                    d          r9 ||          }|                    |                    dd           d|            ld	                    |          S )	Nr   )get_versionName trameztrame-z == 
)
importlib.metadatatrame_client.utils.versionr
   metadatadistributionsget
startswithappendreplacejoin)	importlibr
   outputpkgnameversions         S/DATA/AppData/hermes/venv/lib/python3.11/site-packages/trame_vuetify/ui/vuetify3.pyget_trame_versionsr      s    666666F!//11 H H|++??7## 	H!k$''GMMT\\(B77FFWFFGGG99V    c                   $     e Zd ZdZd fd	Z xZS )r   z
    Layout composed of just a `<v-app />`

    :param _server: Server to bound the layout to
    :param template_name: Name of the template (default: main)
    :param vuetify_config: Dict structure to configure vuetify
    mainNc                      t                      j        |t          j        dd|i|fd|i| |r|| j        j        _        d S d S )Ntrame_servertemplate_name )super__init__r   VAppserverstatetrame__vuetify3_config)self_serverr$   vuetify_configkwargs	__class__s        r   r'   zVAppLayout.__init__#   s|    M99w9&99	
 	
 (	
 		
 	
 	
  	F7EDK444	F 	Fr   )r!   N__name__
__module____qualname____doc__r'   __classcell__r0   s   @r   r   r      sQ         F F F F F F F F F Fr   r   c                   *     e Zd ZdZd fd	Zd Z xZS )r   a  
    Layout composed of the following structure:

    :param _server: Server to bound the layout to
    :param template_name: Name of the template (default: main)
    :param vuetify_config: Dict structure to configure vuetify


    .. code-block::

        <v-app>
            <v-app-bar>                         # layout.toolbar
                <v-app-bar-nav-icon />          # layout.icon
                <v-toolbar-title>               # layout.title
                    Trame application
                </v-toolbar-title>
            </v-app-bar>
            <v-main />                          # layout.content
            <v-footer app border class="my-0 py-0">    # layout.footer
                < ... />
            </v-footer>
        </v-app>

    r!   c           
          t                      j        |fd|i| | 5  t          j                    5 }|| _        t          j                    | _        t          j        d          | _        d d d            n# 1 swxY w Y   t          j	                    | _
        t          j        ddd          5 }|| _        t          j        dddd	d
           |                    d           t          j                     | j        j        j        }|                                rMt          j        dddd| j        d          5  t          j        dd           d d d            n# 1 swxY w Y   t          j        d          5  t          j        d          5  t          j        dddd           d d d            n# 1 swxY w Y   t1          j        t5                                 d d d            n# 1 swxY w Y   |                    d           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr$   zTrame applicationTz	my-0 py-0)appclassesborder)z!!trame__busyz#04a94d      z
ml-n3 mr-1)indeterminatecolorsizewidthr;   z<a href="https://kitware.github.io/trame/" class="text-grey-lighten-1 text-caption text-decoration-none" target="_blank">Powered by trame</a>zx-smallcompactr   zmx-2)rA   densityicon	elevationclickr;   zmdi-autorenewsmall)rA   top)location)z	{ props })v_slot_activatorzmdi-help-circle   zmr-4)props)rA   r;   v_bindu   <a href="https://www.kitware.com/" class="text-grey-lighten-1 text-caption text-decoration-none" target="_blank">© 2025 Kitware Inc.</a>)r&   r'   r   VAppBartoolbarVAppBarNavIconrE   VToolbarTitletitleVMaincontentVFooterfooterVProgressCircular	add_childVSpacerr)   
controlleron_server_reloadexistsVBtnVIconVTooltipTemplater   Prer   )r,   r-   r$   r/   rP   rW   reloadr0   s          r   r'   zSinglePageLayout.__init__H   s   HHHHHH 2	 2	!## Iw&$355	%34GHH
I I I I I I I I I I I I I I I
 $>++DL!dKMMM *QW$*"4#(      ;  
  """/@==?? 
F!& )!"#"3 &   	F 	F !WEEEE	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F &666 3 3!*NKKK   -!#$*#-	                  H/112223 3 3 3 3 3 3 3 3 3 3 3 3 3 3   ?  M* * * * * * * * * * * * * * *2	 2	 2	 2	 2	 2	 2	 2	 2	 2	 2	 2	 2	 2	 2	 2	 2	 2	s   H99A9-H99A=	=H9 A=	2H93BH! E#H!#E''H!*E'+H!G5F>	2G5>GG5G#G5)H!5G99H!<G9=H!H9!H%	%H9(H%	)H99H= H=c                 N    | j         j                            | j                    d S )N)r)   r[   r\   )r,   s    r   r\   z!SinglePageLayout.on_server_reload~   s#    //<<<<<r   )r!   )r2   r3   r4   r5   r'   r\   r6   r7   s   @r   r   r   .   sW         24 4 4 4 4 4l= = = = = = =r   r   c                   &     e Zd ZdZ	 d fd	Z xZS )r   aR  
    Layout composed of the following structure:

    :param _server: Server to bound the layout to
    :param template_name: Name of the template (default: main)
    :param vuetify_config: Dict structure to configure vuetify

    :param show_drawer: Start with drawer open (default: True)
    :param width: Drawer width in pixel (default: 300)

    .. code-block::

        <v-app>
            <v-app-bar>                        # layout.toolbar
                <v-app-bar-nav-icon />          # layout.icon
                <v-toolbar-title>               # layout.title
                    Trame application
                </v-toolbar-title>
            </v-app-bar>
            <v-main />                          # layout.content
            <v-footer app border class="my-0 py-0">    # layout.footer
                < ... />
            </v-footer>

            <v-navigation-drawer                # layout.drawer
                app
                clipped
                stateless
                v-model="{template_name}_drawer"
                width="width"
            />
        </v-app>

    r!   T,  c           	           t                      j        |fd|i| | d}| 5  t          j        dddd| |f|          | _        d d d            n# 1 swxY w Y   | d| | j        _        d S )Nr$   _drawerTleft)disable_resize_watcherdisable_route_watcher	permanentrJ   v_modelrB   z = !)r&   r'   r   VNavigationDrawerdrawerrE   rG   )r,   r-   r$   show_drawerrB   r/   drawer_namer0   s          r   r'   z#SinglePageWithDrawerLayout.__init__   s     	HHHHHH&/// 	 	"4'+&*');7  DK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 );;k;;	s   #AAA)r!   Trf   r1   r7   s   @r   r   r      sO        ! !H FI< < < < < < < < < <r   r   N)trame_client.ui.corer   trame_client.widgetsr   trame_vuetify.widgetsr   __all__r   r   r   r   r%   r   r   <module>rv      s    / / / / / / % % % % % % * * * * * *    F F F F F F F F(Q= Q= Q= Q= Q=z Q= Q= Q=h2< 2< 2< 2< 2<!1 2< 2< 2< 2< 2<r   