
    pjc                     x    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
y)    )AbstractLayout)html)vuetify)
VAppLayoutSinglePageLayoutSinglePageWithDrawerLayoutc                  2   dd l } ddlm} g }| j                  j	                         D ]^  }|j                  j                  dd      }|j                  d      s1 ||      }|j                  |j                  dd       d|        ` dj                  |      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         E/DATA/.local/lib/python3.12/site-packages/trame_vuetify/ui/vuetify.pyget_trame_versionsr      s    6F!!//1||+??7#!$'GMMT\\(B78WIFG	 2 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)
    c                 V    t        |   |t        j                  d|      fd|i| y )Napp)idtrame_servertemplate_name)super__init__r   VApp)self_serverr%   kwargs	__class__s       r   r'   zVAppLayout.__init__"   s5    LLE8	
 (	
 		
r   main__name__
__module____qualname____doc__r'   __classcell__r,   s   @r   r   r      s    
 
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)


    .. code-block::

        <v-app id="app">
            <v-app-bar app>                     # 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 class="my-0 py-0">    # layout.footer
                < ... />
            </v-footer>
        </v-app>

    c                 ~   t        |   |fd|i| | 5  t        j                  d      5 }|| _        t        j
                         | _        t        j                  d      | _        d d d        t        j                         | _
        t        j                  dd      5 }|| _        t        j                  ddd	d
ddd       |j                  d       t        j                          | j                   j"                  j$                  }|j'                         rCt        j(                  dd| j$                  d      5  t        j*                  dd       d d d        t        j,                  d      5  t        j.                  d      5  t        j*                  dddddddg       d d d        t1        j2                  t5                      d d d        |j                  d       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ixY w# 1 sw Y   PxY w# 1 sw Y   CxY w# 1 sw Y   y xY w)Nr%   T)r"   zTrame applicationz	my-0 py-0)r"   classes)z!!trame__busy   z#01549bz#04a94d      z
ml-n3 mr-1)indeterminatebackground_opacitybg_colorcolorsizewidthr8   z<a href="https://kitware.github.io/trame/" class="grey--text lighten-1--text text-caption text-decoration-none" target="_blank">Powered by trame</a>zmx-2)x_smalliconclickr8   zmdi-autorenew)rB   )topz{on, attrs})v_slot_activatorzmdi-help-circlezmr-4attrson)v_bindzv-bind)v_onzv-on)rB   r8   rI   rJ   __propertiesu   <a href="https://www.kitware.com/" class="grey--text lighten-1--text text-caption text-decoration-none" target="_blank">© 2025 Kitware Inc.</a>)r&   r'   r   VAppBartoolbarVAppBarNavIconrC   VToolbarTitletitleVMaincontentVFooterfooterVProgressCircular	add_childVSpacerserver
controlleron_server_reloadexistsVBtnVIconVTooltipTemplater   Prer   )r)   r*   r%   r+   rM   rT   reloadr,   s          r   r'   zSinglePageLayout.__init__D   s   HHHT*g&#224	$223FG
 + #==?DLT;?6$))"4'(&#(   ;
 !//@@==?  $!"33 &	  otD %%$/ ))=I-$($*#*!%*>@P)Q J HH/12 0   ?S @ T**4  JI 0/; @? Ts   H3;G6(8H3 BH'<HH'2H	H	'%HH'%H36H 	;H3HH'HHH$ H''H0	,H33H<c                 b    | j                   j                  j                  | j                          y )N)rX   rY   rZ   )r)   s    r   rZ   z!SinglePageLayout.on_server_reload{   s    //<r   r-   )r0   r1   r2   r3   r'   rZ   r4   r5   s   @r   r   r   +   s    05n=r   r   c                   &     e Zd ZdZ	 d f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 show_drawer: Start with drawer open (default: True)
    :param width: Drawer width in pixel (default: 300)

    .. code-block::

        <v-app id="app">
            <v-app-bar app>                     # 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 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>

    c                     t        |   |fd|i| | d}| 5  t        j                  ddd||f|      | _        d d d        d| j
                  _        | d| | j                  _        y # 1 sw Y   1xY w)Nr%   _drawerT)r"   clipped	statelessv_modelrA   z = !)	r&   r'   r   VNavigationDrawerdrawerrM   clipped_leftrC   rD   )r)   r*   r%   show_drawerrA   r+   drawer_namer,   s          r   r'   z#SinglePageWithDrawerLayout.__init__   s     	HHH&w/!33$k2DK  %)!(Mk];		 Ts   "A--A6)r.   Ti,  r/   r5   s   @r   r   r      s    B FI< <r   r   N)trame_client.ui.corer   trame_client.widgetsr   trame_vuetify.widgetsr   __all__r   r   r   r    r   r   <module>rs      sB    / % )
 
"Q=z Q=h/<!1 /<r   