Menubar
Uma barra de menus horizontal (padrão WAI-ARIA menubar) coordenada por um controller.
Instalação
O Shadwire segue o modelo open code do shadcn/ui: o código-fonte do componente é copiado para o seu app e passa a ser seu. Instale com a CLI:
O item menubar do registry instala estes arquivos:
-
app/components/ui_component.rb -
app/components/ui/menubar_component.rb -
app/components/ui/menubar/menu_component.rb -
app/components/ui/menubar/trigger_component.rb -
app/components/ui/menubar/content_component.rb -
app/components/ui/menubar/item_component.rb -
app/components/ui/menubar/separator_component.rb -
app/components/ui/menubar/label_component.rb -
app/components/ui/menubar/shortcut_component.rb -
app/helpers/ui/menubar_helper.rb -
app/javascript/controllers/ui_menubar_controller.js -
vendor/shadwire/shadwire.css
Este componente usa Stimulus, então a aplicação precisa de importmap-rails e stimulus-rails com carregamento automático de controllers.
Ainda não instalou a CLI? gem install shadwire e depois shadwire init.
Uso
Exemplos
Referência da API
Toda parte aceita class / class_name e **attrs.
| Componente | Argumento | Padrão | Descrição |
|---|---|---|---|
Menubar::Content |
align |
:start |
Alinha o menu com o gatilho: :start, :center ou :end. |
Menubar::Item |
inset |
false |
Recua o texto para alinhar com os itens que têm ícone. |
Menubar::Item |
variant |
:default |
:destructive marca uma ação perigosa. |
Menubar::Item |
disabled |
false |
Desabilita: não recebe clique e o teclado o pula. |
Menubar::Item |
tag |
:button |
:a com href: para um item que navega. |
Menubar::Label |
inset |
false |
Recua o texto para alinhar com os itens que têm ícone. |