@neetru/cli 2.7.2 → 2.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,32 @@
2
2
 
3
3
  Convenção: [Keep a Changelog](https://keepachangelog.com/) + [SemVer](https://semver.org/).
4
4
 
5
+ ## [2.7.4] — 2026-05-20 (submenus redesenhados)
6
+
7
+ ### Adicionado
8
+
9
+ - Submenu **"Começar um projeto"** no menu principal — reúne o scaffold
10
+ local (`neetru init`), a criação completa (`neetru new`) e uma tela de
11
+ info sobre o `@neetru/sdk` (o que é, como instalar e consumir).
12
+ - Os 10 submenus ganharam o **mesmo visual do menu principal**: moldura
13
+ azul-marinho, marcador `> <` no item ativo e navegação por setas — em
14
+ coluna única, alinhada à esquerda.
15
+
16
+ ### Corrigido
17
+
18
+ - Submenu não engole mais a primeira seta. O menu principal entregava o
19
+ stdin pausado / fora de raw mode pro submenu, e o inquirer perdia a
20
+ 1ª tecla — só respondia depois de um toque inicial. Agora o stdin fica
21
+ "quente" na entrega; a seta funciona de cara.
22
+
23
+ ## [2.7.3] — 2026-05-20 (polish do cabeçalho)
24
+
25
+ ### Mudado
26
+
27
+ - Cabeçalho do `neetru` interativo: logo renderizado **ao lado** do texto
28
+ (antes era acima), com a sessão e a versão alinhadas à direita do logo.
29
+ - Paleta de contorno do menu e do logo ajustada para um azul mais suave.
30
+
5
31
  ## [2.7.2] — 2026-05-20 (aviso de versão + menu em 2 colunas)
6
32
 
7
33
  ### Adicionado
@@ -1,12 +1,28 @@
1
- type MenuAction = 'overview' | 'quickstart' | 'products' | 'workspaces' | 'deploy' | 'servers' | 'databases' | 'tenants' | 'support' | 'health' | 'auth' | 'exit';
2
- export declare const MENU_OUTLINE_COLOR = "#001F3F";
1
+ import { type DocsBannerInfo } from '../utils/logger.js';
2
+ type MenuAction = 'overview' | 'quickstart' | 'products' | 'workspaces' | 'deploy' | 'servers' | 'databases' | 'tenants' | 'support' | 'docs' | 'health' | 'auth' | 'exit';
3
+ export declare const MENU_OUTLINE_COLOR = "#334C65";
4
+ export declare const MENU_FOOTER_TEXT_COLOR = "#CBD5E1";
3
5
  type MenuDirection = 'up' | 'down' | 'left' | 'right';
6
+ type DocsMenuAction = 'list' | 'get' | 'meta' | 'back' | `recent:${string}`;
4
7
  /** Item do menu principal: nome do recurso + descrição opcional. */
5
8
  interface MainMenuItem {
6
9
  label: string;
7
10
  value: MenuAction;
8
11
  description?: string;
9
12
  }
13
+ export interface DocsMenuChoice {
14
+ name: string;
15
+ value: DocsMenuAction;
16
+ short: string;
17
+ }
18
+ export interface MenuFooterTask {
19
+ label: string;
20
+ progress: number;
21
+ }
22
+ export interface MenuFooterState {
23
+ sessionEmail?: string | null;
24
+ tasks?: MenuFooterTask[];
25
+ }
10
26
  /**
11
27
  * Menu principal do CLI. Cada recurso tem um nome e, quando ajuda, uma
12
28
  * descrição curta exibida abaixo dele.
@@ -23,6 +39,18 @@ export declare function buildMenuChoices(items: MainMenuItem[]): Array<{
23
39
  short: string;
24
40
  }>;
25
41
  export declare function moveMenuSelection(currentIndex: number, direction: MenuDirection, totalItems: number, columns?: number): number;
26
- export declare function renderMainMenu(items: MainMenuItem[], selectedIndex: number, terminalColumns?: number): string;
42
+ export declare function renderMainMenu(items: MainMenuItem[], selectedIndex: number, terminalColumns?: number, footer?: MenuFooterState): string;
43
+ /** Item de submenu — coluna única, mesmo visual do menu principal. */
44
+ interface SubMenuItem {
45
+ label: string;
46
+ value: string;
47
+ }
48
+ /**
49
+ * Renderiza um submenu em coluna única, alinhado à esquerda, com a mesma
50
+ * moldura azul-marinho e o marcador `> <` do menu principal. A largura
51
+ * acompanha o item mais longo (clampada entre 18 e 48).
52
+ */
53
+ export declare function renderSubMenu(title: string, items: SubMenuItem[], selectedIndex: number): string;
54
+ export declare function buildDocsMenuChoices(docsInfo?: DocsBannerInfo): DocsMenuChoice[];
27
55
  export declare function runTerminalUi(): Promise<void>;
28
56
  export {};