@trismegisto/spine 2.0.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/LICENSE +56 -0
- package/README.md +207 -0
- package/fesm2022/trismegisto-spine-audit.mjs +1299 -0
- package/fesm2022/trismegisto-spine-audit.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service-auto-service-audit.component-CCiz-q8o.mjs +37 -0
- package/fesm2022/trismegisto-spine-auto-service-auto-service-audit.component-CCiz-q8o.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service-auto-service-client-picker.component-Z0wCANF6.mjs +51 -0
- package/fesm2022/trismegisto-spine-auto-service-auto-service-client-picker.component-Z0wCANF6.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service-auto-service-client.component-BYkUOwWL.mjs +595 -0
- package/fesm2022/trismegisto-spine-auto-service-auto-service-client.component-BYkUOwWL.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service-auto-service-groups.component-CqIVe2LU.mjs +357 -0
- package/fesm2022/trismegisto-spine-auto-service-auto-service-groups.component-CqIVe2LU.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service-auto-service.component-B5tyJ2zY.mjs +477 -0
- package/fesm2022/trismegisto-spine-auto-service-auto-service.component-B5tyJ2zY.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service-home.component-vl3BPFnk.mjs +238 -0
- package/fesm2022/trismegisto-spine-auto-service-home.component-vl3BPFnk.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-auto-service.mjs +154 -0
- package/fesm2022/trismegisto-spine-auto-service.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-graphql.mjs +347 -0
- package/fesm2022/trismegisto-spine-graphql.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-layout.mjs +2848 -0
- package/fesm2022/trismegisto-spine-layout.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-modal.mjs +141 -0
- package/fesm2022/trismegisto-spine-modal.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-notification.mjs +122 -0
- package/fesm2022/trismegisto-spine-notification.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-routing.mjs +398 -0
- package/fesm2022/trismegisto-spine-routing.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-shell.mjs +409 -0
- package/fesm2022/trismegisto-spine-shell.mjs.map +1 -0
- package/fesm2022/trismegisto-spine-side-panel.mjs +142 -0
- package/fesm2022/trismegisto-spine-side-panel.mjs.map +1 -0
- package/fesm2022/trismegisto-spine.mjs +2574 -0
- package/fesm2022/trismegisto-spine.mjs.map +1 -0
- package/package.json +94 -0
- package/types/trismegisto-spine-audit.d.ts +948 -0
- package/types/trismegisto-spine-audit.d.ts.map +1 -0
- package/types/trismegisto-spine-auto-service.d.ts +110 -0
- package/types/trismegisto-spine-auto-service.d.ts.map +1 -0
- package/types/trismegisto-spine-graphql.d.ts +72 -0
- package/types/trismegisto-spine-graphql.d.ts.map +1 -0
- package/types/trismegisto-spine-layout.d.ts +1054 -0
- package/types/trismegisto-spine-layout.d.ts.map +1 -0
- package/types/trismegisto-spine-modal.d.ts +68 -0
- package/types/trismegisto-spine-modal.d.ts.map +1 -0
- package/types/trismegisto-spine-notification.d.ts +62 -0
- package/types/trismegisto-spine-notification.d.ts.map +1 -0
- package/types/trismegisto-spine-routing.d.ts +205 -0
- package/types/trismegisto-spine-routing.d.ts.map +1 -0
- package/types/trismegisto-spine-shell.d.ts +143 -0
- package/types/trismegisto-spine-shell.d.ts.map +1 -0
- package/types/trismegisto-spine-side-panel.d.ts +66 -0
- package/types/trismegisto-spine-side-panel.d.ts.map +1 -0
- package/types/trismegisto-spine.d.ts +1161 -0
- package/types/trismegisto-spine.d.ts.map +1 -0
|
@@ -0,0 +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":"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","names":[]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Type, OnInit, ChangeDetectorRef } from '@angular/core';
|
|
3
|
+
import { HermesLoadingState, ModalSize } from '@trismegisto/angular';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
|
|
6
|
+
interface ModalConfig<TData = any> {
|
|
7
|
+
title?: string;
|
|
8
|
+
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
9
|
+
closable?: boolean;
|
|
10
|
+
text?: string;
|
|
11
|
+
component?: Type<ModalContent>;
|
|
12
|
+
data?: TData;
|
|
13
|
+
showActions?: boolean;
|
|
14
|
+
}
|
|
15
|
+
interface ModalContent<TResult = any> {
|
|
16
|
+
getResult(): TResult;
|
|
17
|
+
isValid?(): boolean;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
declare class ModalService {
|
|
21
|
+
private _visible;
|
|
22
|
+
readonly visible$: Observable<boolean>;
|
|
23
|
+
private _state;
|
|
24
|
+
readonly state$: Observable<HermesLoadingState>;
|
|
25
|
+
private _config;
|
|
26
|
+
get config(): ModalConfig | null;
|
|
27
|
+
private _result$;
|
|
28
|
+
open<TResult = any, TData = any>(config: ModalConfig<TData>): Observable<TResult | null>;
|
|
29
|
+
confirm(result: any): void;
|
|
30
|
+
close(): void;
|
|
31
|
+
setState(state: HermesLoadingState): void;
|
|
32
|
+
private dismiss;
|
|
33
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ModalService, never>;
|
|
34
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ModalService>;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** `ModalConfig.size` manteve os valores do spine antigo (sm/md/lg/xl) por compatibilidade
|
|
38
|
+
* de API com quem já chama `modalService.open(...)`; o DS novo só tem 3 tamanhos. */
|
|
39
|
+
declare function toHermesSize(size: ModalConfig['size']): ModalSize;
|
|
40
|
+
declare class ModalComponent implements OnInit {
|
|
41
|
+
private modalService;
|
|
42
|
+
private cdr;
|
|
43
|
+
/** Rótulos dos botões padrão, do catálogo do Hermes (pt-BR/en/es). */
|
|
44
|
+
protected readonly dialogText: {
|
|
45
|
+
confirm: string;
|
|
46
|
+
cancel: string;
|
|
47
|
+
};
|
|
48
|
+
private content;
|
|
49
|
+
visible: boolean;
|
|
50
|
+
config: ModalConfig | null;
|
|
51
|
+
state: HermesLoadingState;
|
|
52
|
+
protected readonly HermesLoadingState: typeof HermesLoadingState;
|
|
53
|
+
protected readonly toHermesSize: typeof toHermesSize;
|
|
54
|
+
private contentRef;
|
|
55
|
+
constructor(modalService: ModalService, cdr: ChangeDetectorRef);
|
|
56
|
+
ngOnInit(): void;
|
|
57
|
+
get canConfirm(): boolean;
|
|
58
|
+
private loadComponent;
|
|
59
|
+
confirm(): void;
|
|
60
|
+
dismiss(): void;
|
|
61
|
+
onLoadingStateChange(state: HermesLoadingState): void;
|
|
62
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ModalComponent, never>;
|
|
63
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ModalComponent, "spine-modal", never, {}, {}, never, never, true, never>;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export { ModalComponent, ModalService };
|
|
67
|
+
export type { ModalConfig, ModalContent };
|
|
68
|
+
//# sourceMappingURL=trismegisto-spine-modal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trismegisto-spine-modal.d.ts","sources":["../../../projects/ui/modal/src/modal.types.ts","../../../projects/ui/modal/src/modal.service.ts","../../../projects/ui/modal/src/modal.component.ts"],"mappings":";;;;;AAEM,UAAW,WAAW;;;;;AAK1B,gBAAY,IAAI,CAAC,YAAY;;;AAG9B;AAEK,UAAW,YAAY;;;AAG5B;;ACTD,cACa,YAAY;;AAEvB,uBAA0B,UAAU;;AAGpC,qBAAwB,UAAU,CAAC,kBAAkB;;AAGrD,kBAAqB,WAAW;;6CAMS,WAAW,UAAU,UAAU;AAYxE;AAMA;AAMA,oBAAgB,kBAAkB;AAIlC;yCA1CW,YAAY;6CAAZ,YAAY;AAgDxB;;ACjDD;AACqF;AACrF,iBAAS,YAAY,OAAO,WAAW,WAAW,SAAS;AAS3D,cAMa,cAAe,YAAW,MAAM;AAe/B;AAAoC;;;;;AAbe;;AAI/D;AACA,YAAQ,WAAW;WACZ,kBAAkB;AAEzB,kDAAqC,kBAAA;AACrC,4CAA+B,YAAA;;AAIX,8BAAc,YAAY,OAAe,iBAAiB;AAE9E;;AAwBA;AAUA;AAMA;AAIA,gCAA4B,kBAAkB;yCA7DnC,cAAc;2CAAd,cAAc;AAgE1B;;","names":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { OnInit, ChangeDetectorRef } from '@angular/core';
|
|
4
|
+
import { AlertVariant } from '@trismegisto/angular';
|
|
5
|
+
|
|
6
|
+
declare enum AlertType {
|
|
7
|
+
INFO = "info",
|
|
8
|
+
WARNING = "warning",
|
|
9
|
+
SUCCESS = "success",
|
|
10
|
+
DANGER = "danger"
|
|
11
|
+
}
|
|
12
|
+
interface Notification {
|
|
13
|
+
timer: number;
|
|
14
|
+
expirer?: number;
|
|
15
|
+
hermesAlertType: AlertType;
|
|
16
|
+
message: string;
|
|
17
|
+
hermesAlertAppLevel?: boolean;
|
|
18
|
+
hermesAlertClosable?: boolean;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
type NotificationInput = Omit<Notification, 'hermesAlertType' | 'expirer'> & {
|
|
22
|
+
hermesAlertType: AlertType | number;
|
|
23
|
+
};
|
|
24
|
+
declare class NotificationService {
|
|
25
|
+
private readonly text;
|
|
26
|
+
private _notifications;
|
|
27
|
+
readonly notifications$: Observable<Notification[]>;
|
|
28
|
+
/** Relógio da expiração: só corre enquanto há notificação na tela (antes era um `setInterval` eterno,
|
|
29
|
+
* nunca limpo — acordava a página a cada segundo e sobrevivia ao injetor). */
|
|
30
|
+
private timer;
|
|
31
|
+
constructor();
|
|
32
|
+
/**
|
|
33
|
+
* O `status` do envelope `{ status, message, data }` dos GraphQL decide o tipo do toast — o mesmo
|
|
34
|
+
* contrato em todo app: 2xx sucesso, 3xx atenção (concluiu com ressalva), 4xx/5xx erro, o resto
|
|
35
|
+
* informação. Por faixa (antes era só 200/300/400/500 exatos — continuam dando o mesmo resultado).
|
|
36
|
+
*/
|
|
37
|
+
resolveAlertType(status: number): AlertType;
|
|
38
|
+
addNotification(notification: NotificationInput): void;
|
|
39
|
+
processErrorNotification(): void;
|
|
40
|
+
private expireNotifications;
|
|
41
|
+
private stopClock;
|
|
42
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationService, never>;
|
|
43
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<NotificationService>;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/** `AlertType.DANGER` (nome do spine antigo, preservado na API pública) mapeia pra `'error'`
|
|
47
|
+
* no `AlertVariant` do DS novo — os outros 3 valores já coincidem 1:1. */
|
|
48
|
+
declare function toAlertVariant(type: AlertType): AlertVariant;
|
|
49
|
+
declare class NotificationComponent implements OnInit {
|
|
50
|
+
notificationService: NotificationService;
|
|
51
|
+
private cdr;
|
|
52
|
+
notifications: Notification[];
|
|
53
|
+
protected readonly toAlertVariant: typeof toAlertVariant;
|
|
54
|
+
constructor(notificationService: NotificationService, cdr: ChangeDetectorRef);
|
|
55
|
+
ngOnInit(): void;
|
|
56
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NotificationComponent, never>;
|
|
57
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NotificationComponent, "spine-notification", never, {}, {}, never, never, true, never>;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export { AlertType, NotificationComponent, NotificationService };
|
|
61
|
+
export type { Notification, NotificationInput };
|
|
62
|
+
//# sourceMappingURL=trismegisto-spine-notification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trismegisto-spine-notification.d.ts","sources":["../../../projects/ui/notification/src/notification.types.ts","../../../projects/ui/notification/src/notification.service.ts","../../../projects/ui/notification/src/notification.component.ts"],"mappings":";;;;;AAAA,aAAY,SAAS;AACnB;AACA;AACA;AACA;AACD;UAEgB,YAAY;;;qBAGV,SAAS;;;;AAI3B;;ACRK,KAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY;AAC/C,qBAAiB,SAAS;;AAG5B,cACa,mBAAmB;AAC9B;;AAEA,6BAAgC,UAAU,CAAC,YAAY;AAEvD;AAC+E;;;AAO/E;;;;AAIG;AACH,sCAAkC,SAAS;AAO3C,kCAA8B,iBAAiB;AAa/C;AASA;AASA;yCAxDW,mBAAmB;6CAAnB,mBAAmB;AA4D/B;;ACjED;AAC0E;AAC1E,iBAAS,cAAc,OAAO,SAAS,GAAG,YAAY;AAItD,cAOa,qBAAsB,YAAW,MAAM;AAK/B,yBAAqB,mBAAmB;AAAE;mBAJ9C,YAAY;AAE3B,8CAAiC,cAAA;AAEd,qCAAqB,mBAAmB,OAAe,iBAAiB;AAE3F;yCAPW,qBAAqB;2CAArB,qBAAqB;AAajC;;","names":[]}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { Route } from '@trismegisto/spine';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { InjectionToken, Type } from '@angular/core';
|
|
4
|
+
import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';
|
|
5
|
+
import { Observable } from 'rxjs';
|
|
6
|
+
import { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot, Route as Route$1 } from '@angular/router';
|
|
7
|
+
import { ViewService, AuthorizationService } from '@orfeu/angular/core';
|
|
8
|
+
|
|
9
|
+
declare class LoggerService {
|
|
10
|
+
private _logger;
|
|
11
|
+
get logger(): Route[];
|
|
12
|
+
setLogger(logger: Route[]): void;
|
|
13
|
+
/** A página atual (último nó da cadeia do painel focado). */
|
|
14
|
+
get page(): Route | null;
|
|
15
|
+
/** `router_id` da página atual -- a identidade da TELA no spine (componente, documento, descrição). */
|
|
16
|
+
get routerId(): string | null;
|
|
17
|
+
/**
|
|
18
|
+
* A ROTA da página atual (`web.routes.route_id`, o `routed_id` do nó) -- o que vai em `x-route-id`
|
|
19
|
+
* e vira `audit.events.route_id`/`route_name`. Só quando o último nó é uma página de verdade (tem
|
|
20
|
+
* router): grupo puramente organizacional não é tela. Antes de 2026-10-05 ia o router_id aqui, e a
|
|
21
|
+
* auditoria não achava o nome (o argos-auth-server ainda traduz router_id → rota, por compatibilidade).
|
|
22
|
+
*/
|
|
23
|
+
get routeId(): string | null;
|
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LoggerService, never>;
|
|
25
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<LoggerService>;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** Must match `@orfeu/node`/`orfeu` (Python)'s `ROUTE_ID_HEADER` (`x-route-id`). */
|
|
29
|
+
declare const ROUTE_ID_HEADER = "X-Route-Id";
|
|
30
|
+
/** Must match `@orfeu/node`/`orfeu` (Python)'s `CLIENT_ID_HEADER` (`x-client-id`): which app (client) the action came from. */
|
|
31
|
+
declare const CLIENT_ID_HEADER = "X-Client-Id";
|
|
32
|
+
/**
|
|
33
|
+
* Attaches the current screen's ROUTE id — `web.routes.route_id` of the page node (`routed_id`), NOT the
|
|
34
|
+
* `router_id` the spine uses to identify the screen (see `LoggerService.routeId`) — and the app's `clientId`
|
|
35
|
+
* from `SpineConfig` as headers on every outgoing HTTP
|
|
36
|
+
* request, read from `LoggerService` (updated by `ViewGuard` on every
|
|
37
|
+
* navigation — see view.guard.ts). This is a caller-supplied correlation tag
|
|
38
|
+
* consumed by Orfeu's structured operation logs to correlate an
|
|
39
|
+
* operation_id with the route that triggered it; it is never verified
|
|
40
|
+
* server-side and never used for permission checks.
|
|
41
|
+
*
|
|
42
|
+
* Applied globally (registered once by `provideShell`, not per-service) so
|
|
43
|
+
* every app gets the correlation for free — an extra header a third-party
|
|
44
|
+
* API doesn't recognize is harmless, so there's no need to scope this to
|
|
45
|
+
* only Orfeu-guarded backends.
|
|
46
|
+
*/
|
|
47
|
+
declare class RouteIdInterceptor implements HttpInterceptor {
|
|
48
|
+
private loggerService;
|
|
49
|
+
private readonly clientId;
|
|
50
|
+
constructor(loggerService: LoggerService);
|
|
51
|
+
intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
|
|
52
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RouteIdInterceptor, never>;
|
|
53
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<RouteIdInterceptor>;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Gate de navegação REAL (deep link, F5, `router.navigateByUrl` do painel focado — ver
|
|
58
|
+
* `SpineWorkspaceNavService`). Não desenha mais nada nem alimenta breadcrumb/sidebar: isso agora
|
|
59
|
+
* é responsabilidade de cada painel do workspace (`resolveSpineRoute`, chamado direto por quem
|
|
60
|
+
* precisa da cadeia). O guard só confirma que a URL resolve contra a view atual — senão redireciona
|
|
61
|
+
* pro fallback navegável ou pra `/no-permission` — e existe numa única rota coringa (ver
|
|
62
|
+
* `private.routes.ts`), não mais em 6 níveis de rota aninhada.
|
|
63
|
+
*
|
|
64
|
+
* Duas saídas de acesso, nesta ordem:
|
|
65
|
+
* - **`/blocked`** — autenticado, mas sem nenhum grupo vinculado a esta aplicação (o token sai
|
|
66
|
+
* com `badges` vazio: o argos só dá crachá por grupo do project do client). Vale mesmo que o
|
|
67
|
+
* app tenha rotas públicas: quem não é de nenhum grupo do app não entra nele;
|
|
68
|
+
* - **`/no-permission`** — tem grupo, mas a view não trouxe rota nenhuma (os grupos não têm
|
|
69
|
+
* permissão e o app não tem rota pública).
|
|
70
|
+
*/
|
|
71
|
+
declare class ViewGuard implements CanActivate {
|
|
72
|
+
private router;
|
|
73
|
+
private viewService;
|
|
74
|
+
private auth;
|
|
75
|
+
constructor(router: Router, viewService: ViewService, auth: AuthorizationService);
|
|
76
|
+
canActivate(_route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean;
|
|
77
|
+
canActivateChild(_route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean;
|
|
78
|
+
canLoad(route: Route$1): boolean;
|
|
79
|
+
private checkRoute;
|
|
80
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ViewGuard, never>;
|
|
81
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ViewGuard>;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Manual de uma tela, declarado no `document` da própria `ComponentRoute` (mesma chave, o router_id).
|
|
86
|
+
* Os textos são Markdown buscado só quando alguém abre a documentação: nos apps, um `import()` do `.md`
|
|
87
|
+
* com o loader `text`, de modo que o conteúdo vai no chunk lazy da tela e não no carregamento inicial.
|
|
88
|
+
*/
|
|
89
|
+
interface RouteDocument {
|
|
90
|
+
/** Nome da tela no índice da documentação; se faltar, usa-se o rótulo da rota na árvore do usuário. */
|
|
91
|
+
title?: string;
|
|
92
|
+
/** Seção do índice em que a tela aparece; se faltar, usa-se o módulo de topo que a contém. */
|
|
93
|
+
group?: string;
|
|
94
|
+
/** Texto para quem usa a tela no dia a dia (normalmente o `README.md` dela). */
|
|
95
|
+
load: () => Promise<string>;
|
|
96
|
+
/**
|
|
97
|
+
* Especificação técnica, para desenvolvimento (normalmente o `ESPECIFICACAO.md`). Só aparece com
|
|
98
|
+
* `SpineConfig.technicalDocs` ativo — por padrão, apenas em `isDevMode()`.
|
|
99
|
+
*/
|
|
100
|
+
loadTechnical?: () => Promise<string>;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Uma tela do app. A chave é o ROUTER (`web.router.router_id` do client -- a posição da tela na
|
|
104
|
+
* navegação, o `router_id` do nó 'page' da view), nunca o `web.routes.route_id` (a rota é só
|
|
105
|
+
* nome/ícone/path, reaproveitável em vários routers). Tela de template (ex.: auto-serviço) usa
|
|
106
|
+
* `source_template_router_id` -- o router do TEMPLATE, igual em todos os clients vinculados.
|
|
107
|
+
*/
|
|
108
|
+
interface ComponentRoute {
|
|
109
|
+
/** `router_id` (web.router do client) da tela. */
|
|
110
|
+
id?: string;
|
|
111
|
+
/** Componente da tela, via `import()` dinâmico (code-splitting por tela). */
|
|
112
|
+
load?: () => Promise<Type<any>>;
|
|
113
|
+
/** Documentação da tela, exibida pelo botão de documentação da barra da página. */
|
|
114
|
+
document?: RouteDocument;
|
|
115
|
+
/** @deprecated use `id`. Mantido para os mapas antigos (o valor sempre foi o router_id); `id` vence
|
|
116
|
+
* quando os dois vêm. */
|
|
117
|
+
route_id?: string;
|
|
118
|
+
/** @deprecated use `load`. */
|
|
119
|
+
component?: () => Promise<Type<any>>;
|
|
120
|
+
source_template_router_id?: string;
|
|
121
|
+
}
|
|
122
|
+
/** `id` (router_id) da entrada, aceitando o formato antigo (`route_id`). */
|
|
123
|
+
declare function componentRouterId(route: ComponentRoute): string | undefined;
|
|
124
|
+
/** @deprecated use `componentRouterId` (o id da entrada é o router_id da tela). */
|
|
125
|
+
declare const componentRouteId: typeof componentRouterId;
|
|
126
|
+
/** Carregador da entrada, aceitando o formato antigo (`component`). */
|
|
127
|
+
declare function componentRouteLoader(route: ComponentRoute): (() => Promise<Type<any>>) | undefined;
|
|
128
|
+
declare const COMPONENT_ROUTES: InjectionToken<ComponentRoute[]>;
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* O import dinâmico falhou porque o arquivo da tela não existe mais no servidor — saiu um build novo
|
|
132
|
+
* enquanto a aba estava aberta e os chunks antigos foram trocados. Mensagens dos navegadores:
|
|
133
|
+
* Chrome/Edge "Failed to fetch dynamically imported module", Firefox "error loading dynamically
|
|
134
|
+
* imported module", Safari "Importing a module script failed", webpack "Loading chunk N failed" /
|
|
135
|
+
* `ChunkLoadError`.
|
|
136
|
+
*/
|
|
137
|
+
declare function isChunkLoadError(err: unknown): boolean;
|
|
138
|
+
declare class ComponentDistributorService {
|
|
139
|
+
private components;
|
|
140
|
+
/**
|
|
141
|
+
* `router_id` da última falha (sem entrada registrada ou import quebrado) — lido por
|
|
142
|
+
* `NoContentComponent` pra montar a descrição (ver comentário dela). Sinal só, não por
|
|
143
|
+
* instância: se dois painéis erram ao mesmo tempo, o texto de um pode piscar o código do
|
|
144
|
+
* outro por um instante — aceitável, é só o que a mensagem de suporte mostra, nenhuma decisão
|
|
145
|
+
* de roteamento depende disto.
|
|
146
|
+
*/
|
|
147
|
+
readonly lastMissingRouterId: i0.WritableSignal<string>;
|
|
148
|
+
/** @deprecated use `lastMissingRouterId` (sempre foi o router_id). */
|
|
149
|
+
get lastMissingRouteId(): i0.WritableSignal<string>;
|
|
150
|
+
constructor(routes: ComponentRoute[][] | null);
|
|
151
|
+
/** Todas as entradas registradas (app + pacotes plugáveis) -- lidas pela documentação. */
|
|
152
|
+
get entries(): readonly ComponentRoute[];
|
|
153
|
+
getComponent(routerId: string, source_template_router_id?: string | null): Promise<Type<any>>;
|
|
154
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ComponentDistributorService, [{ optional: true; }]>;
|
|
155
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ComponentDistributorService>;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Lógica pura de resolução da árvore de rotas vinda do backend (`ViewService.currentView`) —
|
|
160
|
+
* compartilhada entre `ViewGuard` (gate de navegação real) e `resolveSpineRoute` (resolução por
|
|
161
|
+
* painel do workspace, sem depender do `Router`). Extraída daqui porque as duas precisavam do
|
|
162
|
+
* mesmo algoritmo de busca e tinham cópias divergentes antes desta reescrita.
|
|
163
|
+
*/
|
|
164
|
+
/** Acha uma rota cujo `route_redirect` bate com `urlAtLevel`, atravessando ancestrais
|
|
165
|
+
* "transparentes" (sem `route_redirect` próprio — só agrupam os filhos). */
|
|
166
|
+
declare function findRouteThrough(routes: Route[], urlAtLevel: string): Route | null;
|
|
167
|
+
/** Primeira rota navegável (DFS), atravessando grupos transparentes — usada como fallback
|
|
168
|
+
* quando a URL alvo não bate com nada na view atual. */
|
|
169
|
+
declare function findFirstNavigable(routes: Route[]): string | null;
|
|
170
|
+
/**
|
|
171
|
+
* Resolve a cadeia INTEIRA de rotas (header→navigation→menu→item→submenu→page, até onde a URL
|
|
172
|
+
* for funda) pra uma URL qualquer, lendo só `currentRoutes`/`getLevel`/`getUrlAtLevel` — as
|
|
173
|
+
* mesmas três primitivas que `ViewGuard` já usava, sem tocar no `Router`. `chain[0]` é o nível 1
|
|
174
|
+
* (header), não existe nível 0 — mantém a mesma convenção 1-based do `ViewGuard` original.
|
|
175
|
+
*/
|
|
176
|
+
declare function resolveRouteChain(currentRoutes: Route[], getLevel: (url: string) => number, getUrlAtLevel: (url: string, level: number) => string, url: string): Route[] | null;
|
|
177
|
+
/**
|
|
178
|
+
* `resolveRouteChain`, mas descendo sozinho quando o nó final tem filhos e nenhum conteúdo
|
|
179
|
+
* próprio — o mesmo comportamento que o `RouterComponent` antigo tinha (cada nível, ao pousar
|
|
180
|
+
* numa rota com `routes.length > 0`, `router.navigate([routes[0].route_redirect])`), perdido na
|
|
181
|
+
* reescrita porque não existe mais uma cadeia de guardas por nível. Sem isto, clicar num nó
|
|
182
|
+
* puramente organizacional (ex.: "Solicitações", que só agrupa Configuração/Inventário/etc. e não
|
|
183
|
+
* tem `route_id` de página nenhuma) cai em "Nenhum conteúdo disponível" — achado real, 2026-09-28.
|
|
184
|
+
*/
|
|
185
|
+
declare function resolveEffectiveRouteChain(currentRoutes: Route[], getLevel: (url: string) => number, getUrlAtLevel: (url: string, level: number) => string, url: string): Route[] | null;
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Traduz uma URL na cadeia de rotas do backend (header→navigation→menu→item→submenu→page) e no
|
|
189
|
+
* componente da folha — sem passar pelo `Router` do Angular. É o que torna o painel do workspace
|
|
190
|
+
* possível — o `Router` tem uma URL só; um painel não-focado precisa resolver a dele de forma
|
|
191
|
+
* independente. Anda-se na árvore `Route[]` que o backend manda (`ViewService.currentView`), a
|
|
192
|
+
* mesma que `ViewGuard` lia.
|
|
193
|
+
*/
|
|
194
|
+
interface ResolvedSpineRoute {
|
|
195
|
+
/** A cadeia inteira, nível 1 (header) até onde a URL alcançar. `chain.at(-1)` é sempre o nível
|
|
196
|
+
* 'page' — é dele que `component` vem. Níveis intermediários (`item`/`submenu`) com mais de um
|
|
197
|
+
* irmão são o que vira aba de submenu/multipágina no painel. */
|
|
198
|
+
readonly chain: Route[];
|
|
199
|
+
readonly component: Type<unknown>;
|
|
200
|
+
}
|
|
201
|
+
declare function resolveSpineRoute(currentRoutes: Route[], getLevel: (url: string) => number, getUrlAtLevel: (url: string, level: number) => string, distributor: ComponentDistributorService, url: string): Promise<ResolvedSpineRoute | null>;
|
|
202
|
+
|
|
203
|
+
export { CLIENT_ID_HEADER, COMPONENT_ROUTES, ComponentDistributorService, LoggerService, ROUTE_ID_HEADER, RouteIdInterceptor, ViewGuard, componentRouteId, componentRouteLoader, componentRouterId, findFirstNavigable, findRouteThrough, isChunkLoadError, resolveEffectiveRouteChain, resolveRouteChain, resolveSpineRoute };
|
|
204
|
+
export type { ComponentRoute, ResolvedSpineRoute, RouteDocument };
|
|
205
|
+
//# sourceMappingURL=trismegisto-spine-routing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trismegisto-spine-routing.d.ts","sources":["../../../projects/ui/routing/src/logger.service.ts","../../../projects/ui/routing/src/route-id.interceptor.ts","../../../projects/ui/routing/src/view.guard.ts","../../../projects/ui/routing/src/component-routes.token.ts","../../../projects/ui/routing/src/component-distributor.service.ts","../../../projects/ui/routing/src/route-chain.ts","../../../projects/ui/routing/src/resolve-route.ts"],"mappings":";;;;;;;;AAIA,cACa,aAAa;;AAIxB,kBAAc,KAAK;AAEnB,sBAAkB,KAAK;;AAGvB,gBAAY,KAAK;;AAMjB;AAIA;;;;;AAKG;AACH;yCAzBW,aAAa;6CAAb,aAAa;AA6BzB;;AC5BD;AACA,cAAa,eAAe;AAC5B;AACA,cAAa,gBAAgB;AAE7B;;;;;;;;;;;;;;AAcG;AACH,cACa,kBAAmB,YAAW,eAAe;AAG5C;AAFZ;AAEoB,+BAAe,aAAa;AAEhD,mBAAe,WAAW,iBAAiB,WAAW,GAAG,UAAU,CAAC,SAAS;yCALlE,kBAAkB;6CAAlB,kBAAkB;AAe9B;;ACpCD;;;;;;;;;;;;;;AAcG;AACH,cACa,SAAU,YAAW,WAAW;AAEzC;AACA;AACA;wBAFgB,MAAM,eACD,WAAW,QAClB,oBAAoB;wBAGhB,sBAAsB,SAAS,mBAAmB;6BAI7C,sBAAsB,SAAS,mBAAmB;AAI3E,mBAAeA,OAAO;AAItB;yCAnBW,SAAS;6CAAT,SAAS;AAgErB;;ACpFD;;;;AAIG;UACc,aAAa;;;;;;AAM5B,gBAAY,OAAO;AACnB;;;AAGG;AACH,0BAAsB,OAAO;AAC9B;AAED;;;;;AAKG;UACc,cAAc;;;;iBAIhB,OAAO,CAAC,IAAI;;eAEd,aAAa;AAExB;AAC0B;;;sBAGR,OAAO,CAAC,IAAI;;AAO/B;AAED;AACA,iBAAgB,iBAAiB,QAAQ,cAAc;AAIvD;AACA,cAAa,gBAAgB,SAAA,iBAAoB;AAEjD;AACA,iBAAgB,oBAAoB,QAAQ,cAAc,UAAU,OAAO,CAAC,IAAI;AAOhF,cAAa,gBAAgB,EAAA,cAAA,CAAA,cAAA;;ACpB7B;;;;;;AAMG;AACH,iBAAgB,gBAAgB;AAyBhC,cACa,2BAA2B;;AAItC;;;;;;AAMG;kCACyBC,EAAA,CAAA,cAAA;;AAG5B,8BAAsBA,EAAA,CAAA,cAAA;AAO4B,wBAAQ,cAAc;;AAKxE,4BAAwB,cAAc;AAShC,+EAA2E,OAAO,CAAC,IAAI;yCAnClF,2BAA2B;6CAA3B,2BAA2B;AA2DvC;;ACtID;;;;;AAKG;AAEH;AAC6E;AAC7E,iBAAgB,gBAAgB,SAAS,KAAK,yBAAyB,KAAK;AAY5E;AACyD;AACzD,iBAAgB,kBAAkB,SAAS,KAAK;AAYhD;;;;;AAKG;AACH,iBAAgB,iBAAiB,gBAChB,KAAK,4GAInB,KAAK;AAqBR;;;;;;;AAOG;AACH,iBAAgB,0BAA0B,gBACzB,KAAK,4GAInB,KAAK;;AC7ER;;;;;;AAMG;UACc,kBAAkB;AACjC;;AAEiE;AACjE,oBAAgB,KAAK;AACrB,wBAAoB,IAAI;AACzB;AAED,iBAAsB,iBAAiB,gBACtB,KAAK,2GAGP,2BAA2B,gBAEvC,OAAO,CAAC,kBAAkB;;","names":["NgRoute","_angular_core"]}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { PackageInfo } from '@trismegisto/spine';
|
|
2
|
+
export { APP_PACKAGE_INFO, PackageInfo } from '@trismegisto/spine';
|
|
3
|
+
import { Routes, Router } from '@angular/router';
|
|
4
|
+
import { ComponentRoute } from '@trismegisto/spine/routing';
|
|
5
|
+
import * as i0 from '@angular/core';
|
|
6
|
+
import { EnvironmentProviders, OnInit } from '@angular/core';
|
|
7
|
+
import { AuthorizationService, ViewService } from '@orfeu/angular/core';
|
|
8
|
+
|
|
9
|
+
declare const APP_ROUTES: Routes;
|
|
10
|
+
|
|
11
|
+
declare const PUBLIC_ROUTES: Routes;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Quem desenha o conteúdo agora é o `hm-workspace` (ver `LayoutComponent`/
|
|
15
|
+
* `layout/src/workspace/`), nunca um `<router-outlet>` aninhado — a árvore de 6 níveis
|
|
16
|
+
* (header/navigation/menu/item/submenu/page) que existia aqui foi substituída por
|
|
17
|
+
* `resolveSpineRoute`, chamada por painel. Estas rotas só precisam existir pro `Router` real
|
|
18
|
+
* "reconhecer" a URL (deep link, F5, `router.navigateByUrl` do painel focado) e pro `ViewGuard`
|
|
19
|
+
* confirmar que ela resolve contra a view atual antes do painel tentar renderizá-la — `component`
|
|
20
|
+
* é só `EmptyRouteComponent` (o Angular exige um dos cinco em toda rota, `NG04014` senão; o
|
|
21
|
+
* `<router-outlet>` que o recebe fica escondido, ver `LayoutComponent`).
|
|
22
|
+
*/
|
|
23
|
+
declare const PRIVATE_ROUTES: Routes;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Componentes que o próprio shell traz, ligados pelo `router_id` (web.router) da árvore de rotas do argos.
|
|
27
|
+
*
|
|
28
|
+
* As telas do antigo módulo "Sistema" (Sobre › Recursos/Informações; Preferências › Geral,
|
|
29
|
+
* Autenticação, Exibição, Notificações) saíram em 2026-09-29: viraram o painel de configurações
|
|
30
|
+
* (`@trismegisto/spine/layout` › `SettingsPanelComponent`, menu do perfil ou Ctrl+,). Os router_ids delas
|
|
31
|
+
* (d6a30f9c, 86b87583, 2d71fb9b, 48ebca20, 662a7a61, e7d9982b, bf8a9f69) não têm mais componente —
|
|
32
|
+
* o módulo precisa sair da árvore de rotas no seed do argos.
|
|
33
|
+
*
|
|
34
|
+
* O Início (`HomeComponent`) mudou pra `@trismegisto/spine/auto-service` -- ver a entrada legada abaixo.
|
|
35
|
+
*/
|
|
36
|
+
declare const BASE_COMPONENTS: ComponentRoute[];
|
|
37
|
+
|
|
38
|
+
interface ShellOptions {
|
|
39
|
+
appComponents?: ComponentRoute[];
|
|
40
|
+
packageInfo?: PackageInfo;
|
|
41
|
+
}
|
|
42
|
+
declare function provideShell(options?: ShellOptions): EnvironmentProviders;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Rota de retorno do Argos (`/callback?code&state` ou `?error`). Tudo passa pelo `handleCallback()` do
|
|
46
|
+
* `@orfeu/angular`, que confere state e verifier, troca o code e navega para a URL pedida antes do login
|
|
47
|
+
* (ou para a 1ª rota do `/view`).
|
|
48
|
+
*
|
|
49
|
+
* - `?error=login_required` (e afins) da reautorização silenciosa (`prompt=none`): o próprio
|
|
50
|
+
* `handleCallback()` segue para o login interativo, mantendo a URL de retorno — a pessoa não fica parada aqui.
|
|
51
|
+
* - Callback inválido (state/nonce divergente, `?error`, sem code): NUNCA desloga. Com uma sessão viva
|
|
52
|
+
* (callback repetido, voltar do navegador), segue para a URL de retorno; sem sessão, mostra a página de
|
|
53
|
+
* erro com "Entrar novamente".
|
|
54
|
+
*/
|
|
55
|
+
declare class CallbackComponent {
|
|
56
|
+
protected readonly text: {
|
|
57
|
+
offline: string;
|
|
58
|
+
reconnecting: string;
|
|
59
|
+
reauthorizing: string;
|
|
60
|
+
reauthorizationRequired: string;
|
|
61
|
+
signInAgain: string;
|
|
62
|
+
callbackFailedHeading: string;
|
|
63
|
+
callbackFailedText: string;
|
|
64
|
+
};
|
|
65
|
+
private readonly route;
|
|
66
|
+
private readonly router;
|
|
67
|
+
private readonly auth;
|
|
68
|
+
/** `true` quando o callback falhou e não há sessão para onde voltar. */
|
|
69
|
+
protected readonly failed: i0.WritableSignal<boolean>;
|
|
70
|
+
/** Promessa do tratamento em andamento (exposta para os testes aguardarem). */
|
|
71
|
+
readonly done: Promise<void>;
|
|
72
|
+
constructor();
|
|
73
|
+
private handle;
|
|
74
|
+
protected signIn(): void;
|
|
75
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CallbackComponent, never>;
|
|
76
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CallbackComponent, "app-callback", never, {}, {}, never, never, true, never>;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
declare class LoginComponent implements OnInit {
|
|
80
|
+
private router;
|
|
81
|
+
private auth;
|
|
82
|
+
private view;
|
|
83
|
+
constructor(router: Router, auth: AuthorizationService, view: ViewService);
|
|
84
|
+
ngOnInit(): void;
|
|
85
|
+
bootstrap(): Promise<void>;
|
|
86
|
+
/** Primeira rota navegável (DFS), atravessando grupos "transparentes" sem route_redirect. */
|
|
87
|
+
private findFirstNavigable;
|
|
88
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LoginComponent, never>;
|
|
89
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LoginComponent, "app-login", never, {}, {}, never, never, true, never>;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
declare class LoggedOutComponent {
|
|
93
|
+
private authorizationService;
|
|
94
|
+
constructor(authorizationService: AuthorizationService);
|
|
95
|
+
goToLogin(): void;
|
|
96
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LoggedOutComponent, never>;
|
|
97
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LoggedOutComponent, "loggedout", never, {}, {}, never, never, true, never>;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
declare class NoRightsComponent implements OnInit {
|
|
101
|
+
private viewService;
|
|
102
|
+
protected readonly text: {
|
|
103
|
+
blockedText: string;
|
|
104
|
+
blockedAction: string;
|
|
105
|
+
noRightsText: string;
|
|
106
|
+
};
|
|
107
|
+
constructor(viewService: ViewService);
|
|
108
|
+
ngOnInit(): void;
|
|
109
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NoRightsComponent, never>;
|
|
110
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NoRightsComponent, "no-rights", never, {}, {}, never, never, true, never>;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* "Acesso bloqueado" (`/blocked`): a pessoa entrou, mas não faz parte de nenhum grupo vinculado a
|
|
115
|
+
* esta aplicação — o `ViewGuard` manda pra cá quando o token vem sem nenhum crachá (`badges`
|
|
116
|
+
* vazio), mesmo que o app tenha rotas públicas.
|
|
117
|
+
*
|
|
118
|
+
* Diferente de `/no-permission` (tem grupo, mas nenhuma rota liberada). A única ação útil aqui é
|
|
119
|
+
* sair — pra entrar com outra conta, ou depois que o administrador incluir a pessoa num grupo.
|
|
120
|
+
*/
|
|
121
|
+
declare class BlockedComponent implements OnInit {
|
|
122
|
+
protected readonly text: {
|
|
123
|
+
blockedText: string;
|
|
124
|
+
blockedAction: string;
|
|
125
|
+
noRightsText: string;
|
|
126
|
+
};
|
|
127
|
+
private readonly auth;
|
|
128
|
+
private readonly viewService;
|
|
129
|
+
constructor();
|
|
130
|
+
ngOnInit(): void;
|
|
131
|
+
protected logout(): void;
|
|
132
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BlockedComponent, never>;
|
|
133
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BlockedComponent, "blocked", never, {}, {}, never, never, true, never>;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
declare class LoadingPageComponent {
|
|
137
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LoadingPageComponent, never>;
|
|
138
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LoadingPageComponent, "loading-page", never, {}, {}, never, never, true, never>;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
export { APP_ROUTES, BASE_COMPONENTS, BlockedComponent, CallbackComponent, LoadingPageComponent, LoggedOutComponent, LoginComponent, NoRightsComponent, PRIVATE_ROUTES, PUBLIC_ROUTES, provideShell };
|
|
142
|
+
export type { ShellOptions };
|
|
143
|
+
//# sourceMappingURL=trismegisto-spine-shell.d.ts.map
|
|
@@ -0,0 +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;;yCAVW,gBAAgB;2CAAhB,gBAAgB;AAmB5B;;ACjDD,cAOa,oBAAoB;yCAApB,oBAAoB;2CAApB,oBAAoB;AAAG;;","names":["_angular_core"]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Type, OnInit, ChangeDetectorRef } from '@angular/core';
|
|
3
|
+
import { ModalContent } from '@trismegisto/spine/modal';
|
|
4
|
+
export { ModalContent as SidePanelContent } from '@trismegisto/spine/modal';
|
|
5
|
+
import { HermesLoadingState, ModalSize } from '@trismegisto/angular';
|
|
6
|
+
import { Observable } from 'rxjs';
|
|
7
|
+
|
|
8
|
+
interface SidePanelConfig<TData = any> {
|
|
9
|
+
title?: string;
|
|
10
|
+
size?: 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
11
|
+
closable?: boolean;
|
|
12
|
+
text?: string;
|
|
13
|
+
component?: Type<ModalContent>;
|
|
14
|
+
data?: TData;
|
|
15
|
+
showActions?: boolean;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
declare class SidePanelService {
|
|
19
|
+
private _visible;
|
|
20
|
+
readonly visible$: Observable<boolean>;
|
|
21
|
+
private _state;
|
|
22
|
+
readonly state$: Observable<HermesLoadingState>;
|
|
23
|
+
private _config;
|
|
24
|
+
get config(): SidePanelConfig | null;
|
|
25
|
+
private _result$;
|
|
26
|
+
open<TResult = any, TData = any>(config: SidePanelConfig<TData>): Observable<TResult | null>;
|
|
27
|
+
confirm(result: any): void;
|
|
28
|
+
close(): void;
|
|
29
|
+
setState(state: HermesLoadingState): void;
|
|
30
|
+
private dismiss;
|
|
31
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SidePanelService, never>;
|
|
32
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SidePanelService>;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** `SidePanelConfig.size` manteve os valores do spine antigo (sm/md/lg/xl/full) por
|
|
36
|
+
* compatibilidade de API; o `hm-drawer` novo só tem 3 tamanhos. */
|
|
37
|
+
declare function toHermesSize(size: SidePanelConfig['size']): ModalSize;
|
|
38
|
+
declare class SidePanelComponent implements OnInit {
|
|
39
|
+
private sidePanelService;
|
|
40
|
+
private cdr;
|
|
41
|
+
/** Rótulos dos botões padrão, do catálogo do Hermes (pt-BR/en/es). */
|
|
42
|
+
protected readonly dialogText: {
|
|
43
|
+
confirm: string;
|
|
44
|
+
cancel: string;
|
|
45
|
+
};
|
|
46
|
+
private content;
|
|
47
|
+
visible: boolean;
|
|
48
|
+
config: SidePanelConfig | null;
|
|
49
|
+
state: HermesLoadingState;
|
|
50
|
+
protected readonly HermesLoadingState: typeof HermesLoadingState;
|
|
51
|
+
protected readonly toHermesSize: typeof toHermesSize;
|
|
52
|
+
private contentRef;
|
|
53
|
+
constructor(sidePanelService: SidePanelService, cdr: ChangeDetectorRef);
|
|
54
|
+
ngOnInit(): void;
|
|
55
|
+
get canConfirm(): boolean;
|
|
56
|
+
private loadComponent;
|
|
57
|
+
confirm(): void;
|
|
58
|
+
dismiss(): void;
|
|
59
|
+
onLoadingStateChange(state: HermesLoadingState): void;
|
|
60
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SidePanelComponent, never>;
|
|
61
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SidePanelComponent, "spine-side-panel", never, {}, {}, never, never, true, never>;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export { SidePanelComponent, SidePanelService };
|
|
65
|
+
export type { SidePanelConfig };
|
|
66
|
+
//# sourceMappingURL=trismegisto-spine-side-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trismegisto-spine-side-panel.d.ts","sources":["../../../projects/ui/side-panel/src/side-panel.types.ts","../../../projects/ui/side-panel/src/side-panel.service.ts","../../../projects/ui/side-panel/src/side-panel.component.ts"],"mappings":";;;;;;;AAGM,UAAW,eAAe;;;;;AAK9B,gBAAY,IAAI,CAAC,YAAY;;;AAG9B;;ACLD,cACa,gBAAgB;;AAE3B,uBAA0B,UAAU;;AAGpC,qBAAwB,UAAU,CAAC,kBAAkB;;AAGrD,kBAAqB,eAAe;;6CAMK,eAAe,UAAU,UAAU;AAY5E;AAMA;AAMA,oBAAgB,kBAAkB;AAIlC;yCA1CW,gBAAgB;6CAAhB,gBAAgB;AAgD5B;;AChDD;AACmE;AACnE,iBAAS,YAAY,OAAO,eAAe,WAAW,SAAS;AAU/D,cAMa,kBAAmB,YAAW,MAAM;AAenC;AAA4C;;;;;AAbO;;AAI/D;AACA,YAAQ,eAAe;WAChB,kBAAkB;AAEzB,kDAAqC,kBAAA;AACrC,4CAA+B,YAAA;;AAIX,kCAAkB,gBAAgB,OAAe,iBAAiB;AAEtF;;AAwBA;AAUA;AAMA;AAIA,gCAA4B,kBAAkB;yCA7DnC,kBAAkB;2CAAlB,kBAAkB;AAgE9B;;","names":[]}
|