
    pji                     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)vuetify3)
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         F/DATA/.local/lib/python3.12/site-packages/trame_vuetify/ui/vuetify3.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)
    :param vuetify_config: Dict structure to configure vuetify
    c                     t        |   |t        j                  dd|i|fd|i| |r|| j                  j
                  _        y y )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__#   sW    MM9w9&9	
 (	
 		
 7EDKK4 r   )mainN__name__
__module____qualname____doc__r&   __classcell__r/   s   @r   r   r      s    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>

    c           
      t   t        |   |fd|i| | 5  t        j                         5 }|| _        t        j
                         | _        t        j                  d      | _        d d d        t        j                         | _
        t        j                  ddd      5 }|| _        t        j                  dddd	d
       |j                  d       t        j                          | j                   j"                  j$                  }|j'                         rEt        j(                  dd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        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#   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   reloadr/   s          r   r&   zSinglePageLayout.__init__H   s   HHH!!#w&$335	%334GH
 $
 $>>+DL!!dKMQW$**"4#(   ;
   "//@@==?!& )!"#"33 & !WE &&6!**NK -!#$*#-	 L HH/12 7   ?M N T##0  LK 769 NM Ts   H.;G1&9H.BH";G>H"1HH
	"%HH" H.1G;	6H.>HH"
HHHH""H+	'H..H7c                 b    | j                   j                  j                  | j                          y )N)r(   r[   r\   )r+   s    r   r\   z!SinglePageLayout.on_server_reload~   s    //<r   )r0   )r2   r3   r4   r5   r&   r\   r6   r7   s   @r   r   r   .   s    24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>

    c           	          t        |   |fd|i| | d}| 5  t        j                  dddd| |f|      | _        d d d        | d| | j
                  _        y # 1 sw Y    xY w)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_namer/   s          r   r&   z#SinglePageWithDrawerLayout.__init__   s{     	HHH&w/"44'+&*'=;7DK  )Mk];		 Ts   $AA')r0   Ti,  r1   r7   s   @r   r   r      s    !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>ru      sD    / % *F F(Q=z Q=h2<!1 2<r   