@trismegisto/spine 3.3.3 → 3.3.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/README.md +15 -2
- package/fesm2022/trismegisto-spine-audit.mjs +6 -6
- package/fesm2022/trismegisto-spine-audit.mjs.map +1 -1
- package/fesm2022/{trismegisto-spine-auto-service-auto-service-client.component-BAfeLyTB.mjs → trismegisto-spine-auto-service-auto-service-client.component-kAXaCM5W.mjs} +8 -8
- package/fesm2022/{trismegisto-spine-auto-service-auto-service-client.component-BAfeLyTB.mjs.map → trismegisto-spine-auto-service-auto-service-client.component-kAXaCM5W.mjs.map} +1 -1
- package/fesm2022/{trismegisto-spine-auto-service-auto-service-groups.component-BYjIQ9ID.mjs → trismegisto-spine-auto-service-auto-service-groups.component-DE2QIGRH.mjs} +251 -85
- package/fesm2022/trismegisto-spine-auto-service-auto-service-groups.component-DE2QIGRH.mjs.map +1 -0
- package/fesm2022/{trismegisto-spine-auto-service-auto-service-news-page.component-CBemH4hr.mjs → trismegisto-spine-auto-service-auto-service-news-page.component-BW7BJ0oD.mjs} +2 -2
- package/fesm2022/{trismegisto-spine-auto-service-auto-service-news-page.component-CBemH4hr.mjs.map → trismegisto-spine-auto-service-auto-service-news-page.component-BW7BJ0oD.mjs.map} +1 -1
- package/fesm2022/{trismegisto-spine-auto-service-auto-service-ratings-page.component-C_THGTkw.mjs → trismegisto-spine-auto-service-auto-service-ratings-page.component-CHPU-QLJ.mjs} +2 -2
- package/fesm2022/{trismegisto-spine-auto-service-auto-service-ratings-page.component-C_THGTkw.mjs.map → trismegisto-spine-auto-service-auto-service-ratings-page.component-CHPU-QLJ.mjs.map} +1 -1
- package/fesm2022/trismegisto-spine-auto-service-auto-service-suggestions-page.component-CkiCTmXD.mjs +3733 -0
- package/fesm2022/trismegisto-spine-auto-service-auto-service-suggestions-page.component-CkiCTmXD.mjs.map +1 -0
- package/fesm2022/{trismegisto-spine-auto-service-auto-service.component-QsIQ61w2.mjs → trismegisto-spine-auto-service-auto-service.component-D58Ht9PH.mjs} +7 -7
- package/fesm2022/{trismegisto-spine-auto-service-auto-service.component-QsIQ61w2.mjs.map → trismegisto-spine-auto-service-auto-service.component-D58Ht9PH.mjs.map} +1 -1
- package/fesm2022/{trismegisto-spine-auto-service-groups.technical-_jQrg1Qh.mjs → trismegisto-spine-auto-service-groups.technical-CB1D3ANC.mjs} +12 -3
- package/fesm2022/trismegisto-spine-auto-service-groups.technical-CB1D3ANC.mjs.map +1 -0
- package/fesm2022/{trismegisto-spine-auto-service-groups.usage-OvWjNeeT.mjs → trismegisto-spine-auto-service-groups.usage-De2MhlE7.mjs} +7 -2
- package/fesm2022/{trismegisto-spine-auto-service-groups.usage-OvWjNeeT.mjs.map → trismegisto-spine-auto-service-groups.usage-De2MhlE7.mjs.map} +1 -1
- package/fesm2022/{trismegisto-spine-auto-service-suggestions.technical-BtUK6sKD.mjs → trismegisto-spine-auto-service-suggestions.technical-CGBBzAR8.mjs} +14 -1
- package/fesm2022/{trismegisto-spine-auto-service-suggestions.technical-BtUK6sKD.mjs.map → trismegisto-spine-auto-service-suggestions.technical-CGBBzAR8.mjs.map} +1 -1
- package/fesm2022/{trismegisto-spine-auto-service-suggestions.usage-BwO9Hjsx.mjs → trismegisto-spine-auto-service-suggestions.usage-DnAJS-Z0.mjs} +26 -3
- package/fesm2022/trismegisto-spine-auto-service-suggestions.usage-DnAJS-Z0.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service.mjs +24 -11
- package/fesm2022/trismegisto-spine-auto-service.mjs.map +1 -1
- package/fesm2022/{trismegisto-spine-layout-suggestions-page.component-xI2gDMok.mjs → trismegisto-spine-layout-suggestions-page.component-CEKMqera.mjs} +3 -3
- package/fesm2022/{trismegisto-spine-layout-suggestions-page.component-xI2gDMok.mjs.map → trismegisto-spine-layout-suggestions-page.component-CEKMqera.mjs.map} +1 -1
- package/fesm2022/{trismegisto-spine-layout-trismegisto-spine-layout-Clphrsgc.mjs → trismegisto-spine-layout-trismegisto-spine-layout-DiAfxIGP.mjs} +428 -93
- package/fesm2022/trismegisto-spine-layout-trismegisto-spine-layout-DiAfxIGP.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-layout.mjs +1 -1
- package/fesm2022/trismegisto-spine-side-panel.mjs +1 -1
- package/fesm2022/trismegisto-spine-side-panel.mjs.map +1 -1
- package/fesm2022/trismegisto-spine.mjs +528 -10
- package/fesm2022/trismegisto-spine.mjs.map +1 -1
- package/package.json +6 -6
- package/types/trismegisto-spine-auto-service.d.ts +20 -4
- package/types/trismegisto-spine-auto-service.d.ts.map +1 -1
- package/types/trismegisto-spine-layout.d.ts +327 -63
- package/types/trismegisto-spine-layout.d.ts.map +1 -1
- package/types/trismegisto-spine.d.ts +221 -3
- package/types/trismegisto-spine.d.ts.map +1 -1
- package/fesm2022/trismegisto-spine-auto-service-auto-service-groups.component-BYjIQ9ID.mjs.map +0 -1
- package/fesm2022/trismegisto-spine-auto-service-auto-service-suggestions-page.component-mMjE3JOL.mjs +0 -2179
- package/fesm2022/trismegisto-spine-auto-service-auto-service-suggestions-page.component-mMjE3JOL.mjs.map +0 -1
- package/fesm2022/trismegisto-spine-auto-service-groups.technical-_jQrg1Qh.mjs.map +0 -1
- package/fesm2022/trismegisto-spine-auto-service-suggestions.usage-BwO9Hjsx.mjs.map +0 -1
- package/fesm2022/trismegisto-spine-layout-trismegisto-spine-layout-Clphrsgc.mjs.map +0 -1
|
@@ -3,11 +3,11 @@ import { OnDestroy, InjectionToken, Signal, OnInit, Type, Provider, TemplateRef,
|
|
|
3
3
|
import { Router } from '@angular/router';
|
|
4
4
|
import * as _trismegisto_spine from '@trismegisto/spine';
|
|
5
5
|
import { Route, ThemeService, ThemePresetService, DensityService, SpineConfig, SpinePreferencesService, SpineHourCyclePreference, SpineStartPagePreference, SpineNoticeType, SpineMcpServer, SpineFeatures } from '@trismegisto/spine';
|
|
6
|
-
import { Subject } from 'rxjs';
|
|
6
|
+
import { Subject, Observable } from 'rxjs';
|
|
7
7
|
import * as _trismegisto_angular from '@trismegisto/angular';
|
|
8
|
-
import { HermesShortcutItem, WorkspaceStore, TabItem, MenuItem, HermesCommand, SidebarNode, HermesThemeMode, HermesDensity, SegmentedOption, HermesSidebarService, ComboboxOption, BreadcrumbItem, TagColor } from '@trismegisto/angular';
|
|
8
|
+
import { HermesShortcutItem, WorkspaceGridLimits, WorkspaceStore, TabItem, MenuItem, HermesCommand, SidebarNode, ContextMenuDirective, HermesThemeMode, HermesDensity, SegmentedOption, HermesSidebarService, ComboboxOption, BreadcrumbItem, TagColor } from '@trismegisto/angular';
|
|
9
9
|
import * as _trismegisto_primitives from '@trismegisto/primitives';
|
|
10
|
-
import { formatMessage, ShortcutDisplay, HermesMotionPreference, Weekday, AlertVariant, PaginationState } from '@trismegisto/primitives';
|
|
10
|
+
import { WorkspaceStore as WorkspaceStore$1, formatMessage, MenuItem as MenuItem$1, ShortcutDisplay, HermesMotionPreference, Weekday, AlertVariant, PaginationState } from '@trismegisto/primitives';
|
|
11
11
|
import * as _orfeu_angular_core from '@orfeu/angular/core';
|
|
12
12
|
import { AuthorizationService, ViewService, UserProfile, AppDef, RealmAppsService } from '@orfeu/angular/core';
|
|
13
13
|
import * as _trismegisto_tokens from '@trismegisto/tokens';
|
|
@@ -190,22 +190,24 @@ declare class SpineNewsService {
|
|
|
190
190
|
interface ShortcutActions {
|
|
191
191
|
navigate?: (url: string) => void;
|
|
192
192
|
toggleTheme?: () => void;
|
|
193
|
-
toggleFullscreen?: () => void;
|
|
194
|
-
logout?: () => void;
|
|
195
193
|
openSettings?: () => void;
|
|
194
|
+
toggleSidebar?: () => void;
|
|
196
195
|
}
|
|
197
196
|
/**
|
|
198
197
|
* Atalhos de teclado globais do sistema, sobre o `HermesShortcutService` da lib (um listener só,
|
|
199
198
|
* sequência `G H`, conflito, campo editável, interruptor de tecla única da WCAG 2.1.4).
|
|
200
199
|
*
|
|
201
|
-
* `setActions` registra os atalhos do shell: `G H` (Home), `G 1`…`G 9` (favoritos), `Mod
|
|
202
|
-
*
|
|
203
|
-
*
|
|
200
|
+
* `setActions` registra os atalhos do shell: `G H` (Home), `G 1`…`G 9` (favoritos), `G T` (tema), `Mod+B` (menu
|
|
201
|
+
* lateral), `Mod+,` (configurações) e `?` (painel de atalhos, via `help$`). `Mod+,` vale também com o foco num campo;
|
|
202
|
+
* os demais, não (`Mod+B` num editor continua sendo negrito).
|
|
203
|
+
*
|
|
204
|
+
* Sem atalho de propósito: sair (um deslize perderia o que estava sendo digitado; fica no menu do perfil) e tela cheia
|
|
205
|
+
* (o navegador já tem `F11`, e o botão fica no cabeçalho).
|
|
204
206
|
*
|
|
205
207
|
* O painel (`spine-shortcuts-cheatsheet` e a seção Atalhos das configurações) usa o
|
|
206
208
|
* `hm-shortcut-list` com `panelItems()`: tudo o que está registrado no `HermesShortcutService`
|
|
207
209
|
* (inclusive o que o app liga com `[hmShortcut]`) mais o que o spine só exibe e outra peça dispara
|
|
208
|
-
* (`Mod+K` do `hm-header`,
|
|
210
|
+
* (`Mod+K` e `/` do `hm-header`, voltar/avançar do navegador, `Esc` dos diálogos).
|
|
209
211
|
*/
|
|
210
212
|
declare class ShortcutService implements OnDestroy {
|
|
211
213
|
private actions;
|
|
@@ -280,6 +282,8 @@ interface SpineTab {
|
|
|
280
282
|
}
|
|
281
283
|
declare const SPINE_TAB: InjectionToken<SpineTab>;
|
|
282
284
|
|
|
285
|
+
/** Limite da grade de painéis do shell: no máximo 2 lado a lado e 2 empilhados (os quatro cantos da tela). */
|
|
286
|
+
declare const SPINE_WORKSPACE_LIMITS: WorkspaceGridLimits;
|
|
283
287
|
/** O caminho de um endereço (sem query nem fragmento). */
|
|
284
288
|
declare function spinePathOf(url: string): string;
|
|
285
289
|
/** A query de um endereço, como objeto. */
|
|
@@ -296,7 +300,12 @@ interface SpineOpenTabOptions {
|
|
|
296
300
|
* aberta, e trocar a seção dentro dela não abre outra. Sem `match`, todos os parâmetros do endereço identificam.
|
|
297
301
|
*/
|
|
298
302
|
match?: readonly string[];
|
|
299
|
-
/**
|
|
303
|
+
/**
|
|
304
|
+
* Abre num painel novo ao lado do focado (para comparar), em vez de no próprio painel focado. Só vale com a
|
|
305
|
+
* preferência "Dividir abas" ligada (`SpinePreferencesService.splitTabs`); desligada (o padrão), a aba abre no painel
|
|
306
|
+
* focado, como sem `beside`. No limite da grade (`SPINE_WORKSPACE_LIMITS`, 2 colunas), abre no painel que já está
|
|
307
|
+
* ao lado, sem dividir.
|
|
308
|
+
*/
|
|
300
309
|
beside?: boolean;
|
|
301
310
|
}
|
|
302
311
|
/**
|
|
@@ -318,10 +327,19 @@ interface SpineOpenTabOptions {
|
|
|
318
327
|
* 3. outra aba do painel já está nesse endereço → ela é ativada;
|
|
319
328
|
* 4. senão → a aba ativa passa a ser a da tela nova (o comportamento de sempre).
|
|
320
329
|
* `openTab` abre (ou foca, em qualquer painel) a aba de um endereço com parâmetros.
|
|
330
|
+
*
|
|
331
|
+
* **Dividir abas é preferência da pessoa** (`SpinePreferencesService.splitTabs`, desligada por padrão): o shell só
|
|
332
|
+
* deixa dividir a área em painéis com ela ligada (`split`). Desligada — ao carregar ou ao desligar —, um arranjo com
|
|
333
|
+
* vários painéis (salvo no navegador ou feito antes) é fundido num painel só, sem perder aba (`mergePanels`).
|
|
321
334
|
*/
|
|
322
335
|
declare class SpineWorkspaceNavService {
|
|
323
336
|
private readonly router;
|
|
324
337
|
private readonly viewService;
|
|
338
|
+
private readonly preferences;
|
|
339
|
+
/** A pessoa pode dividir a área de abas em painéis (a preferência "Dividir abas"). */
|
|
340
|
+
readonly split: _angular_core.Signal<boolean>;
|
|
341
|
+
/** Até onde dá para dividir (o shell passa para o `hm-workspace`; `openTab` com `beside` respeita). */
|
|
342
|
+
readonly limits: WorkspaceGridLimits;
|
|
325
343
|
readonly store: WorkspaceStore;
|
|
326
344
|
private readonly state;
|
|
327
345
|
readonly root: _angular_core.Signal<_trismegisto_primitives.PanelNode>;
|
|
@@ -358,13 +376,19 @@ declare class SpineWorkspaceNavService {
|
|
|
358
376
|
* voltam com o nome da rota (que acompanha o idioma).
|
|
359
377
|
*/
|
|
360
378
|
private restoreTab;
|
|
379
|
+
/**
|
|
380
|
+
* Junta todos os painéis no focado, sem perder aba: as abas ficam na ordem dos painéis (da esquerda para a direita,
|
|
381
|
+
* de cima para baixo), uma aba repetida em dois painéis vira uma só (vale a do focado), e a aba ativa do painel focado
|
|
382
|
+
* continua a ativa (`WorkspaceStore.mergePanels`). Com um painel só, não faz nada.
|
|
383
|
+
*/
|
|
384
|
+
mergePanels(): void;
|
|
361
385
|
/** O `+` de um painel: abre a home ali, como um navegador. */
|
|
362
386
|
openNewTab(panelId: string): void;
|
|
363
387
|
/**
|
|
364
388
|
* Abre (ou foca) a aba de um endereço com parâmetros — um registro por aba na mesma tela:
|
|
365
389
|
* `openTab('/vendas/pedidos?pedido=123&secao=itens', { label: 'Pedido 123', match: ['pedido'] })`.
|
|
366
390
|
* Se alguma aba (em qualquer painel) já tem essa identidade, ela é focada e passa a esse endereço; senão abre uma
|
|
367
|
-
* no painel focado (ou num painel novo ao lado, com `beside`). Só abre o que a view da pessoa permite (a mesma
|
|
391
|
+
* no painel focado (ou num painel novo ao lado, com `beside` e a divisão ligada). Só abre o que a view da pessoa permite (a mesma
|
|
368
392
|
* regra do menu e do `ViewGuard`); fora dela, não faz nada.
|
|
369
393
|
*/
|
|
370
394
|
openTab(url: string, options?: SpineOpenTabOptions): void;
|
|
@@ -383,6 +407,79 @@ declare class SpineWorkspaceNavService {
|
|
|
383
407
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<SpineWorkspaceNavService>;
|
|
384
408
|
}
|
|
385
409
|
|
|
410
|
+
/**
|
|
411
|
+
* Saída da sessão pelo shell: todo botão/atalho de sair do spine passa por aqui (menu do perfil, painel de
|
|
412
|
+
* configurações, tela `/blocked`).
|
|
413
|
+
*
|
|
414
|
+
* - Assina `logoutFailed$` do `@orfeu/angular` (1.3.x) uma vez só: quando o logout no Argos falha (a lib repete uma
|
|
415
|
+
* vez e mantém a sessão), mostra o aviso de erro `session.logoutFailed` (`hm-alert` de erro, `role="alert"`). Vale
|
|
416
|
+
* também para um `logout()` chamado direto pelo app.
|
|
417
|
+
* - `logout()` aguarda o resultado: só apaga os históricos do usuário (`SpineUserStorage.clearHistory()`) quando a
|
|
418
|
+
* saída deu certo. Com falha, nada muda: a pessoa continua na tela, com a sessão e os recentes.
|
|
419
|
+
* - `pending` fica `true` enquanto a saída está em andamento e sempre volta a `false` (os botões não travam).
|
|
420
|
+
*
|
|
421
|
+
* Com `@orfeu/angular` 1.0.x (sem `logoutFailed$`, `logout()` sem retorno) a saída conta como concluída, como antes.
|
|
422
|
+
*/
|
|
423
|
+
declare class SpineLogoutService {
|
|
424
|
+
private readonly auth;
|
|
425
|
+
private readonly userStorage;
|
|
426
|
+
private readonly notifications;
|
|
427
|
+
private readonly messages;
|
|
428
|
+
/** `true` quando a lib avisa a falha por `logoutFailed$` (então o aviso sai por lá, uma vez). */
|
|
429
|
+
private readonly failureStream;
|
|
430
|
+
private inFlight;
|
|
431
|
+
/** Saída em andamento (o botão mostra "saindo…" / fica desabilitado). */
|
|
432
|
+
readonly pending: _angular_core.WritableSignal<boolean>;
|
|
433
|
+
constructor();
|
|
434
|
+
/**
|
|
435
|
+
* Sai da sessão. Resolve `true` quando saiu (o `@orfeu/angular` já navega para o `/logoff`) e `false` quando o
|
|
436
|
+
* Argos não confirmou: a sessão continua e o aviso de erro aparece. Nunca rejeita. Cliques repetidos durante a
|
|
437
|
+
* saída reaproveitam a mesma tentativa.
|
|
438
|
+
*/
|
|
439
|
+
logout(): Promise<boolean>;
|
|
440
|
+
private run;
|
|
441
|
+
private notifyFailure;
|
|
442
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SpineLogoutService, never>;
|
|
443
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<SpineLogoutService>;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
/**
|
|
447
|
+
* Registra a verificação de alterações da tela, presa à aba do workspace em que ela está (`SPINE_TAB`):
|
|
448
|
+
* com `SpineFeatures.unsavedChanges` ligado, fechar ESSA aba (ou o painel dela, ou "fechar as outras") e
|
|
449
|
+
* trocar de tela dentro dela pergunta antes. Chame num contexto de injeção (campo da tela); a verificação
|
|
450
|
+
* sai sozinha quando a tela é destruída.
|
|
451
|
+
*
|
|
452
|
+
* ```ts
|
|
453
|
+
* readonly #unsaved = registerSpineUnsavedChanges(() => this.form.dirty);
|
|
454
|
+
* ```
|
|
455
|
+
*
|
|
456
|
+
* Sem o recurso ligado, continua registrando no `HermesUnsavedChangesService` (o `hermesUnsavedChangesGuard`
|
|
457
|
+
* de uma rota do app enxerga), mas o shell não pergunta nada.
|
|
458
|
+
*/
|
|
459
|
+
declare function registerSpineUnsavedChanges(check: () => boolean): () => void;
|
|
460
|
+
/**
|
|
461
|
+
* O lado do shell do aviso de alterações não salvas (`SpineFeatures.unsavedChanges`, desligado por padrão).
|
|
462
|
+
* Ligado: o `hm-workspace` recebe um store que pergunta antes de fechar aba com alteração; trocar de tela
|
|
463
|
+
* dentro da aba pergunta também; e o navegador avisa ao recarregar/fechar a página. Desligado: `store` é o
|
|
464
|
+
* mesmo do `SpineWorkspaceNavService` e nada muda.
|
|
465
|
+
*/
|
|
466
|
+
declare class SpineUnsavedChangesService {
|
|
467
|
+
private readonly config;
|
|
468
|
+
private readonly unsaved;
|
|
469
|
+
private readonly nav;
|
|
470
|
+
/** O recurso está ligado no app. */
|
|
471
|
+
readonly enabled: boolean;
|
|
472
|
+
/** O store que o shell passa para o `hm-workspace`. */
|
|
473
|
+
readonly store: WorkspaceStore$1;
|
|
474
|
+
/** Liga o aviso do navegador (só com o recurso ligado). Devolve a função que desliga. */
|
|
475
|
+
start(): () => void;
|
|
476
|
+
/** Pode trocar a tela da aba ativa do painel? Sem o recurso ou sem alteração nela, `true` na hora. */
|
|
477
|
+
canReplaceActive(panelId: string): boolean | Promise<boolean>;
|
|
478
|
+
private guard;
|
|
479
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SpineUnsavedChangesService, never>;
|
|
480
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<SpineUnsavedChangesService>;
|
|
481
|
+
}
|
|
482
|
+
|
|
386
483
|
/**
|
|
387
484
|
* Shell do spine — MESMA estrutura do `docs/website`'s `app.component.html`/`.scss` (decisão de
|
|
388
485
|
* 2026-09-28, ver `hefesto-migration-plan.md`): `.shell` com altura de viewport de verdade
|
|
@@ -412,13 +509,19 @@ declare class LayoutComponent implements OnInit {
|
|
|
412
509
|
private readonly preferences;
|
|
413
510
|
protected readonly workspace: SpineWorkspaceNavService;
|
|
414
511
|
private readonly settings;
|
|
512
|
+
private readonly sidebar;
|
|
415
513
|
/** Também liga, uma vez, o aviso de falha do logout (`logoutFailed$` do `@orfeu/angular`). */
|
|
416
|
-
|
|
514
|
+
protected readonly logoutNotice: SpineLogoutService;
|
|
417
515
|
/** Recursos opcionais (`SpineConfig.features`): cada serviço não faz nada com o seu recurso desligado. */
|
|
418
516
|
private readonly idle;
|
|
419
517
|
private readonly startPage;
|
|
420
518
|
private readonly accountPreferences;
|
|
421
519
|
protected readonly setup: SpineInitialSetupService;
|
|
520
|
+
/** Aviso de alterações não salvas (SpineFeatures.unsavedChanges): sem o recurso, `unsaved.store` é o próprio `workspace.store`. */
|
|
521
|
+
protected readonly unsaved: SpineUnsavedChangesService;
|
|
522
|
+
/** SpineFeatures.skipLink. */
|
|
523
|
+
protected readonly skipLink: boolean;
|
|
524
|
+
private readonly destroyRef;
|
|
422
525
|
/** Esconde sidebar e área de trabalho quando a rota ATIVA (do Router real, ver
|
|
423
526
|
* `router.events` abaixo) é a de sem-permissão — nesse caso não existe menu/página válido
|
|
424
527
|
* como contexto. Note que isto reflete só a URL do painel FOCADO (dona do Router real); um
|
|
@@ -429,8 +532,12 @@ declare class LayoutComponent implements OnInit {
|
|
|
429
532
|
constructor(router: Router, theme: ThemeService, shortcuts: ShortcutService, news: SpineNewsService);
|
|
430
533
|
private matchesNoPermission;
|
|
431
534
|
ngOnInit(): void;
|
|
535
|
+
/**
|
|
536
|
+
* `Mod+B`. Tela estreita: a gaveta. Fixo e compacto: troca um pelo outro (é a preferência da pessoa, fica gravada).
|
|
537
|
+
* Automático: a coluna abre por cima e fica até o próximo `Mod+B`, sem mudar a preferência.
|
|
538
|
+
*/
|
|
539
|
+
private toggleSidebar;
|
|
432
540
|
protected onLocalNavigate(panelId: string, href: string): void;
|
|
433
|
-
private toggleFullscreen;
|
|
434
541
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LayoutComponent, never>;
|
|
435
542
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LayoutComponent, "spine-layout", never, {}, {}, never, never, true, never>;
|
|
436
543
|
}
|
|
@@ -534,7 +641,7 @@ declare class HeaderComponent implements OnInit {
|
|
|
534
641
|
protected readonly searchIcons: Readonly<Record<string, string>>;
|
|
535
642
|
/** Achata a árvore de rotas em itens navegáveis (com trilha de ancestrais). */
|
|
536
643
|
private flattenRoutes;
|
|
537
|
-
/** Chamado pelo `(searchRequested)` do `hm-header` (clique no campo
|
|
644
|
+
/** Chamado pelo `(searchRequested)` do `hm-header` (clique no campo, `Ctrl K` ou `/`, já tratados por ele): abre a paleta. */
|
|
538
645
|
onSearchRequested(): void;
|
|
539
646
|
/**
|
|
540
647
|
* Comandos da paleta. Cada tela aparece uma vez: favoritos primeiro, depois os abertos há pouco que não são
|
|
@@ -658,12 +765,18 @@ declare class SidebarComponent {
|
|
|
658
765
|
modules: string;
|
|
659
766
|
moduleNavigation: string;
|
|
660
767
|
apps: string;
|
|
768
|
+
openInNewTab: string;
|
|
661
769
|
};
|
|
662
770
|
protected readonly fmt: typeof formatMessage;
|
|
663
771
|
private readonly workspace;
|
|
664
772
|
private readonly viewService;
|
|
665
773
|
private readonly authService;
|
|
666
774
|
private readonly realmApps;
|
|
775
|
+
private readonly location;
|
|
776
|
+
private readonly column;
|
|
777
|
+
protected readonly pageMenu: readonly MenuItem$1[];
|
|
778
|
+
/** Endereço da página em que o menu de contexto foi aberto. */
|
|
779
|
+
private menuPage;
|
|
667
780
|
/** Aplicações do realm (o app atual já vem excluído pelo backend) — exibidas só no mobile. */
|
|
668
781
|
protected readonly apps: _angular_core.WritableSignal<AppDef[]>;
|
|
669
782
|
private readonly currentView;
|
|
@@ -685,6 +798,11 @@ declare class SidebarComponent {
|
|
|
685
798
|
* do módulo" pra mostrar. */
|
|
686
799
|
private readonly wantsModules;
|
|
687
800
|
protected readonly viewingModules: _angular_core.Signal<boolean>;
|
|
801
|
+
/** Botão direito (ou Shift+F10/tecla Menu, que o navegador traduz em `contextmenu`) numa página do menu. Grupo e
|
|
802
|
+
* entrada de módulo não são páginas: ali o menu nativo continua valendo. */
|
|
803
|
+
protected onContextMenu(event: MouseEvent, menu: ContextMenuDirective): void;
|
|
804
|
+
protected onPageMenuClosed(): void;
|
|
805
|
+
protected openPageInNewTab(): void;
|
|
688
806
|
/** Sem teto artificial de nível de grupo — o template não enxerga o global `Infinity`, só
|
|
689
807
|
* membros da classe. Ver comentário no `.html`: o backend já limita a árvore sozinho. */
|
|
690
808
|
protected readonly maxDepth: number;
|
|
@@ -730,42 +848,6 @@ declare class SpineConnectionBannerComponent {
|
|
|
730
848
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SpineConnectionBannerComponent, "spine-connection-banner", never, {}, {}, never, never, true, never>;
|
|
731
849
|
}
|
|
732
850
|
|
|
733
|
-
/**
|
|
734
|
-
* Saída da sessão pelo shell: todo botão/atalho de sair do spine passa por aqui (menu do perfil, painel de
|
|
735
|
-
* configurações, `Mod+Shift+L`, tela `/blocked`).
|
|
736
|
-
*
|
|
737
|
-
* - Assina `logoutFailed$` do `@orfeu/angular` (1.3.x) uma vez só: quando o logout no Argos falha (a lib repete uma
|
|
738
|
-
* vez e mantém a sessão), mostra o aviso de erro `session.logoutFailed` (`hm-alert` de erro, `role="alert"`). Vale
|
|
739
|
-
* também para um `logout()` chamado direto pelo app.
|
|
740
|
-
* - `logout()` aguarda o resultado: só apaga os históricos do usuário (`SpineUserStorage.clearHistory()`) quando a
|
|
741
|
-
* saída deu certo. Com falha, nada muda: a pessoa continua na tela, com a sessão e os recentes.
|
|
742
|
-
* - `pending` fica `true` enquanto a saída está em andamento e sempre volta a `false` (os botões não travam).
|
|
743
|
-
*
|
|
744
|
-
* Com `@orfeu/angular` 1.0.x (sem `logoutFailed$`, `logout()` sem retorno) a saída conta como concluída, como antes.
|
|
745
|
-
*/
|
|
746
|
-
declare class SpineLogoutService {
|
|
747
|
-
private readonly auth;
|
|
748
|
-
private readonly userStorage;
|
|
749
|
-
private readonly notifications;
|
|
750
|
-
private readonly messages;
|
|
751
|
-
/** `true` quando a lib avisa a falha por `logoutFailed$` (então o aviso sai por lá, uma vez). */
|
|
752
|
-
private readonly failureStream;
|
|
753
|
-
private inFlight;
|
|
754
|
-
/** Saída em andamento (o botão mostra "saindo…" / fica desabilitado). */
|
|
755
|
-
readonly pending: _angular_core.WritableSignal<boolean>;
|
|
756
|
-
constructor();
|
|
757
|
-
/**
|
|
758
|
-
* Sai da sessão. Resolve `true` quando saiu (o `@orfeu/angular` já navega para o `/logoff`) e `false` quando o
|
|
759
|
-
* Argos não confirmou: a sessão continua e o aviso de erro aparece. Nunca rejeita. Cliques repetidos durante a
|
|
760
|
-
* saída reaproveitam a mesma tentativa.
|
|
761
|
-
*/
|
|
762
|
-
logout(): Promise<boolean>;
|
|
763
|
-
private run;
|
|
764
|
-
private notifyFailure;
|
|
765
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SpineLogoutService, never>;
|
|
766
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<SpineLogoutService>;
|
|
767
|
-
}
|
|
768
|
-
|
|
769
851
|
/** Um cartão do essencial: o texto tem `{key}` onde entra a tecla (desenhada como `<kbd>`). */
|
|
770
852
|
interface EssentialCard {
|
|
771
853
|
readonly id: string;
|
|
@@ -835,6 +917,9 @@ declare class SpineInitialSetupComponent {
|
|
|
835
917
|
sidebarAuto: string;
|
|
836
918
|
sidebarFixed: string;
|
|
837
919
|
sidebarCompact: string;
|
|
920
|
+
splitTabs: string;
|
|
921
|
+
splitTabsDescription: string;
|
|
922
|
+
splitTabsKeywords: string;
|
|
838
923
|
region: string;
|
|
839
924
|
regionKeywords: string;
|
|
840
925
|
language: string;
|
|
@@ -1034,6 +1119,7 @@ declare class ShortcutsCheatsheetComponent implements OnInit, OnDestroy {
|
|
|
1034
1119
|
goFavorite: string;
|
|
1035
1120
|
history: string;
|
|
1036
1121
|
openSettings: string;
|
|
1122
|
+
toggleSidebar: string;
|
|
1037
1123
|
toggleTheme: string;
|
|
1038
1124
|
fullscreen: string;
|
|
1039
1125
|
logout: string;
|
|
@@ -1136,12 +1222,14 @@ interface SpineAccountPreferencesDoc {
|
|
|
1136
1222
|
startPage?: SpineStartPagePreference;
|
|
1137
1223
|
notices?: Record<string, boolean>;
|
|
1138
1224
|
browserNotices?: boolean;
|
|
1225
|
+
/** Dividir a área de abas em painéis (`SpinePreferencesService.splitTabs`). */
|
|
1226
|
+
splitTabs?: boolean;
|
|
1139
1227
|
favorites?: unknown[];
|
|
1140
1228
|
}
|
|
1141
1229
|
/**
|
|
1142
1230
|
* Chaves que são da pessoa, não do app: com o Argos que tem `{api}/preferences/global`, vão no documento global e
|
|
1143
|
-
* valem em todos os apps (escolhidas uma vez). O resto (menu lateral, atalhos, inatividade, tela inicial,
|
|
1144
|
-
* favoritos) continua no documento do app.
|
|
1231
|
+
* valem em todos os apps (escolhidas uma vez). O resto (menu lateral, dividir abas, atalhos, inatividade, tela inicial,
|
|
1232
|
+
* avisos, favoritos) continua no documento do app.
|
|
1145
1233
|
*/
|
|
1146
1234
|
declare const SPINE_GLOBAL_PREFERENCE_KEYS: readonly ["themeMode", "family", "density", "font", "textScale", "motion", "language", "timeZone", "hourCycle", "weekStart"];
|
|
1147
1235
|
/** Documento global (`PUT {api}/preferences/global`): aparência e região, mais a configuração inicial feita. */
|
|
@@ -1154,8 +1242,8 @@ type SpineAccountPreferencesStatus = 'idle' | 'local' | 'loading' | 'saving' | '
|
|
|
1154
1242
|
/**
|
|
1155
1243
|
* Preferências na conta (`SpineFeatures.accountPreferences`): espelha no Argos (`GET/PUT {api}/preferences`, por
|
|
1156
1244
|
* usuário e aplicação) o que o painel de configurações guarda no navegador — tema, cor, densidade, fonte, menu
|
|
1157
|
-
* lateral, idioma, fuso, relógio, primeiro dia da semana, tamanho do texto, animações, atalhos de tecla
|
|
1158
|
-
* inatividade, tela inicial, tipos de aviso e favoritos. As telas Aparência, Região etc. não mudam: o
|
|
1245
|
+
* lateral, dividir abas, idioma, fuso, relógio, primeiro dia da semana, tamanho do texto, animações, atalhos de tecla
|
|
1246
|
+
* única, inatividade, tela inicial, tipos de aviso e favoritos. As telas Aparência, Região etc. não mudam: o
|
|
1159
1247
|
* armazenamento local continua sendo a fonte de cada tela, e este serviço só sincroniza.
|
|
1160
1248
|
*
|
|
1161
1249
|
* - No início da sessão (`start()`, chamado pelo layout e pelo `/callback`), lê a conta e aplica o que estiver lá
|
|
@@ -1334,6 +1422,9 @@ declare class SettingsPanelComponent {
|
|
|
1334
1422
|
sidebarAuto: string;
|
|
1335
1423
|
sidebarFixed: string;
|
|
1336
1424
|
sidebarCompact: string;
|
|
1425
|
+
splitTabs: string;
|
|
1426
|
+
splitTabsDescription: string;
|
|
1427
|
+
splitTabsKeywords: string;
|
|
1337
1428
|
region: string;
|
|
1338
1429
|
regionKeywords: string;
|
|
1339
1430
|
language: string;
|
|
@@ -1786,8 +1877,8 @@ declare class SettingsPanelComponent {
|
|
|
1786
1877
|
protected clearList(list: BrowserList): void;
|
|
1787
1878
|
/**
|
|
1788
1879
|
* Restaurar preferências (com confirmação): tema (sistema), cor principal (a padrão do app), densidade
|
|
1789
|
-
* (confortável), fonte (a padrão do app), menu lateral (o modo padrão do app),
|
|
1790
|
-
* animações (sistema), formato de hora e primeiro dia da semana (automáticos). Idioma, fuso horário e
|
|
1880
|
+
* (confortável), fonte (a padrão do app), menu lateral (o modo padrão do app), dividir abas (desligado), tamanho do
|
|
1881
|
+
* texto (100%), animações (sistema), formato de hora e primeiro dia da semana (automáticos). Idioma, fuso horário e
|
|
1791
1882
|
* atalhos de tecla única ficam: mudam como a pessoa lê e digita, e não são "aparência".
|
|
1792
1883
|
*/
|
|
1793
1884
|
protected restorePreferences(): void;
|
|
@@ -1968,12 +2059,33 @@ interface GroupMember {
|
|
|
1968
2059
|
joined_at: string | null;
|
|
1969
2060
|
added_by_username: string | null;
|
|
1970
2061
|
}
|
|
2062
|
+
/** Página e filtros da lista de membros (o servidor pagina: padrão 50, até 200 por página). */
|
|
2063
|
+
interface GroupMembersQuery {
|
|
2064
|
+
page?: number;
|
|
2065
|
+
limit?: number;
|
|
2066
|
+
/** Trecho do nome, do login ou do e-mail. */
|
|
2067
|
+
search?: string;
|
|
2068
|
+
}
|
|
2069
|
+
/** Uma página de membros, com a função de quem pede e o que ela permite (como em `ManagedGroup`). */
|
|
2070
|
+
interface GroupMembersPage {
|
|
2071
|
+
my_role: GroupRole | null;
|
|
2072
|
+
can_add: boolean;
|
|
2073
|
+
assignable_roles: GroupRole[];
|
|
2074
|
+
can_change_roles: boolean;
|
|
2075
|
+
members: GroupMember[];
|
|
2076
|
+
/** Quantos passam pela busca (sem busca, o grupo inteiro). */
|
|
2077
|
+
total: number;
|
|
2078
|
+
page: number;
|
|
2079
|
+
limit: number;
|
|
2080
|
+
}
|
|
1971
2081
|
interface RealmUser {
|
|
1972
2082
|
id: string;
|
|
1973
2083
|
username: string;
|
|
1974
2084
|
email: string | null;
|
|
1975
2085
|
name: string | null;
|
|
1976
2086
|
enabled: boolean;
|
|
2087
|
+
/** Foto (o argos-admin já manda com a busca): a pessoa incluída entra na lista com ela. */
|
|
2088
|
+
picture?: string | null;
|
|
1977
2089
|
}
|
|
1978
2090
|
/**
|
|
1979
2091
|
* Grupos de que a pessoa é membro e o que a função dela permite — `argos-admin /me/groups`. Sempre da aplicação LOGADA (o
|
|
@@ -1994,9 +2106,11 @@ declare class SpineMyGroupsService {
|
|
|
1994
2106
|
private get headers();
|
|
1995
2107
|
/** Relê os grupos; qualquer falha deixa a lista vazia (a seção some em vez de mostrar um erro sem contexto). */
|
|
1996
2108
|
refresh(): Promise<void>;
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2109
|
+
/**
|
|
2110
|
+
* Uma página dos membros, pela ordem do login. Observable (não Promise): a tela pede as páginas até o fim e cancela a
|
|
2111
|
+
* pendente ao sair.
|
|
2112
|
+
*/
|
|
2113
|
+
members(groupId: string, query?: GroupMembersQuery): Observable<GroupMembersPage>;
|
|
2000
2114
|
searchUsers(search: string, limit?: number): Promise<{
|
|
2001
2115
|
users: RealmUser[];
|
|
2002
2116
|
}>;
|
|
@@ -3432,8 +3546,6 @@ declare class SpineSuggestionChatComponent {
|
|
|
3432
3546
|
kindFilter: string;
|
|
3433
3547
|
allKinds: string;
|
|
3434
3548
|
refresh: string;
|
|
3435
|
-
boardEmpty: string;
|
|
3436
|
-
boardEmptyHint: string;
|
|
3437
3549
|
boardFiltered: string;
|
|
3438
3550
|
loadError: string;
|
|
3439
3551
|
moveError: string;
|
|
@@ -3729,6 +3841,158 @@ declare class SpineSuggestionChatComponent {
|
|
|
3729
3841
|
waitingYou: string;
|
|
3730
3842
|
waitingTeam: string;
|
|
3731
3843
|
};
|
|
3844
|
+
planning: {
|
|
3845
|
+
viewSummary: string;
|
|
3846
|
+
viewTasks: string;
|
|
3847
|
+
viewPlanning: string;
|
|
3848
|
+
viewSchedule: string;
|
|
3849
|
+
viewRisks: string;
|
|
3850
|
+
viewWorkflow: string;
|
|
3851
|
+
loadError: string;
|
|
3852
|
+
saveError: string;
|
|
3853
|
+
retry: string;
|
|
3854
|
+
save: string;
|
|
3855
|
+
cancel: string;
|
|
3856
|
+
delete: string;
|
|
3857
|
+
edit: string;
|
|
3858
|
+
points: string;
|
|
3859
|
+
pointsValue: _trismegisto_primitives.PluralMessage;
|
|
3860
|
+
noEstimate: string;
|
|
3861
|
+
backlog: string;
|
|
3862
|
+
noSprint: string;
|
|
3863
|
+
unassigned: string;
|
|
3864
|
+
dateRange: string;
|
|
3865
|
+
summary: {
|
|
3866
|
+
activeSprint: string;
|
|
3867
|
+
sprintPoints: string;
|
|
3868
|
+
sprintCapacity: string;
|
|
3869
|
+
openTasks: string;
|
|
3870
|
+
overdue: string;
|
|
3871
|
+
mine: string;
|
|
3872
|
+
mineEmpty: string;
|
|
3873
|
+
deadlines: string;
|
|
3874
|
+
deadlinesEmpty: string;
|
|
3875
|
+
topRisks: string;
|
|
3876
|
+
topRisksEmpty: string;
|
|
3877
|
+
riskScore: string;
|
|
3878
|
+
nextMilestone: string;
|
|
3879
|
+
nextMilestoneEmpty: string;
|
|
3880
|
+
};
|
|
3881
|
+
tasks: {
|
|
3882
|
+
viewLabel: string;
|
|
3883
|
+
viewList: string;
|
|
3884
|
+
viewTable: string;
|
|
3885
|
+
listLabel: string;
|
|
3886
|
+
gridCaption: string;
|
|
3887
|
+
count: _trismegisto_primitives.PluralMessage;
|
|
3888
|
+
open: string;
|
|
3889
|
+
emptyHeading: string;
|
|
3890
|
+
emptyBody: string;
|
|
3891
|
+
key: string;
|
|
3892
|
+
title: string;
|
|
3893
|
+
status: string;
|
|
3894
|
+
priority: string;
|
|
3895
|
+
assignee: string;
|
|
3896
|
+
sprint: string;
|
|
3897
|
+
due: string;
|
|
3898
|
+
};
|
|
3899
|
+
sprints: {
|
|
3900
|
+
heading: string;
|
|
3901
|
+
hint: string;
|
|
3902
|
+
readOnlyClosed: string;
|
|
3903
|
+
new: string;
|
|
3904
|
+
start: string;
|
|
3905
|
+
close: string;
|
|
3906
|
+
state: Record<"planned" | "active" | "closed", string>;
|
|
3907
|
+
closeHeading: string;
|
|
3908
|
+
closeMessage: string;
|
|
3909
|
+
deleteHeading: string;
|
|
3910
|
+
deleteMessage: string;
|
|
3911
|
+
newHeading: string;
|
|
3912
|
+
editHeading: string;
|
|
3913
|
+
name: string;
|
|
3914
|
+
nameRequired: string;
|
|
3915
|
+
goal: string;
|
|
3916
|
+
start_date: string;
|
|
3917
|
+
end_date: string;
|
|
3918
|
+
datesRequired: string;
|
|
3919
|
+
datesOrder: string;
|
|
3920
|
+
capacity: string;
|
|
3921
|
+
activeExists: string;
|
|
3922
|
+
moved: string;
|
|
3923
|
+
progressHeading: string;
|
|
3924
|
+
done: string;
|
|
3925
|
+
committed: string;
|
|
3926
|
+
capacityUse: string;
|
|
3927
|
+
burndownCaption: string;
|
|
3928
|
+
day: string;
|
|
3929
|
+
ideal: string;
|
|
3930
|
+
remaining: string;
|
|
3931
|
+
closed: string;
|
|
3932
|
+
};
|
|
3933
|
+
schedule: {
|
|
3934
|
+
heading: string;
|
|
3935
|
+
label: string;
|
|
3936
|
+
hint: string;
|
|
3937
|
+
milestones: string;
|
|
3938
|
+
newMilestone: string;
|
|
3939
|
+
milestoneTitle: string;
|
|
3940
|
+
milestoneDate: string;
|
|
3941
|
+
milestoneRequired: string;
|
|
3942
|
+
removeMilestone: string;
|
|
3943
|
+
rescheduled: string;
|
|
3944
|
+
conflicts: string;
|
|
3945
|
+
workloadHeading: string;
|
|
3946
|
+
workloadLabel: string;
|
|
3947
|
+
workloadHint: string;
|
|
3948
|
+
week: string;
|
|
3949
|
+
noPeople: string;
|
|
3950
|
+
};
|
|
3951
|
+
risks: {
|
|
3952
|
+
heading: string;
|
|
3953
|
+
label: string;
|
|
3954
|
+
hint: string;
|
|
3955
|
+
new: string;
|
|
3956
|
+
newHeading: string;
|
|
3957
|
+
editHeading: string;
|
|
3958
|
+
title: string;
|
|
3959
|
+
titleRequired: string;
|
|
3960
|
+
owner: string;
|
|
3961
|
+
status: string;
|
|
3962
|
+
mitigation: string;
|
|
3963
|
+
deleteHeading: string;
|
|
3964
|
+
statuses: Record<"identified" | "mitigating" | "closed", string>;
|
|
3965
|
+
task: string;
|
|
3966
|
+
taskPlaceholder: string;
|
|
3967
|
+
taskRequired: string;
|
|
3968
|
+
noTask: string;
|
|
3969
|
+
level: string;
|
|
3970
|
+
levels: Record<"low" | "medium" | "high" | "critical", string>;
|
|
3971
|
+
ofTask: string;
|
|
3972
|
+
add: string;
|
|
3973
|
+
empty: string;
|
|
3974
|
+
};
|
|
3975
|
+
workflow: {
|
|
3976
|
+
heading: string;
|
|
3977
|
+
hint: string;
|
|
3978
|
+
label: string;
|
|
3979
|
+
count: _trismegisto_primitives.PluralMessage;
|
|
3980
|
+
plan: string;
|
|
3981
|
+
start: string;
|
|
3982
|
+
finish: string;
|
|
3983
|
+
refuse: string;
|
|
3984
|
+
reopen: string;
|
|
3985
|
+
};
|
|
3986
|
+
detail: {
|
|
3987
|
+
estimate: string;
|
|
3988
|
+
sprint: string;
|
|
3989
|
+
backlogOption: string;
|
|
3990
|
+
dependsOn: string;
|
|
3991
|
+
dependsOnPlaceholder: string;
|
|
3992
|
+
dependencyCycle: string;
|
|
3993
|
+
blockedBy: string;
|
|
3994
|
+
};
|
|
3995
|
+
};
|
|
3732
3996
|
};
|
|
3733
3997
|
private readonly preferences;
|
|
3734
3998
|
private readonly scroller;
|
|
@@ -3858,6 +4122,6 @@ declare const SPINE_MARKDOWN_PURIFY_CONFIG: Config;
|
|
|
3858
4122
|
/** HTML limpo pelo perfil do spine, ou `null` quando não há DOM (SSR: melhor não renderizar). */
|
|
3859
4123
|
declare function sanitizeSpineMarkdownHtml(html: string): string | null;
|
|
3860
4124
|
|
|
3861
|
-
export { AiAgentComponent, AppLauncherComponent, HeaderComponent, LayoutComponent, NEW_SCREEN_VALUE, SPINE_BRAND, SPINE_GLOBAL_PREFERENCE_KEYS, SPINE_IDLE_WARNING_SECONDS, SPINE_INBOX_POLL_MS, SPINE_INBOX_SOURCES, SPINE_MARKDOWN_PURIFY_CONFIG, SPINE_PREFERENCES_SAVE_DELAY_MS, SPINE_RATING_COMMENT_MAX, SPINE_RATING_SCORE_MAX, SPINE_SETTINGS_ALIASES, SPINE_SETTINGS_KEYS, SPINE_SETTINGS_SECTIONS, SPINE_SUGGESTIONS_PAGE_ID, SPINE_SUGGESTIONS_PAGE_PATH, SPINE_SUGGESTION_KINDS, SPINE_SUGGESTION_KIND_COLORS, SPINE_SUGGESTION_KIND_ICONS, SPINE_SUGGESTION_LIMITS, SPINE_SUGGESTION_PAGE_PARAM, SPINE_SUGGESTION_PUBLIC_SORTS, SPINE_SUGGESTION_PUBLIC_STATUSES, SPINE_SUGGESTION_REASONS, SPINE_SUGGESTION_STATUSES, SPINE_SUGGESTION_STATUS_COLORS, SPINE_SUGGESTION_STATUS_ICONS, SPINE_SUGGESTION_TAB_CONVERSATION, SPINE_SUGGESTION_TAB_PARAM, SPINE_SUGGESTION_VISIBLE_SORTS, SPINE_SUGGESTION_WAITING, SPINE_SUGGESTION_WAITING_COLORS, SPINE_TAB, SettingsPanelComponent, ShortcutService, ShortcutsCheatsheetComponent, SidebarComponent, SpineAccountPreferencesService, SpineAccountSecurityService, SpineAppTokensService, SpineBrandComponent, SpineConnectionBannerComponent, SpineDocsComponent, SpineDocsService, SpineIdleService, SpineIdleWarningComponent, SpineInboxButtonComponent, SpineInboxService, SpineInitialSetupComponent, SpineInitialSetupService, SpineLogoutService, SpineMarkdownComponent, SpineMyGroupsService, SpineNewsComponent, SpineNewsService, SpineNoticesService, SpinePageActionsDirective, SpinePageActionsSlot, SpineRatingStarsComponent, SpineRatingsService, SpineSettingsService, SpineStartPageService, SpineSuggestionChatComponent, SpineSuggestionsService, SpineTagRowComponent, SpineWorkspaceNavService, accountErrorCode, argosAccountApi, buildMcpConfig, effectiveIdleMinutes, idleLimits, isInternalPath, provideSettingsSection, provideSpineInboxSource, provideSpineSuggestionsPage, ratingTargetKey, resolveSettingsSection, sanitizeSpineMarkdownHtml, screenModule, screenName, spineNormalizeUrl, spineParamsOf, spinePathOf, spineScoreBand, spineStarFills, spineSuggestionsEnabled, spineTagColor, stable, suggestionScreens };
|
|
3862
|
-
export type { AccountActivityEntry, AccountActivityPage, AccountBadges, AccountMethod, AccountOverview, AccountPreferences, AccountReauth, AccountSession, AppToken, AppTokenList, AppTokenOptions, CreatedAppToken, DocsEntry, DocsGroup, DocsView, GroupMember, GroupRole, ManagedGroup, RealmUser, ShortcutActions, SpineAccountPreferencesDoc, SpineAccountPreferencesStatus, SpineAppSuggestion, SpineAppSuggestionsQuery, SpineChatMessage, SpineChatSide, SpineGlobalPreferencesDoc, SpineIdleLimits, SpineInboxEntry, SpineInboxItem, SpineInboxSource, SpineInitialSetupMode, SpineInitialSetupStep, SpineNewsAuthor, SpineNewsDetail, SpineNewsFilter, SpineNewsKind, SpineNewsPage, SpineNewsSummary, SpineNotice, SpineNoticePermission, SpineOpenTabOptions, SpineRating, SpineRatingAverage, SpineRatingScope, SpineRatingTarget, SpineScoreBand, SpineSettingsSection, SpineStarFill, SpineSuggestion, SpineSuggestionComment, SpineSuggestionDraft, SpineSuggestionKind, SpineSuggestionMessage, SpineSuggestionPerson, SpineSuggestionPublicSort, SpineSuggestionPublicStatus, SpineSuggestionReason, SpineSuggestionScreen, SpineSuggestionStatus, SpineSuggestionUpdate, SpineSuggestionVisibleSort, SpineSuggestionWaiting, SpineTab, SpineTabParams, SpineTagRowItem, SpineVisibleCounts, SpineVisibleQuery, SpineVisibleSuggestion, SuggestionScreenOption };
|
|
4125
|
+
export { AiAgentComponent, AppLauncherComponent, HeaderComponent, LayoutComponent, NEW_SCREEN_VALUE, SPINE_BRAND, SPINE_GLOBAL_PREFERENCE_KEYS, SPINE_IDLE_WARNING_SECONDS, SPINE_INBOX_POLL_MS, SPINE_INBOX_SOURCES, SPINE_MARKDOWN_PURIFY_CONFIG, SPINE_PREFERENCES_SAVE_DELAY_MS, SPINE_RATING_COMMENT_MAX, SPINE_RATING_SCORE_MAX, SPINE_SETTINGS_ALIASES, SPINE_SETTINGS_KEYS, SPINE_SETTINGS_SECTIONS, SPINE_SUGGESTIONS_PAGE_ID, SPINE_SUGGESTIONS_PAGE_PATH, SPINE_SUGGESTION_KINDS, SPINE_SUGGESTION_KIND_COLORS, SPINE_SUGGESTION_KIND_ICONS, SPINE_SUGGESTION_LIMITS, SPINE_SUGGESTION_PAGE_PARAM, SPINE_SUGGESTION_PUBLIC_SORTS, SPINE_SUGGESTION_PUBLIC_STATUSES, SPINE_SUGGESTION_REASONS, SPINE_SUGGESTION_STATUSES, SPINE_SUGGESTION_STATUS_COLORS, SPINE_SUGGESTION_STATUS_ICONS, SPINE_SUGGESTION_TAB_CONVERSATION, SPINE_SUGGESTION_TAB_PARAM, SPINE_SUGGESTION_VISIBLE_SORTS, SPINE_SUGGESTION_WAITING, SPINE_SUGGESTION_WAITING_COLORS, SPINE_TAB, SPINE_WORKSPACE_LIMITS, SettingsPanelComponent, ShortcutService, ShortcutsCheatsheetComponent, SidebarComponent, SpineAccountPreferencesService, SpineAccountSecurityService, SpineAppTokensService, SpineBrandComponent, SpineConnectionBannerComponent, SpineDocsComponent, SpineDocsService, SpineIdleService, SpineIdleWarningComponent, SpineInboxButtonComponent, SpineInboxService, SpineInitialSetupComponent, SpineInitialSetupService, SpineLogoutService, SpineMarkdownComponent, SpineMyGroupsService, SpineNewsComponent, SpineNewsService, SpineNoticesService, SpinePageActionsDirective, SpinePageActionsSlot, SpineRatingStarsComponent, SpineRatingsService, SpineSettingsService, SpineStartPageService, SpineSuggestionChatComponent, SpineSuggestionsService, SpineTagRowComponent, SpineUnsavedChangesService, SpineWorkspaceNavService, accountErrorCode, argosAccountApi, buildMcpConfig, effectiveIdleMinutes, idleLimits, isInternalPath, provideSettingsSection, provideSpineInboxSource, provideSpineSuggestionsPage, ratingTargetKey, registerSpineUnsavedChanges, resolveSettingsSection, sanitizeSpineMarkdownHtml, screenModule, screenName, spineNormalizeUrl, spineParamsOf, spinePathOf, spineScoreBand, spineStarFills, spineSuggestionsEnabled, spineTagColor, stable, suggestionScreens };
|
|
4126
|
+
export type { AccountActivityEntry, AccountActivityPage, AccountBadges, AccountMethod, AccountOverview, AccountPreferences, AccountReauth, AccountSession, AppToken, AppTokenList, AppTokenOptions, CreatedAppToken, DocsEntry, DocsGroup, DocsView, GroupMember, GroupMembersPage, GroupMembersQuery, GroupRole, ManagedGroup, RealmUser, ShortcutActions, SpineAccountPreferencesDoc, SpineAccountPreferencesStatus, SpineAppSuggestion, SpineAppSuggestionsQuery, SpineChatMessage, SpineChatSide, SpineGlobalPreferencesDoc, SpineIdleLimits, SpineInboxEntry, SpineInboxItem, SpineInboxSource, SpineInitialSetupMode, SpineInitialSetupStep, SpineNewsAuthor, SpineNewsDetail, SpineNewsFilter, SpineNewsKind, SpineNewsPage, SpineNewsSummary, SpineNotice, SpineNoticePermission, SpineOpenTabOptions, SpineRating, SpineRatingAverage, SpineRatingScope, SpineRatingTarget, SpineScoreBand, SpineSettingsSection, SpineStarFill, SpineSuggestion, SpineSuggestionComment, SpineSuggestionDraft, SpineSuggestionKind, SpineSuggestionMessage, SpineSuggestionPerson, SpineSuggestionPublicSort, SpineSuggestionPublicStatus, SpineSuggestionReason, SpineSuggestionScreen, SpineSuggestionStatus, SpineSuggestionUpdate, SpineSuggestionVisibleSort, SpineSuggestionWaiting, SpineTab, SpineTabParams, SpineTagRowItem, SpineVisibleCounts, SpineVisibleQuery, SpineVisibleSuggestion, SuggestionScreenOption };
|
|
3863
4127
|
//# sourceMappingURL=trismegisto-spine-layout.d.ts.map
|