Aside Header

headerDecoration
multipleTooltip
subheaderItemsVisible

AsideHeader proporciona una experiencia de navegación flexible y personalizable dentro de su aplicación. Los usuarios pueden personalizar fácilmente la apariencia de la barra lateral para que coincida con los colores de su marca y también agregar enlaces personalizados, íconos que se adapten específicamente a la funcionalidad de su aplicación.

El componente ofrece una solución sólida para crear sistemas de navegación intuitivos y visualmente atractivos, lo que mejora la experiencia del usuario y proporciona la flexibilidad necesaria para adaptarse a varios casos de uso.

import {AsideHeader} from '@gravity-ui/navigation';

Estado

El componente tiene dos estados posibles: contraído, expandido. Puedes gestionar entre estados usando compact onChangeCompact accesorios y también con el botón para ocultar. hideCollapseButton

Decoración superior

La navegación resalta la sección superior con elementos de logotipo y subencabezado con headerDecoration accesorios.

Fondo personalizado

El componente admite casos de tematización específicos, por ejemplo, imagen sobre fondo o división de secciones por color customBackground, customBackgroundClassName utilizando accesorios.

Secciones

La navegación incluye 3 partes: la superior, la central y la inferior. Estas secciones son similares con algunas variaciones de posibilidades según la frecuencia de los casos de usuario. Nota importante: Un usuario administra el estado de los elementos.

La cima

La sección normalmente contiene elementos generales para todas las páginas del sitio e incluye el logotipo y los elementos que se encuentran debajo de él. El logotipo en el que se puede hacer clic puede resultar útil para navegar rápidamente a la página de inicio; si es necesario, el elemento (por ejemplo, búsqueda, catálogo) se coloca debajo de él.

Los elementos tienen acceso a la información sobre herramientas, ventanas emergentes y cajones, basta con seleccionar el comportamiento deseado al configurar esta sección.

The Middle (elementos del menú)

La sección principal generalmente depende del contexto de la página, uno de los ejemplos que utilizan la navegación en sitios de varias páginas. Los elementos se contraerán en tres puntos si no hay espacio vertical por defecto.

Los elementos de navegación pueden estar en uno de dos estados: contraído (isCollapsed), donde solo está visible el icono, y expandidos. Hay espacio para la personalización de todo el artículo a través de un envoltorio.

Con una configuración adicional, AllPages los usuarios pueden personalizar aún más el menú según sus preferencias ocultando los elementos innecesarios. Esto trae un nuevo estado para los objetos: anclados u ocultos. Si el elemento está anclado, siempre se mostrará en la sección.

La onMenuItemsChanged devolución de llamada es necesaria para agregar un componente adicional All Pages que muestra un panel para editar la lista de elementos del menú visibles.

Nota importante: Un usuario administra una lista modificada de los elementos del menú que recibe de la devolución de llamada y proporciona el nuevo estado de los elementos a AsideHeader.

La parte inferior

El pie de página mejora la experiencia del usuario al ofrecer un fácil acceso a los elementos y recursos complementarios. Brinda la oportunidad de conectarse con el soporte y agregar información personalizada para asegurarse de que el usuario no se pierda.

Pueden tener sus propios componentes en el interior, o también puedes usarlos FooterItem.

Elemento resaltante

Resaltar un elemento en las ventanas modales puede resultar útil cuando un usuario quiere informar de un error a través de un formulario de comentarios y el formulario con el error se abre en una ventana modal.

En el FooterItem componente, puede pasar un bringForward accesorio, que muestra el icono por encima de las ventanas modales. Además, debe pasar una función a la AsideHeader que se notifique la apertura de ventanas modales.

Renderizar contenido

La parte derecha, cerca de AideHeader, es el lugar para el contenido de la página principal. Al expandir y contraer la navegación, la navegación size cambiará. Este conocimiento puede resultar útil, por ejemplo, para volver a calcular el diseño en algunos componentes. La variable CSS --gn-aside-header-size contiene el tamaño de navegación real.

Consulte a continuación la ruta alternativa para renderizar el contenido.

Optimización de renderizado

Si el contenido de tu aplicación necesita renderizarse más rápido que pasándolo, lanza AsideHeader accesorios, es posible que deba cambiar el uso AsideHeader a un estilo avanzado con PageLayout.

Propiedades

NombreDescripciónTipoPredeterminado
classNameclass Atributo HTML del logotipostring
collapseTitleCollapseButton título para la navegación contraídastring"Свернуть" "Collapse"
compactoEstado visual de navegaciónbooleanfalse
customBackgroundAsideHeader fondoReact.ReactNode
customBackgroundClassNameAnular los estilos del contenedor de fondo predeterminadostring
expandTitleCollapseButton título para ampliar la navegaciónstring"Развернуть" "Expand"
headerDecorationFondo de color de la sección superior con logotipo y elementos de subencabezadobooleanfalse
hideCollapseButtonEscondiéndose CollapseButton. Use compact prop para configurar el estado de navegación predeterminadobooleanfalse
logotipoEl contenedor de logotipos incluye el icono, el título y la gestión de los clicsLogo
menuItemsElementos de la sección central de navegaciónMatriz<MenuItem>[]
menuMoreTitleTítulo de elemento adicional de MenuItems si los elementos no cabenstring"Ещё" "More"
multipleTooltipMuestre la información sobre herramientas múltiple colocando el puntero del ratón sobre los elementos de MenuItems en estado contraídobooleanfalse
onChangeCompactLa llamada se llamará al cambiar el estado visual de la navegación(compact: boolean) => void;
onClosePanelLa llamada se llamará al cerrar el panel. Puede agregar paneles a través de PanelItems accesorios() => void;
onMenuItemsChangedSe llamará a la devolución de llamada al actualizar la lista de elementos del menú en AllPagesPanel(artículos: Matriz<MenuItem>) => vacío
onMenuMoreClickLa llamada se llamará cuando algunos artículos no quepan y se haga clic en el botón «más»() => void;
onAllPagesClickLa llamada se llamará cuando se haga clic en el botón «Todas las páginas»() => void;
openModalSubscriberLa función notifica los cambios AsideHeader de visibilidad de los modales( (open: boolean) => void) => void
panelItemsArtículos para el Drawer componente. Se utiliza para mostrar información adicional sobre el contenido principalMatriz<DrawerItem>[]
renderContentFunción que representa el contenido principal a la derecha del AsideHeader(data: {size: number}) => React.ReactNode
renderFooterFunción que representa la sección inferior de navegación(data: {size: number}) => React.ReactNode
árbitroref apuntar al ancla emergenteReaccionar. Reenviar Ref<HTMLDivElement, AsideHeaderProps>
subheaderItemsElementos de la sección superior de navegación, bajo LogotipoMatriz<{item: MenuItem; enableTooltip?: boolean; bringForward?: boolean}>[]
topAlertEl contenedor sobre la navegación basada en el componente uikit AlertTopAlert
qaEl valor que se va a pasar al data-qa atributo del AsideHeader contenedorstring
NombreDescripciónTipoPredeterminado
afterMoreButtonEl elemento del menú se colocará al final, incluso si el elemento no cabeboolean
categoríaLa categoría a la que pertenece el elemento del menú. Necesidad de agrupar todas las páginas en el modo de visualización/ediciónstring"Остальное" "All other"
corrienteEl elemento actual/seleccionadobooleanfalse
escondidoElemento de visibilidad en el menúbooleanfalse
iconoIcono de menú basado en el componente uikit IconIconProps['data']
iconSizeTamaño del icono del menúnumber string18
iconQaEl valor que se va a pasar al data-qa atributo del Icon contenedorstring
identificaciónEl identificador del elemento del menústring
itemWrapperEl envoltorio de los elementos del menúItemWrapper
eslabónAtributo href HTMLstring
onItemClickLa llamada se llamará al hacer clic en el elemento(artículo: MenuItem, colapsado: booleano, evento: <HTMLDivElement, MouseEvent> React.mouseEvent () = nulo>
onItemClickCaptureLa llamada se llamará al hacer clic en el elemento (event: React.SyntheticEvent) => void
pedidoDetermine el orden de visualización en la navegaciónnumber
fijadoEl parámetro restringe la ocultación del elemento del menú en AllPagesPanelbooleanfalse
rightAdornmentPersonaliza el lado derecho del elemento del menúReact.ReactNode
títuloEl título del elemento del menúReact.ReactNode
tooltipTextContenido de la información sobre herramientasReact.ReactNode
tipoEl tipo de elemento del menú cambia de apariencia: "regular", "action", "divider"string"regular"
qaEl valor que se va a pasar al data-qa atributostring

TopAlert

Top Alert puede resultar útil para mostrar información importante que los usuarios deben conocer. Esta alerta suele aparecer en todas las páginas, como llamadas a la acción o advertencias.

Puede personalizar el contenido interno y hacer que la alerta se pueda cerrar si es necesario. Para leer la altura de la alerta máxima, consulte el valor de la variable CSS --gn-top-alert-height.

NombreDescripciónTipoPredeterminado
accionesConjunto de botones o componentes totalmente personalizadosAlertActions
centradaCentrar todo el contenidobooleanfalse
alinearDetermina cómo se alinea verticalmente el contenido del componente de alertaAlertAlign"baseline"
se puede cerrarMostrar el botón de cierre y hacer posible pasar el onCloseTopAlert accesoriobooleanfalse
densoAgregue los acolchados superiores e inferiores al contenedor TopAlertbooleanfalse
iconoAnular el icono predeterminadoAlertIcon
mensajeMensaje de la alertaAlertMessage
onCloseTopAlertLa llamada se llamará al hacer clic en el botón de cierre() => void
títuloTítulo de la alertaAlertTitle
canciónApariencia de alertasAlertTheme"warning"
vistaActivar/desactivar el color de fondo de la alertaAlertView"filled"

API CSS

NombreDescripción
--gn-aside-header-decoration-collapsed-background-colorColor de decoración para navegación contraída
--gn-aside-header-decoration-expanded-background-colorColor de decoración para una navegación ampliada
--gn-aside-header-background-colorColor de fondo de navegación
--gn-aside-header-collapsed-background-colorColor de fondo de navegación contraído
--gn-aside-header-expanded-background-colorColor de fondo de navegación ampliado
--gn-aside-header-divider-horizontal-colorTodo el color de la línea divisoria horizontal
--gn-aside-header-divider-vertical-colorLínea divisoria vertical, color entre AsideHeader y contenido
--gn-top-alert-heightSolo lectura.AsideHeader altura máxima de alerta
--gn-aside-header-padding-topAcolchado superior de navegación. Puede resultar útil cuando se ocultan los elementos del logotipo y del subtítulo
Artículo
--gn-aside-header-general-item-icon-colorColor del icono para los elementos de subencabezado y pie de página
--gn-aside-header-item-icon-colorColor del icono para los elementos de CompositeBar
--gn-aside-header-item-text-colorColor del elemento de texto
--gn-aside-header-item-background-color-hoverColor del texto al pasar el ratón
Artículo actual
--gn-aside-header-item-current-background-colorColor de fondo del elemento actual
--gn-aside-header-item-current-icon-colorColor del icono del elemento actual
--gn-aside-header-item-current-text-colorColor del texto del elemento actual
--gn-aside-header-item-current-background-color-hoverEl color del icono del elemento actual al pasar el ratón
--gn-aside-header-item-collapsed-radiusRadio del borde del artículo para navegación contraída
--gn-aside-header-item-expanded-radiusRadio del borde del artículo para una navegación ampliada
índices z
--gn-aside-header-z-indexÍndice z del encabezado lateral
--gn-aside-header-panel-z-indexÍndice z del panel de cabecera lateral (componente de cajón)
--gn-aside-header-pane-top-z-indexÍndice z del panel superior
--gn-aside-header-content-z-indexÍndice z de contenido (parte derecha)