@trismegisto/spine 2.0.0 → 2.1.0
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 +35 -5
- package/fesm2022/trismegisto-spine-audit.mjs +1 -1
- package/fesm2022/trismegisto-spine-audit.mjs.map +1 -1
- package/fesm2022/trismegisto-spine-auto-service-apps.technical-ClMKB9cK.mjs +48 -0
- package/fesm2022/trismegisto-spine-auto-service-apps.technical-ClMKB9cK.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service-apps.usage-Cf5SG-oQ.mjs +55 -0
- package/fesm2022/trismegisto-spine-auto-service-apps.usage-Cf5SG-oQ.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service-audit.technical-C901aIIQ.mjs +42 -0
- package/fesm2022/trismegisto-spine-auto-service-audit.technical-C901aIIQ.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service-audit.usage-GIJ2RwuH.mjs +63 -0
- package/fesm2022/trismegisto-spine-auto-service-audit.usage-GIJ2RwuH.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service-auto-service-client.component-C7SPavrX.mjs +784 -0
- package/fesm2022/trismegisto-spine-auto-service-auto-service-client.component-C7SPavrX.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service-auto-service-delete-6Bk46MOf.mjs +39 -0
- package/fesm2022/trismegisto-spine-auto-service-auto-service-delete-6Bk46MOf.mjs.map +1 -0
- package/fesm2022/{trismegisto-spine-auto-service-auto-service.component-B5tyJ2zY.mjs → trismegisto-spine-auto-service-auto-service.component-BLN49F4a.mjs} +32 -7
- package/fesm2022/trismegisto-spine-auto-service-auto-service.component-BLN49F4a.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service-client.technical-BHWhpyWv.mjs +46 -0
- package/fesm2022/trismegisto-spine-auto-service-client.technical-BHWhpyWv.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service-client.usage-CM2WB2e2.mjs +80 -0
- package/fesm2022/trismegisto-spine-auto-service-client.usage-CM2WB2e2.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service-groups.technical-jQlwaQPn.mjs +39 -0
- package/fesm2022/trismegisto-spine-auto-service-groups.technical-jQlwaQPn.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service-groups.usage-Bh7ig2zZ.mjs +54 -0
- package/fesm2022/trismegisto-spine-auto-service-groups.usage-Bh7ig2zZ.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service-home.technical-BrVhcgDO.mjs +35 -0
- package/fesm2022/trismegisto-spine-auto-service-home.technical-BrVhcgDO.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service-home.usage-D6cb4B3Z.mjs +43 -0
- package/fesm2022/trismegisto-spine-auto-service-home.usage-D6cb4B3Z.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service.mjs +82 -40
- package/fesm2022/trismegisto-spine-auto-service.mjs.map +1 -1
- package/fesm2022/trismegisto-spine-layout.mjs +988 -46
- package/fesm2022/trismegisto-spine-layout.mjs.map +1 -1
- package/fesm2022/trismegisto-spine-shell.mjs +3 -1
- package/fesm2022/trismegisto-spine-shell.mjs.map +1 -1
- package/fesm2022/trismegisto-spine.mjs +591 -16
- package/fesm2022/trismegisto-spine.mjs.map +1 -1
- package/package.json +7 -7
- package/types/trismegisto-spine-auto-service.d.ts +41 -2
- package/types/trismegisto-spine-auto-service.d.ts.map +1 -1
- package/types/trismegisto-spine-layout.d.ts +214 -13
- package/types/trismegisto-spine-layout.d.ts.map +1 -1
- package/types/trismegisto-spine-shell.d.ts +1 -0
- package/types/trismegisto-spine-shell.d.ts.map +1 -1
- package/types/trismegisto-spine.d.ts +214 -8
- package/types/trismegisto-spine.d.ts.map +1 -1
- package/fesm2022/trismegisto-spine-auto-service-auto-service-client.component-BYkUOwWL.mjs +0 -595
- package/fesm2022/trismegisto-spine-auto-service-auto-service-client.component-BYkUOwWL.mjs.map +0 -1
- package/fesm2022/trismegisto-spine-auto-service-auto-service.component-B5tyJ2zY.mjs.map +0 -1
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trismegisto/spine",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
|
-
"url": "git+https://github.com/
|
|
7
|
+
"url": "git+https://github.com/konvndor/trismegisto.git",
|
|
8
8
|
"directory": "packages/spine/projects/ui"
|
|
9
9
|
},
|
|
10
10
|
"peerDependencies": {
|
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
"@angular/core": ">=21.0.0",
|
|
13
13
|
"@angular/router": ">=21.0.0",
|
|
14
14
|
"@orfeu/angular": "^1.0.0",
|
|
15
|
-
"@trismegisto/angular": "^2.
|
|
16
|
-
"@trismegisto/core": "^2.
|
|
17
|
-
"@trismegisto/icons": "^2.
|
|
18
|
-
"@trismegisto/primitives": "^2.
|
|
19
|
-
"@trismegisto/tokens": "^2.
|
|
15
|
+
"@trismegisto/angular": "^2.1.0",
|
|
16
|
+
"@trismegisto/core": "^2.1.0",
|
|
17
|
+
"@trismegisto/icons": "^2.1.0",
|
|
18
|
+
"@trismegisto/primitives": "^2.1.0",
|
|
19
|
+
"@trismegisto/tokens": "^2.1.0",
|
|
20
20
|
"rxjs": "^7.0.0",
|
|
21
21
|
"@apollo/client": "^4.2.0",
|
|
22
22
|
"apollo-angular": "^14.2.0",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, Type, EnvironmentProviders } from '@angular/core';
|
|
3
|
+
import { RouteDocument } from '@trismegisto/spine/routing';
|
|
3
4
|
import { HttpClient } from '@angular/common/http';
|
|
4
5
|
import { AuthorizationService } from '@orfeu/angular/core';
|
|
5
6
|
|
|
@@ -19,13 +20,42 @@ declare const AUTO_SERVICE_HOME_TEMPLATE_ROUTER_ID = "6a9a13db-f31b-494e-b51c-79
|
|
|
19
20
|
* do carregamento inicial. Não exporte as telas no `public-api.ts` (ver o comentário lá).
|
|
20
21
|
*/
|
|
21
22
|
declare const AUTO_SERVICE_SCREENS: Readonly<Record<'home' | 'groups' | 'apps' | 'client' | 'audit', () => Promise<Type<unknown>>>>;
|
|
23
|
+
/**
|
|
24
|
+
* Documentação das 5 telas (botão de documentação da barra da página e índice "Documentação do sistema"): o manual
|
|
25
|
+
* de uso (`load`) e a especificação técnica (`loadTechnical`, só com `SpineConfig.technicalDocs`). O Markdown fica em
|
|
26
|
+
* módulos `.ts` próprios em `./docs/` (o ng-packagr não carrega `.md` como texto), cada um atrás de um `import()`
|
|
27
|
+
* relativo: vira um chunk à parte no FESM e só é baixado quando alguém abre o documento. Sem `title`/`group`: o
|
|
28
|
+
* índice usa o nome da rota e o módulo da árvore do client. O `SpineDocsService` casa estas entradas pelo
|
|
29
|
+
* `source_template_router_id`, como o `ComponentDistributorService` faz com as telas.
|
|
30
|
+
*/
|
|
31
|
+
declare const AUTO_SERVICE_DOCUMENTS: Readonly<Record<keyof typeof AUTO_SERVICE_SCREENS, RouteDocument>>;
|
|
22
32
|
declare function provideAutoService(config: AutoServiceConfig): EnvironmentProviders;
|
|
23
33
|
|
|
34
|
+
/** Nível de um nó na árvore do menu (`GET /routers/tree`). */
|
|
35
|
+
type RouterOrderType = 'header' | 'navigation' | 'menu' | 'item' | 'submenu' | 'page';
|
|
36
|
+
/** Nó da árvore do menu: uma rota num nível, com todos os routers que passam por ela. */
|
|
37
|
+
interface RouterOrderNode {
|
|
38
|
+
route_type: RouterOrderType;
|
|
39
|
+
routed_id: string;
|
|
40
|
+
route_name: string;
|
|
41
|
+
route_display_name: string | null;
|
|
42
|
+
route_icon: string | null;
|
|
43
|
+
order: number;
|
|
44
|
+
router_ids: string[];
|
|
45
|
+
children: RouterOrderNode[];
|
|
46
|
+
}
|
|
47
|
+
/** Um item da ordem nova de um nível (`PATCH /routers/reorder`). */
|
|
48
|
+
interface RouterOrderGroup {
|
|
49
|
+
type: RouterOrderType;
|
|
50
|
+
router_ids: string[];
|
|
51
|
+
}
|
|
24
52
|
declare class AutoServiceService {
|
|
25
53
|
private http;
|
|
26
54
|
private auth;
|
|
27
55
|
private config;
|
|
28
56
|
private get baseUrl();
|
|
57
|
+
/** `baseUrl` + caminho com cada id interpolado codificado (`urlPath`): um id com `/`, `?`, `#` ou `..` não muda o recurso. */
|
|
58
|
+
private url;
|
|
29
59
|
private get headers();
|
|
30
60
|
constructor(http: HttpClient, auth: AuthorizationService, config: AutoServiceConfig);
|
|
31
61
|
getMyClients(): Promise<{
|
|
@@ -43,6 +73,15 @@ declare class AutoServiceService {
|
|
|
43
73
|
createRouter(clientId: string, body: any): Promise<any>;
|
|
44
74
|
updateRouter(clientId: string, id: string, body: any): Promise<any>;
|
|
45
75
|
deleteRouter(clientId: string, id: string): Promise<any>;
|
|
76
|
+
/** Árvore do menu (header → … → página) com os router_ids de cada nó, já na ordem gravada. */
|
|
77
|
+
getRouterTree(clientId: string): Promise<{
|
|
78
|
+
tree: RouterOrderNode[];
|
|
79
|
+
}>;
|
|
80
|
+
/**
|
|
81
|
+
* Grava a ordem de UM nível (irmãos): o índice do grupo é a ordem; cada grupo escreve `${type}_order`
|
|
82
|
+
* em todos os seus routers. Vale também para routers de template (ordem é do client).
|
|
83
|
+
*/
|
|
84
|
+
reorderRouters(clientId: string, groups: RouterOrderGroup[]): Promise<any>;
|
|
46
85
|
getGroups(clientId: string): Promise<{
|
|
47
86
|
groups: any[];
|
|
48
87
|
}>;
|
|
@@ -105,6 +144,6 @@ interface AutoServiceClient {
|
|
|
105
144
|
realm_id: string;
|
|
106
145
|
}
|
|
107
146
|
|
|
108
|
-
export { AUTO_SERVICE_APPS_TEMPLATE_ROUTER_ID, AUTO_SERVICE_AUDIT_TEMPLATE_ROUTER_ID, AUTO_SERVICE_CLIENT_TEMPLATE_ROUTER_ID, AUTO_SERVICE_CONFIG, AUTO_SERVICE_GROUPS_TEMPLATE_ROUTER_ID, AUTO_SERVICE_HOME_TEMPLATE_ROUTER_ID, AUTO_SERVICE_SCREENS, AutoServiceService, provideAutoService };
|
|
109
|
-
export type { AutoServiceClient, AutoServiceConfig };
|
|
147
|
+
export { AUTO_SERVICE_APPS_TEMPLATE_ROUTER_ID, AUTO_SERVICE_AUDIT_TEMPLATE_ROUTER_ID, AUTO_SERVICE_CLIENT_TEMPLATE_ROUTER_ID, AUTO_SERVICE_CONFIG, AUTO_SERVICE_DOCUMENTS, AUTO_SERVICE_GROUPS_TEMPLATE_ROUTER_ID, AUTO_SERVICE_HOME_TEMPLATE_ROUTER_ID, AUTO_SERVICE_SCREENS, AutoServiceService, provideAutoService };
|
|
148
|
+
export type { AutoServiceClient, AutoServiceConfig, RouterOrderGroup, RouterOrderNode, RouterOrderType };
|
|
110
149
|
//# sourceMappingURL=trismegisto-spine-auto-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trismegisto-spine-auto-service.d.ts","sources":["../../../projects/ui/auto-service/src/auto-service.tokens.ts","../../../projects/ui/auto-service/src/provide-auto-service.ts","../../../projects/ui/auto-service/src/auto-service.service.ts","../../../projects/ui/auto-service/src/client-picker/auto-service-client-picker.component.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"trismegisto-spine-auto-service.d.ts","sources":["../../../projects/ui/auto-service/src/auto-service.tokens.ts","../../../projects/ui/auto-service/src/provide-auto-service.ts","../../../projects/ui/auto-service/src/auto-service.service.ts","../../../projects/ui/auto-service/src/client-picker/auto-service-client-picker.component.ts"],"mappings":";;;;;;UAEiB,iBAAiB;;AAKjC;AAED,cAAa,mBAAmB,EAAA,cAAA,CAAA,iBAAA;AAWhC,cAAa,sCAAsC;AACnD,cAAa,oCAAoC;AACjD,cAAa,sCAAsC;AAKnD,cAAa,qCAAqC;AAGlD,cAAa,oCAAoC;;ACrBjD;;;;AAIG;AACH,cAAa,oBAAoB,EAAE,QAAQ,CAAC,MAAM,wDAAwD,OAAO,CAAC,IAAI;AAQtH;;;;;;;AAOG;AACH,cAAa,sBAAsB,EAAE,QAAQ,CAAC,MAAM,cAAc,oBAAoB,EAAE,aAAa;AAgCrG,iBAAgB,kBAAkB,SAAS,iBAAiB,GAAG,oBAAoB;;ACvDnF;AACM,KAAM,eAAe;AAE3B;UACiB,eAAe;gBAClB,eAAe;;;AAG3B;AACA;;;cAGU,eAAe;AAC1B;AAED;UACiB,gBAAgB;UAAS,eAAe;;AAAwB;AAEjF,cACa,kBAAkB;AAiB3B;AACA;AAC6B;;;AAZ/B;;sBAUgB,UAAU,QACV,oBAAoB,UACW,iBAAiB;oBAIpD,OAAA;AAAoD;;oCAGnC,OAAA;AAAkD;;AAC/E,iDAA0C,OAAA;6DACY,OAAA;AACtD,kDAA2C,OAAA;kCAGhB,OAAA;AAAmD;;AAC9E,+CAAwC,OAAA;2DACY,OAAA;AACpD,gDAAyC,OAAA;;qCAEX,OAAA;AAAgD,cAAA,eAAe;;AAC7F;;;AAGG;6CACsC,gBAAgB,KAAE,OAAA;iCAGjC,OAAA;AAAkD;;AAC5E,wDAAiD,OAAA;AAAmD;;AACpG,4FAAqF,OAAA;AACrF,mGAA4F,OAAA;0EACzB,OAAA;AAGnE;;;AAA4E,QAAA,OAAA;AAI7B;;iCAIrB,OAAA;AAAkD;;AAC5E,qDAA8C,OAAA;AAC9C,sDAA+C,OAAA;AAC/C,mDAA4C,OAAA;AAAkD;;oEACjC,OAAA;sEACE,OAAA;+BAGvC,OAAA;AAAgD;;AACxE;;AAAkD;AAA2B,QAAA,OAAA;;;;;2DACzB,OAAA;AACpD,gDAAyC,OAAA;AACzC,uDAAgD,OAAA;AAAsD;;AAGtG,sDAA+C,OAAA;AAAqD;;yEAClC,OAAA;AAClE,6DAAsD,OAAA;AAGtD,6DAAsD,OAAA;AAAuD;;iFACnC,OAAA;qFACI,OAAA;yCAlFnE,kBAAkB;6CAAlB,kBAAkB;AAoF9B;;UCxGgB,iBAAiB;;;AAGhC;;AAED;;","names":[]}
|
|
@@ -5,7 +5,7 @@ import * as _orfeu_angular_core from '@orfeu/angular/core';
|
|
|
5
5
|
import { AuthorizationService, ViewService, UserProfile, AppDef, RealmAppsService } from '@orfeu/angular/core';
|
|
6
6
|
import * as _trismegisto_spine from '@trismegisto/spine';
|
|
7
7
|
import { SpineConfig, SpineNewsSlide, Route, ThemeService, ThemePresetService, DensityService, SpinePreferencesService } from '@trismegisto/spine';
|
|
8
|
-
import { BehaviorSubject, Subject } from 'rxjs';
|
|
8
|
+
import { BehaviorSubject, Observable, Subject } from 'rxjs';
|
|
9
9
|
import * as _trismegisto_angular from '@trismegisto/angular';
|
|
10
10
|
import { HermesShortcutItem, WorkspaceStore, TabItem, MenuItem, SidebarNode, HermesSidebarService, SegmentedOption, HermesThemeMode, HermesDensity, ComboboxOption } from '@trismegisto/angular';
|
|
11
11
|
import * as _trismegisto_primitives from '@trismegisto/primitives';
|
|
@@ -14,7 +14,15 @@ import * as _trismegisto_tokens from '@trismegisto/tokens';
|
|
|
14
14
|
import * as _trismegisto_spine_layout from '@trismegisto/spine/layout';
|
|
15
15
|
import { RouteDocument } from '@trismegisto/spine/routing';
|
|
16
16
|
import { SafeHtml } from '@angular/platform-browser';
|
|
17
|
+
import { Config } from 'dompurify';
|
|
17
18
|
|
|
19
|
+
/**
|
|
20
|
+
* Fase do tour: `idle` (inativo: não é devido, terminou, foi pulado/interrompido ou não sobrou passo),
|
|
21
|
+
* `pending` (vai aparecer: desde o `maybeStart()`/`restart()` até o primeiro passo, enquanto espera o
|
|
22
|
+
* shell e os alvos) e `running` (um passo na tela). Quem não pode disputar a tela com o tour (o painel
|
|
23
|
+
* de novidades) espera `idle` — não um tempo fixo.
|
|
24
|
+
*/
|
|
25
|
+
type OnboardingState = 'idle' | 'pending' | 'running';
|
|
18
26
|
interface OnboardingStep {
|
|
19
27
|
/** seletor CSS do alvo; ausente = passo centralizado (boas-vindas/encerramento). */
|
|
20
28
|
target?: string;
|
|
@@ -42,6 +50,11 @@ declare class OnboardingService {
|
|
|
42
50
|
index: number;
|
|
43
51
|
total: number;
|
|
44
52
|
} | null>;
|
|
53
|
+
private readonly stateSubject;
|
|
54
|
+
/** Fase do tour (ver `OnboardingState`). Emite o valor atual ao assinar. */
|
|
55
|
+
readonly state$: Observable<OnboardingState>;
|
|
56
|
+
/** Fase atual, síncrona. */
|
|
57
|
+
get state(): OnboardingState;
|
|
45
58
|
private readonly doneKey;
|
|
46
59
|
private steps;
|
|
47
60
|
private index;
|
|
@@ -49,10 +62,19 @@ declare class OnboardingService {
|
|
|
49
62
|
constructor(config: SpineConfig | null);
|
|
50
63
|
private get done();
|
|
51
64
|
private markDone;
|
|
52
|
-
/**
|
|
65
|
+
/**
|
|
66
|
+
* Dispara o tour só se ainda não foi visto nesta máquina. Chamar após o login. Quando é devido, o
|
|
67
|
+
* estado vira `pending` NA HORA (síncrono), antes da espera pelo shell — é isso que segura as
|
|
68
|
+
* novidades; quando não é, continua `idle`. Chamar de novo com o tour já em andamento não faz nada.
|
|
69
|
+
*/
|
|
53
70
|
maybeStart(): void;
|
|
54
|
-
/** Reabre o tour manualmente (menu Ajuda), ignorando a flag. */
|
|
71
|
+
/** Reabre o tour manualmente (menu Ajuda), ignorando a flag. Também passa por `pending` → `running`. */
|
|
55
72
|
restart(): void;
|
|
73
|
+
/**
|
|
74
|
+
* Interrompe o tour (pendente ou na tela) SEM marcar como visto: o automático volta na próxima entrada.
|
|
75
|
+
* Usado quando a pessoa abre outra coisa que disputaria a tela com ele (as novidades pelo menu).
|
|
76
|
+
*/
|
|
77
|
+
stop(): void;
|
|
56
78
|
/** Passos no idioma ativo (o texto é lido do catálogo ao começar o tour). Descrições com `<b>`. */
|
|
57
79
|
private allSteps;
|
|
58
80
|
/**
|
|
@@ -62,6 +84,8 @@ declare class OnboardingService {
|
|
|
62
84
|
*/
|
|
63
85
|
private start;
|
|
64
86
|
private emit;
|
|
87
|
+
private setState;
|
|
88
|
+
private clearWaiting;
|
|
65
89
|
next(): void;
|
|
66
90
|
prev(): void;
|
|
67
91
|
/** Encerra o tour (concluído ou pulado) e marca como visto. */
|
|
@@ -77,6 +101,11 @@ declare class OnboardingService {
|
|
|
77
101
|
* NESTE navegador e ainda dentro do `until` — e abre sozinho uma vez, depois do tour de boas-vindas.
|
|
78
102
|
* O "já visto" é por app (`hermes_<clientId>_news_seen`): novidade de um app não some por ter sido
|
|
79
103
|
* vista em outro no mesmo domínio.
|
|
104
|
+
*
|
|
105
|
+
* Tour e novidades nunca dividem a tela: na entrada, as novidades esperam o tour ficar `idle` (ver
|
|
106
|
+
* `OnboardingState`); fora dela, vale a última ação explícita da pessoa — o tour reaberto pelo menu
|
|
107
|
+
* Ajuda fecha o painel de novidades, e as novidades abertas pelo menu interrompem o tour (sem marcá-lo
|
|
108
|
+
* como visto).
|
|
80
109
|
*/
|
|
81
110
|
declare class SpineNewsService {
|
|
82
111
|
private readonly onboarding;
|
|
@@ -88,11 +117,19 @@ declare class SpineNewsService {
|
|
|
88
117
|
/** Há alguma novidade vigente — o item "Novidades" do menu só aparece com isto. */
|
|
89
118
|
readonly hasAny: _angular_core.Signal<boolean>;
|
|
90
119
|
constructor();
|
|
91
|
-
/**
|
|
120
|
+
/**
|
|
121
|
+
* Chamado uma vez pelo layout na entrada: abre as devidas quando o tour estiver `idle` (não devido,
|
|
122
|
+
* concluído, pulado ou sem passo), mais `AFTER_TOUR_MS` para não emendar. Se o tour começar nesse
|
|
123
|
+
* intervalo, volta a esperar — por isso a ordem com `OnboardingService.maybeStart()` não importa,
|
|
124
|
+
* desde que ele seja chamado dentro desse intervalo (o layout chama os dois juntos, tour primeiro).
|
|
125
|
+
*/
|
|
92
126
|
scheduleOnEntry(): void;
|
|
93
127
|
/** Marca como vistas todas as novidades devidas e as abre num único painel. */
|
|
94
128
|
showDue(): void;
|
|
95
|
-
/**
|
|
129
|
+
/**
|
|
130
|
+
* Reabre todas as vigentes (menu do perfil), vistas ou não; as devidas entre elas passam a vistas.
|
|
131
|
+
* Interrompe o tour se ele estiver pendente ou na tela (ação mais recente da pessoa).
|
|
132
|
+
*/
|
|
96
133
|
showAll(): void;
|
|
97
134
|
close(): void;
|
|
98
135
|
private open;
|
|
@@ -144,7 +181,7 @@ interface ShortcutActions {
|
|
|
144
181
|
declare class ShortcutService implements OnDestroy {
|
|
145
182
|
private actions;
|
|
146
183
|
private removers;
|
|
147
|
-
private readonly
|
|
184
|
+
private readonly userStorage;
|
|
148
185
|
private readonly hermes;
|
|
149
186
|
private readonly lib;
|
|
150
187
|
private readonly text;
|
|
@@ -252,6 +289,7 @@ declare class LayoutComponent implements OnInit {
|
|
|
252
289
|
private readonly preferences;
|
|
253
290
|
protected readonly workspace: SpineWorkspaceNavService;
|
|
254
291
|
private readonly settings;
|
|
292
|
+
private readonly userStorage;
|
|
255
293
|
/** Esconde sidebar e área de trabalho quando a rota ATIVA (do Router real, ver
|
|
256
294
|
* `router.events` abaixo) é a de sem-permissão — nesse caso não existe menu/página válido
|
|
257
295
|
* como contexto. Note que isto reflete só a URL do painel FOCADO (dona do Router real); um
|
|
@@ -319,7 +357,9 @@ declare class HeaderComponent implements OnInit {
|
|
|
319
357
|
protected readonly fmt: typeof formatMessage;
|
|
320
358
|
private readonly settings;
|
|
321
359
|
private readonly news;
|
|
322
|
-
private readonly
|
|
360
|
+
private readonly userStorage;
|
|
361
|
+
/** Por usuário (`SpineUserStorage`): `<clientId>_header_recent_searches_<sub>`; apagada no logout. */
|
|
362
|
+
private get recentSearchKey();
|
|
323
363
|
constructor(authService: AuthorizationService, themeService: ThemeService, themePresetService: ThemePresetService, densityService: DensityService, viewService: ViewService, router: Router, onboarding: OnboardingService, shortcuts: ShortcutService, config: SpineConfig | null);
|
|
324
364
|
ngOnInit(): Promise<void>;
|
|
325
365
|
updateView(data: any): void;
|
|
@@ -690,6 +730,7 @@ declare const SPINE_SETTINGS_KEYS: {
|
|
|
690
730
|
readonly region: "regiao";
|
|
691
731
|
readonly shortcuts: "atalhos";
|
|
692
732
|
readonly account: "conta";
|
|
733
|
+
readonly security: "seguranca";
|
|
693
734
|
readonly about: "sobre";
|
|
694
735
|
};
|
|
695
736
|
/** Seção extra do painel, registrada pelo app (ex.: preferências de deploy do hefesto). */
|
|
@@ -723,9 +764,9 @@ declare class SpineSettingsService {
|
|
|
723
764
|
|
|
724
765
|
/**
|
|
725
766
|
* Painel de configurações do shell (substitui as telas do antigo módulo "Sistema"): Aparência,
|
|
726
|
-
* Região, Atalhos, Conta e
|
|
727
|
-
* `provideSettingsSection`. Tudo vale na hora — cada controle chama
|
|
728
|
-
* aquela preferência (tema, densidade, menu lateral, fuso).
|
|
767
|
+
* Região, Atalhos, Conta, Conta e segurança (MFA, códigos de recuperação e sessões do Argos) e Sobre, mais
|
|
768
|
+
* as seções que o app registrar com `provideSettingsSection`. Tudo vale na hora — cada controle chama
|
|
769
|
+
* o serviço que já persiste aquela preferência (tema, densidade, menu lateral, fuso).
|
|
729
770
|
*
|
|
730
771
|
* Aberto por `SpineSettingsService.open()` — menu do perfil, `Ctrl+,` ou `?settings=<seção>`.
|
|
731
772
|
*/
|
|
@@ -798,6 +839,20 @@ declare class SettingsPanelComponent {
|
|
|
798
839
|
logout: string;
|
|
799
840
|
logoutDescription: string;
|
|
800
841
|
logoutKeywords: string;
|
|
842
|
+
security: string;
|
|
843
|
+
securityDescription: string;
|
|
844
|
+
securityKeywords: string;
|
|
845
|
+
signedInAccount: string;
|
|
846
|
+
signedInRealm: string;
|
|
847
|
+
twoFactor: string;
|
|
848
|
+
twoFactorDescription: string;
|
|
849
|
+
twoFactorKeywords: string;
|
|
850
|
+
recoveryCodes: string;
|
|
851
|
+
recoveryCodesDescription: string;
|
|
852
|
+
recoveryCodesKeywords: string;
|
|
853
|
+
sessions: string;
|
|
854
|
+
sessionsDescription: string;
|
|
855
|
+
sessionsKeywords: string;
|
|
801
856
|
about: string;
|
|
802
857
|
aboutKeywords: string;
|
|
803
858
|
application: string;
|
|
@@ -828,6 +883,7 @@ declare class SettingsPanelComponent {
|
|
|
828
883
|
readonly region: "regiao";
|
|
829
884
|
readonly shortcuts: "atalhos";
|
|
830
885
|
readonly account: "conta";
|
|
886
|
+
readonly security: "seguranca";
|
|
831
887
|
readonly about: "sobre";
|
|
832
888
|
};
|
|
833
889
|
private readonly theme;
|
|
@@ -839,11 +895,18 @@ declare class SettingsPanelComponent {
|
|
|
839
895
|
private readonly shortcutService;
|
|
840
896
|
private readonly onboarding;
|
|
841
897
|
private readonly auth;
|
|
898
|
+
private readonly authConfig;
|
|
842
899
|
private readonly toast;
|
|
843
900
|
protected readonly packageInfo: _trismegisto_spine.PackageInfo;
|
|
844
901
|
private readonly config;
|
|
845
902
|
protected readonly appSections: _trismegisto_spine_layout.SpineSettingsSection[];
|
|
846
903
|
protected readonly appName: string;
|
|
904
|
+
/**
|
|
905
|
+
* "Copiar token de acesso" é ferramenta de desenvolvimento: põe o token da sessão (Bearer de tudo que a
|
|
906
|
+
* pessoa pode fazer) na área de transferência, ao alcance de qualquer app/extensão que leia o clipboard.
|
|
907
|
+
* Só aparece com `SpineConfig.technicalDocs` (sem configuração, só em `isDevMode()`), como a visão técnica.
|
|
908
|
+
*/
|
|
909
|
+
protected readonly showAccessToken: boolean;
|
|
847
910
|
protected readonly themeOptions: _angular_core.Signal<readonly SegmentedOption<string>[]>;
|
|
848
911
|
protected readonly densityOptions: _angular_core.Signal<readonly SegmentedOption<string>[]>;
|
|
849
912
|
protected readonly fontOptions: readonly SegmentedOption[];
|
|
@@ -877,7 +940,14 @@ declare class SettingsPanelComponent {
|
|
|
877
940
|
/** Validade da sessão lida do `exp` do próprio token (só leitura do payload, sem validar). */
|
|
878
941
|
protected get sessionExpiry(): string;
|
|
879
942
|
protected copyToken(): Promise<void>;
|
|
943
|
+
private readonly userStorage;
|
|
880
944
|
protected logout(): void;
|
|
945
|
+
/** API da conta no Argos (Bearer com o token da sessão), a partir do `AUTH_CONFIG`. Sem ela (sem
|
|
946
|
+
* `authority`/`realmId`, ou com `CHANGE_ME`) a seção não aparece. */
|
|
947
|
+
protected readonly accountSecurity: boolean;
|
|
948
|
+
/** Login da pessoa (`preferred_username` do token, ou o e-mail), para dizer QUAL conta do Argos. */
|
|
949
|
+
protected get accountLogin(): string;
|
|
950
|
+
protected get accountRealm(): string;
|
|
881
951
|
protected readonly dependencies: {
|
|
882
952
|
version: string | undefined;
|
|
883
953
|
name: string;
|
|
@@ -954,6 +1024,123 @@ declare class SpineAppTokensService {
|
|
|
954
1024
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<SpineAppTokensService>;
|
|
955
1025
|
}
|
|
956
1026
|
|
|
1027
|
+
/** Um método de verificação em duas etapas, como o Argos devolve (nunca o segredo do TOTP). */
|
|
1028
|
+
interface AccountMethod {
|
|
1029
|
+
method_id: string;
|
|
1030
|
+
/** `totp`, `email`, `sms`... (nome fixo do método no Argos). */
|
|
1031
|
+
method_name: string;
|
|
1032
|
+
active: boolean;
|
|
1033
|
+
/** E-mail/telefone mascarados. */
|
|
1034
|
+
secret?: string;
|
|
1035
|
+
}
|
|
1036
|
+
/** `GET {api}/security`: métodos, política do realm, códigos de recuperação e estado da reautenticação. */
|
|
1037
|
+
interface AccountOverview {
|
|
1038
|
+
user: {
|
|
1039
|
+
username: string;
|
|
1040
|
+
name: string | null;
|
|
1041
|
+
email: string;
|
|
1042
|
+
};
|
|
1043
|
+
policy: {
|
|
1044
|
+
required: boolean;
|
|
1045
|
+
};
|
|
1046
|
+
methods: AccountMethod[];
|
|
1047
|
+
recovery_codes: {
|
|
1048
|
+
remaining: number;
|
|
1049
|
+
};
|
|
1050
|
+
/** Id do "método" código de recuperação (reautenticação com um código). */
|
|
1051
|
+
recovery_method_id: string;
|
|
1052
|
+
reauthenticated: boolean;
|
|
1053
|
+
reauth_expires_in: number;
|
|
1054
|
+
/** Só na resposta do cadastro do primeiro método: os códigos de recuperação, exibidos uma vez. */
|
|
1055
|
+
recovery_codes_issued?: string[];
|
|
1056
|
+
}
|
|
1057
|
+
/** Uma sessão (um login num navegador) e os aplicativos que a usam. */
|
|
1058
|
+
interface AccountSession {
|
|
1059
|
+
id: string;
|
|
1060
|
+
/** A sessão deste login (a do token do app). */
|
|
1061
|
+
current: boolean;
|
|
1062
|
+
/** Outra sessão do mesmo navegador. */
|
|
1063
|
+
this_device: boolean;
|
|
1064
|
+
device: {
|
|
1065
|
+
browser?: string | null;
|
|
1066
|
+
os?: string | null;
|
|
1067
|
+
mobile: boolean;
|
|
1068
|
+
label: string;
|
|
1069
|
+
};
|
|
1070
|
+
ip: string | null;
|
|
1071
|
+
created_at: string;
|
|
1072
|
+
last_seen_at: string;
|
|
1073
|
+
/** `false`: o login no Argos venceu, só o refresh de algum aplicativo segue vivo. */
|
|
1074
|
+
sso_active: boolean;
|
|
1075
|
+
clients: {
|
|
1076
|
+
client_id: string;
|
|
1077
|
+
name: string | null;
|
|
1078
|
+
}[];
|
|
1079
|
+
}
|
|
1080
|
+
type AccountReauth = {
|
|
1081
|
+
password: string;
|
|
1082
|
+
} | {
|
|
1083
|
+
method_id: string;
|
|
1084
|
+
code: string;
|
|
1085
|
+
};
|
|
1086
|
+
/**
|
|
1087
|
+
* Base da API da conta no Argos: `{authority}/api/realms/{realm}/account` — o mesmo `{authority}/api` que o
|
|
1088
|
+
* `@orfeu/angular` usa para o OIDC (a `authority` já traz o contexto do serviço, ex.: `https://host/argos`).
|
|
1089
|
+
* Sem `authority`/`realm` (ou com o `CHANGE_ME` de um environment ainda não preenchido) devolve `null`.
|
|
1090
|
+
*/
|
|
1091
|
+
declare function argosAccountApi(authority: string | null | undefined, realm: string | null | undefined): string | null;
|
|
1092
|
+
/**
|
|
1093
|
+
* Conta do usuário no Argos (verificação em duas etapas, códigos de recuperação, sessões) pela API da conta
|
|
1094
|
+
* com Bearer: o access token da sessão do app (`@orfeu/angular`), no header `Authorization` — o mesmo jeito
|
|
1095
|
+
* que o Orfeu fala com o Argos (ex.: `switchBadge`). O Argos reconhece a sessão SSO pelo `sid` do token; não
|
|
1096
|
+
* há cookie envolvido. Token vencido (`401 invalid_token`): renova uma vez (`silentRenew`) e repete.
|
|
1097
|
+
* `available` é falso sem `AUTH_CONFIG` utilizável.
|
|
1098
|
+
*/
|
|
1099
|
+
declare class SpineAccountSecurityService {
|
|
1100
|
+
private readonly http;
|
|
1101
|
+
private readonly auth;
|
|
1102
|
+
private readonly config;
|
|
1103
|
+
readonly baseUrl: string | null;
|
|
1104
|
+
readonly available: boolean;
|
|
1105
|
+
overview(): Promise<AccountOverview>;
|
|
1106
|
+
reauthenticate(proof: AccountReauth): Promise<{
|
|
1107
|
+
reauthenticated: boolean;
|
|
1108
|
+
reauth_expires_in: number;
|
|
1109
|
+
}>;
|
|
1110
|
+
requestReauthCode(methodId: string): Promise<{
|
|
1111
|
+
method_id: string;
|
|
1112
|
+
expires_in: number;
|
|
1113
|
+
}>;
|
|
1114
|
+
configure(methodId: string, email?: string): Promise<{
|
|
1115
|
+
method_id: string;
|
|
1116
|
+
secret?: string;
|
|
1117
|
+
qrcode?: string;
|
|
1118
|
+
expires_in?: number;
|
|
1119
|
+
}>;
|
|
1120
|
+
register(methodId: string, code: string): Promise<AccountOverview>;
|
|
1121
|
+
remove(methodId: string): Promise<AccountOverview>;
|
|
1122
|
+
regenerateRecoveryCodes(): Promise<{
|
|
1123
|
+
recovery_codes: string[];
|
|
1124
|
+
remaining: number;
|
|
1125
|
+
}>;
|
|
1126
|
+
sessions(): Promise<{
|
|
1127
|
+
sessions: AccountSession[];
|
|
1128
|
+
}>;
|
|
1129
|
+
endSession(sid: string): Promise<{
|
|
1130
|
+
ended: boolean;
|
|
1131
|
+
current: boolean;
|
|
1132
|
+
}>;
|
|
1133
|
+
endOtherSessions(): Promise<{
|
|
1134
|
+
ended: number;
|
|
1135
|
+
}>;
|
|
1136
|
+
private send;
|
|
1137
|
+
private request;
|
|
1138
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SpineAccountSecurityService, never>;
|
|
1139
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<SpineAccountSecurityService>;
|
|
1140
|
+
}
|
|
1141
|
+
/** Código de erro que o Argos devolveu (`{ error: 'invalid_code' }`), ou `''`. */
|
|
1142
|
+
declare function accountErrorCode(err: unknown): string;
|
|
1143
|
+
|
|
957
1144
|
/** Documento de uma tela que a pessoa logada pode abrir. */
|
|
958
1145
|
interface DocsEntry extends RouteDocument {
|
|
959
1146
|
/** Chave da tela (router_id ou, sem ele, o do template), sempre em minúsculas. */
|
|
@@ -1038,7 +1225,8 @@ declare class SpineDocsComponent {
|
|
|
1038
1225
|
|
|
1039
1226
|
/**
|
|
1040
1227
|
* Renderiza Markdown (GFM) como HTML com a tipografia do design system. O texto é tratado como dado:
|
|
1041
|
-
* o HTML gerado passa pelo DOMPurify
|
|
1228
|
+
* o HTML gerado passa pelo DOMPurify, com o perfil restrito do spine (`SPINE_MARKDOWN_PURIFY_CONFIG`: sem
|
|
1229
|
+
* `<style>`/`style`, formulários e `<iframe>`; link externo com `rel="noopener noreferrer"`), antes de chegar ao DOM.
|
|
1042
1230
|
*/
|
|
1043
1231
|
declare class SpineMarkdownComponent {
|
|
1044
1232
|
#private;
|
|
@@ -1049,6 +1237,19 @@ declare class SpineMarkdownComponent {
|
|
|
1049
1237
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SpineMarkdownComponent, "spine-markdown", never, { "content": { "alias": "content"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1050
1238
|
}
|
|
1051
1239
|
|
|
1052
|
-
|
|
1053
|
-
|
|
1240
|
+
/**
|
|
1241
|
+
* Perfil do DOMPurify para o Markdown do spine (documentação de tela, novidades). Mais restrito que o
|
|
1242
|
+
* padrão: o HTML entra no DOM do shell (sem shadow DOM), então
|
|
1243
|
+
* - `<style>` e o atributo `style` ficam de fora (CSS valeria para a página inteira: esconder/redesenhar a
|
|
1244
|
+
* UI, sobrepor um aviso falso com `position: fixed`, exfiltrar por seletor de atributo);
|
|
1245
|
+
* - formulário e controles (`<form>`, `<input>`, `<button>`, `<textarea>`, `<select>`) e `<iframe>` ficam de
|
|
1246
|
+
* fora (tela de login falsa dentro do conteúdo);
|
|
1247
|
+
* - link para outra origem abre em outra aba com `rel="noopener noreferrer"`.
|
|
1248
|
+
*/
|
|
1249
|
+
declare const SPINE_MARKDOWN_PURIFY_CONFIG: Config;
|
|
1250
|
+
/** HTML limpo pelo perfil do spine, ou `null` quando não há DOM (SSR: melhor não renderizar). */
|
|
1251
|
+
declare function sanitizeSpineMarkdownHtml(html: string): string | null;
|
|
1252
|
+
|
|
1253
|
+
export { AppLauncherComponent, HeaderComponent, LayoutComponent, OnboardingOverlayComponent, OnboardingService, SPINE_BRAND, SPINE_MARKDOWN_PURIFY_CONFIG, SPINE_SETTINGS_KEYS, SPINE_SETTINGS_SECTIONS, SettingsPanelComponent, ShortcutService, ShortcutsCheatsheetComponent, SidebarComponent, SpineAccountSecurityService, SpineAppTokensService, SpineBrandComponent, SpineConnectionBannerComponent, SpineDocsComponent, SpineDocsService, SpineMarkdownComponent, SpineNewsComponent, SpineNewsService, SpineSettingsService, accountErrorCode, argosAccountApi, findTourTarget, provideSettingsSection, sanitizeSpineMarkdownHtml };
|
|
1254
|
+
export type { AccountMethod, AccountOverview, AccountReauth, AccountSession, AppToken, AppTokenList, AppTokenOptions, CreatedAppToken, DocsEntry, DocsGroup, DocsView, OnboardingState, OnboardingStep, ShortcutActions, ShortcutGroup, ShortcutGroupId, ShortcutItem, SpineSettingsSection };
|
|
1054
1255
|
//# sourceMappingURL=trismegisto-spine-layout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trismegisto-spine-layout.d.ts","sources":["../../../projects/ui/layout/src/onboarding/onboarding.service.ts","../../../projects/ui/layout/src/news/news.service.ts","../../../projects/ui/layout/src/shortcuts/shortcut.service.ts","../../../projects/ui/layout/src/workspace/spine-workspace-nav.service.ts","../../../projects/ui/layout/src/layout.component.ts","../../../projects/ui/layout/src/header/header.component.ts","../../../projects/ui/layout/src/header/app-launcher.component.ts","../../../projects/ui/layout/src/header/brand.component.ts","../../../projects/ui/layout/src/brand.token.ts","../../../projects/ui/layout/src/sidebar/sidebar.component.ts","../../../projects/ui/layout/src/connection/connection-banner.component.ts","../../../projects/ui/layout/src/onboarding/onboarding-overlay.component.ts","../../../projects/ui/layout/src/shortcuts/shortcuts-cheatsheet.component.ts","../../../projects/ui/layout/src/settings/settings.service.ts","../../../projects/ui/layout/src/settings/settings-panel.component.ts","../../../projects/ui/layout/src/settings/app-tokens.service.ts","../../../projects/ui/layout/src/docs/docs.service.ts","../../../projects/ui/layout/src/news/news.component.ts","../../../projects/ui/layout/src/docs/docs-modal.component.ts","../../../projects/ui/layout/src/docs/markdown.component.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"trismegisto-spine-layout.d.ts","sources":["../../../projects/ui/layout/src/onboarding/onboarding.service.ts","../../../projects/ui/layout/src/news/news.service.ts","../../../projects/ui/layout/src/shortcuts/shortcut.service.ts","../../../projects/ui/layout/src/workspace/spine-workspace-nav.service.ts","../../../projects/ui/layout/src/layout.component.ts","../../../projects/ui/layout/src/header/header.component.ts","../../../projects/ui/layout/src/header/app-launcher.component.ts","../../../projects/ui/layout/src/header/brand.component.ts","../../../projects/ui/layout/src/brand.token.ts","../../../projects/ui/layout/src/sidebar/sidebar.component.ts","../../../projects/ui/layout/src/connection/connection-banner.component.ts","../../../projects/ui/layout/src/onboarding/onboarding-overlay.component.ts","../../../projects/ui/layout/src/shortcuts/shortcuts-cheatsheet.component.ts","../../../projects/ui/layout/src/settings/settings.service.ts","../../../projects/ui/layout/src/settings/settings-panel.component.ts","../../../projects/ui/layout/src/settings/app-tokens.service.ts","../../../projects/ui/layout/src/settings/account-security.service.ts","../../../projects/ui/layout/src/docs/docs.service.ts","../../../projects/ui/layout/src/news/news.component.ts","../../../projects/ui/layout/src/docs/docs-modal.component.ts","../../../projects/ui/layout/src/docs/markdown.component.ts","../../../projects/ui/layout/src/docs/markdown-sanitize.ts"],"mappings":"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","names":[]}
|
|
@@ -128,6 +128,7 @@ declare class BlockedComponent implements OnInit {
|
|
|
128
128
|
private readonly viewService;
|
|
129
129
|
constructor();
|
|
130
130
|
ngOnInit(): void;
|
|
131
|
+
private readonly userStorage;
|
|
131
132
|
protected logout(): void;
|
|
132
133
|
static ɵfac: i0.ɵɵFactoryDeclaration<BlockedComponent, never>;
|
|
133
134
|
static ɵcmp: i0.ɵɵComponentDeclaration<BlockedComponent, "blocked", never, {}, {}, never, never, true, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trismegisto-spine-shell.d.ts","sources":["../../../projects/ui/shell/src/app.routes.ts","../../../projects/ui/shell/src/public.routes.ts","../../../projects/ui/shell/src/private.routes.ts","../../../projects/ui/shell/src/base-components.ts","../../../projects/ui/shell/src/provide-shell.ts","../../../projects/ui/shell/src/public/callback.component.ts","../../../projects/ui/shell/src/public/login.component.ts","../../../projects/ui/shell/src/public/loggedout/loggedout.component.ts","../../../projects/ui/shell/src/templates/no-rights/no-rights.component.ts","../../../projects/ui/shell/src/templates/blocked/blocked.component.ts","../../../projects/ui/shell/src/templates/loading-page/loading-page.component.ts"],"mappings":";;;;;;;;AAMA,cAAa,UAAU,EAAE,MAUxB;;ACVD,cAAa,aAAa,EAAE,MAa3B;;ACfD;;;;;;;;;AASG;AACH,cAAa,cAAc,EAAE,MAO5B;;ACnBD;;;;;;;;;;AAUG;AACH,cAAa,eAAe,EAAE,cAAc;;UCP3B,YAAY;AAC3B,oBAAgB,cAAc;kBAChB,WAAW;AAC1B;AAED,iBAAgB,YAAY,WAAU,YAAiB,GAAG,oBAAoB;;ACF9E;;;;;;;;;;AAUG;AACH,cAoBa,iBAAiB;;;;;;;;;AAC6B;AACzD;AACA;AACA;;AAGA,+BAAyBA,EAAA,CAAA,cAAA;;AAEzB,mBAAe,OAAO;;;;yCATX,iBAAiB;2CAAjB,iBAAiB;AAuC7B;;AC3ED,cAMa,cAAe,YAAW,MAAM;AAEzC;AACA;AACA;wBAFgB,MAAM,QACR,oBAAoB,QACpB,WAAW;AAG3B;iBAEe,OAAA;;AAYf;yCArBW,cAAc;2CAAd,cAAc;AAgC1B;;ACtCD,cAOa,kBAAkB;AACjB;AAAQ,sCAAsB,oBAAoB;;yCADnD,kBAAkB;2CAAlB,kBAAkB;AAG9B;;ACRD,cAOa,iBAAkB,YAAW,MAAM;AAGlC;;;;;AAF4C;AAEpC,6BAAa,WAAW;AAK5C;yCARW,iBAAiB;2CAAjB,iBAAiB;AAe7B;;ACtBD;;;;;;;AAOG;AACH,cAkBa,gBAAiB,YAAW,MAAM;;;;;AACW;AACxD;AACA;;AAOA;;
|
|
1
|
+
{"version":3,"file":"trismegisto-spine-shell.d.ts","sources":["../../../projects/ui/shell/src/app.routes.ts","../../../projects/ui/shell/src/public.routes.ts","../../../projects/ui/shell/src/private.routes.ts","../../../projects/ui/shell/src/base-components.ts","../../../projects/ui/shell/src/provide-shell.ts","../../../projects/ui/shell/src/public/callback.component.ts","../../../projects/ui/shell/src/public/login.component.ts","../../../projects/ui/shell/src/public/loggedout/loggedout.component.ts","../../../projects/ui/shell/src/templates/no-rights/no-rights.component.ts","../../../projects/ui/shell/src/templates/blocked/blocked.component.ts","../../../projects/ui/shell/src/templates/loading-page/loading-page.component.ts"],"mappings":";;;;;;;;AAMA,cAAa,UAAU,EAAE,MAUxB;;ACVD,cAAa,aAAa,EAAE,MAa3B;;ACfD;;;;;;;;;AASG;AACH,cAAa,cAAc,EAAE,MAO5B;;ACnBD;;;;;;;;;;AAUG;AACH,cAAa,eAAe,EAAE,cAAc;;UCP3B,YAAY;AAC3B,oBAAgB,cAAc;kBAChB,WAAW;AAC1B;AAED,iBAAgB,YAAY,WAAU,YAAiB,GAAG,oBAAoB;;ACF9E;;;;;;;;;;AAUG;AACH,cAoBa,iBAAiB;;;;;;;;;AAC6B;AACzD;AACA;AACA;;AAGA,+BAAyBA,EAAA,CAAA,cAAA;;AAEzB,mBAAe,OAAO;;;;yCATX,iBAAiB;2CAAjB,iBAAiB;AAuC7B;;AC3ED,cAMa,cAAe,YAAW,MAAM;AAEzC;AACA;AACA;wBAFgB,MAAM,QACR,oBAAoB,QACpB,WAAW;AAG3B;iBAEe,OAAA;;AAYf;yCArBW,cAAc;2CAAd,cAAc;AAgC1B;;ACtCD,cAOa,kBAAkB;AACjB;AAAQ,sCAAsB,oBAAoB;;yCADnD,kBAAkB;2CAAlB,kBAAkB;AAG9B;;ACRD,cAOa,iBAAkB,YAAW,MAAM;AAGlC;;;;;AAF4C;AAEpC,6BAAa,WAAW;AAK5C;yCARW,iBAAiB;2CAAjB,iBAAiB;AAe7B;;ACtBD;;;;;;;AAOG;AACH,cAkBa,gBAAiB,YAAW,MAAM;;;;;AACW;AACxD;AACA;;AAOA;AAMA;;yCAhBW,gBAAgB;2CAAhB,gBAAgB;AAsB5B;;ACpDD,cAOa,oBAAoB;yCAApB,oBAAoB;2CAApB,oBAAoB;AAAG;;","names":["_angular_core"]}
|