@trismegisto/spine 3.1.0 → 3.3.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.
Files changed (37) hide show
  1. package/README.md +16 -0
  2. package/fesm2022/{trismegisto-spine-auto-service-apps.usage-po9Ds_SU.mjs → trismegisto-spine-auto-service-apps.usage-C0F_MlCo.mjs} +3 -3
  3. package/fesm2022/{trismegisto-spine-auto-service-apps.usage-po9Ds_SU.mjs.map → trismegisto-spine-auto-service-apps.usage-C0F_MlCo.mjs.map} +1 -1
  4. package/fesm2022/{trismegisto-spine-auto-service-auto-service-client.component-DzmlpLPu.mjs → trismegisto-spine-auto-service-auto-service-client.component-IATeedbr.mjs} +8 -3
  5. package/fesm2022/trismegisto-spine-auto-service-auto-service-client.component-IATeedbr.mjs.map +1 -0
  6. package/fesm2022/{trismegisto-spine-auto-service-auto-service-groups.component-2xCG_wS9.mjs → trismegisto-spine-auto-service-auto-service-groups.component-D6L0gTmd.mjs} +3 -2
  7. package/fesm2022/trismegisto-spine-auto-service-auto-service-groups.component-D6L0gTmd.mjs.map +1 -0
  8. package/fesm2022/{trismegisto-spine-auto-service-auto-service.component-C4FBAefe.mjs → trismegisto-spine-auto-service-auto-service.component-DGrs_Jvw.mjs} +8 -3
  9. package/fesm2022/trismegisto-spine-auto-service-auto-service.component-DGrs_Jvw.mjs.map +1 -0
  10. package/fesm2022/{trismegisto-spine-auto-service-client.usage-B16r3IHk.mjs → trismegisto-spine-auto-service-client.usage-C_2zBCRN.mjs} +3 -2
  11. package/fesm2022/{trismegisto-spine-auto-service-client.usage-B16r3IHk.mjs.map → trismegisto-spine-auto-service-client.usage-C_2zBCRN.mjs.map} +1 -1
  12. package/fesm2022/{trismegisto-spine-auto-service-groups.technical-D05838rU.mjs → trismegisto-spine-auto-service-groups.technical-9aPPulhy.mjs} +2 -2
  13. package/fesm2022/{trismegisto-spine-auto-service-groups.technical-D05838rU.mjs.map → trismegisto-spine-auto-service-groups.technical-9aPPulhy.mjs.map} +1 -1
  14. package/fesm2022/{trismegisto-spine-auto-service-groups.usage-ChGMgYU3.mjs → trismegisto-spine-auto-service-groups.usage-CYh61LFL.mjs} +3 -3
  15. package/fesm2022/{trismegisto-spine-auto-service-groups.usage-ChGMgYU3.mjs.map → trismegisto-spine-auto-service-groups.usage-CYh61LFL.mjs.map} +1 -1
  16. package/fesm2022/{trismegisto-spine-auto-service-home.usage-D6cb4B3Z.mjs → trismegisto-spine-auto-service-home.usage-DWYGtngX.mjs} +3 -3
  17. package/fesm2022/{trismegisto-spine-auto-service-home.usage-D6cb4B3Z.mjs.map → trismegisto-spine-auto-service-home.usage-DWYGtngX.mjs.map} +1 -1
  18. package/fesm2022/trismegisto-spine-auto-service.mjs +8 -8
  19. package/fesm2022/trismegisto-spine-layout.mjs +367 -27
  20. package/fesm2022/trismegisto-spine-layout.mjs.map +1 -1
  21. package/fesm2022/trismegisto-spine-notification.mjs +27 -24
  22. package/fesm2022/trismegisto-spine-notification.mjs.map +1 -1
  23. package/fesm2022/trismegisto-spine-shell.mjs +5 -6
  24. package/fesm2022/trismegisto-spine-shell.mjs.map +1 -1
  25. package/fesm2022/trismegisto-spine.mjs +123 -3
  26. package/fesm2022/trismegisto-spine.mjs.map +1 -1
  27. package/package.json +6 -6
  28. package/types/trismegisto-spine-layout.d.ts +89 -5
  29. package/types/trismegisto-spine-layout.d.ts.map +1 -1
  30. package/types/trismegisto-spine-notification.d.ts +13 -12
  31. package/types/trismegisto-spine-notification.d.ts.map +1 -1
  32. package/types/trismegisto-spine-shell.d.ts.map +1 -1
  33. package/types/trismegisto-spine.d.ts +57 -0
  34. package/types/trismegisto-spine.d.ts.map +1 -1
  35. package/fesm2022/trismegisto-spine-auto-service-auto-service-client.component-DzmlpLPu.mjs.map +0 -1
  36. package/fesm2022/trismegisto-spine-auto-service-auto-service-groups.component-2xCG_wS9.mjs.map +0 -1
  37. package/fesm2022/trismegisto-spine-auto-service-auto-service.component-C4FBAefe.mjs.map +0 -1
@@ -71,7 +71,8 @@ A tabela mostra **Página**, **Caminho** (o endereço final), **Descrição**, *
71
71
 
72
72
  A tabela mostra os grupos com acesso ao client: **Grupo**, **Tipo** (o crachá do grupo, em etiqueta) e **Guards**.
73
73
 
74
- - **Novo acesso**: escolha o **Grupo** e clique em **Criar**.
74
+ - **Novo acesso**: escolha o **Grupo** e clique em **Criar**. Só aparecem os grupos que ainda não têm acesso ao
75
+ client (os que já estão na tabela não se repetem).
75
76
  - **Gerenciar rotas** (botão na coluna **Guards**) abre o painel **Rotas de nome do grupo**, com a árvore dos
76
77
  roteadores privados: as pastas são os níveis do menu e cada página tem uma caixa de seleção. Só aparecem os
77
78
  roteadores privados sem restrição de crachá ou cujo crachá permitido inclua o do grupo. No topo fica só o campo
@@ -90,4 +91,4 @@ item continua na tabela.
90
91
  `;
91
92
 
92
93
  export { client_usage as default };
93
- //# sourceMappingURL=trismegisto-spine-auto-service-client.usage-B16r3IHk.mjs.map
94
+ //# sourceMappingURL=trismegisto-spine-auto-service-client.usage-C_2zBCRN.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"trismegisto-spine-auto-service-client.usage-B16r3IHk.mjs","sources":["../../../projects/ui/auto-service/src/docs/client.usage.ts"],"sourcesContent":["// Manual de uso da tela Cliente do auto-serviço (`RouteDocument.load`), em Markdown. Módulo próprio,\n// carregado só pelo `import()` de `AUTO_SERVICE_DOCUMENTS`: vira um chunk à parte no FESM e fica fora do\n// bundle inicial. Não importe estaticamente nem reexporte no `public-api.ts`.\nexport default `# Cliente\n\nGerencie a navegação do seu client sem depender do painel central: as rotas (os itens do menu), os roteadores\n(onde cada tela aparece e se ela é privada) e o acesso (quais grupos veem quais telas privadas).\n\n## Antes de começar\n\nComo nas outras telas do auto-serviço, o client administrado é o do app em que você está logado: não há client\npara escolher. É preciso estar no grupo de administração do projeto desse app e com o crachá **Administrador**\nativo. A tela mostra as abas **Rotas**, **Roteadores** e **Acesso**.\n\n## Como as peças se encaixam\n\n- **Rota:** um item com nome, nome de exibição, ícone e um trecho do endereço. Sozinha, ela não vira tela.\n- **Roteador:** coloca uma rota como **página** e diz em que ponto do menu ela fica (Header › Navegação › Menu ›\n Item › Submenu, todos opcionais). O endereço final da tela é a soma dos trechos das rotas dessa cadeia.\n- **Acesso:** libera o client para um grupo. Em cada acesso você escolhe quais roteadores **privados** aquele grupo\n enxerga.\n\n## Selos e travas\n\n- **Template:** o item veio do template da aplicação. Só a administração central do Argos edita ou exclui; aqui a\n linha aparece sem o menu de ações. A ordem e o acesso desses itens continuam sendo seus.\n- **Rota protegida** (**Excluível: Não**): não pode ser excluída. Ao editá-la, a caixa **Excluível** fica travada:\n só a administração central libera a exclusão.\n\n## Aba Rotas\n\nA tabela mostra **Nome**, **Display**, **Ícone**, **Path**, **Excluível** e **ID**. O botão da coluna **ID** copia o\nUUID da rota: cole-o no campo **ID (opcional)** ao criar a mesma rota no outro ambiente (homologação e produção com o\nmesmo id).\n\n- **Nova rota** abre o formulário:\n - **Nome interno** (obrigatório) e **Nome de exibição** (o texto que aparece no menu).\n - **Ícone**: escolha no catálogo; dá para digitar para filtrar, e cada opção mostra o próprio ícone.\n - **Caminho (path)**: um trecho só do endereço, com letras minúsculas e hífen (por exemplo, \\`ordens-servico\\`),\n sem \\`/\\`, espaço, número ou acento, e sem hífen no início ou no fim. O \\`/\\` entre os níveis quem monta é o\n roteador. Deixe vazio numa rota que só agrupa itens do menu.\n - **Info** e **Excluível**.\n- No menu de cada linha: **Editar** e **Excluir** (este só em rota excluível). **Excluir** pede confirmação\n (**Excluir rota?**, com o nome dela) e só apaga depois de **Excluir** no diálogo.\n- **Reordenar:** define a ordem dos itens no menu de navegação. A ordem é do seu client: vale também para itens do\n template, e a sincronização do template não a desfaz.\n\n## Aba Roteadores\n\nA tabela mostra **Página**, **Caminho** (o endereço final), **Descrição**, **Visibilidade** (**Privado** ou\n**Público**), **Crachás permitidos** (os crachás que podem receber acesso à tela, ou **Qualquer crachá**) e **ID**\n(botão que copia o UUID do roteador, para criar o mesmo roteador com o mesmo id no outro ambiente).\n\n- **Novo roteador** (habilitado quando já existe alguma rota) abre o formulário:\n - **Página** (obrigatório): a rota que vira a tela.\n - **Descrição**: o que a tela faz, em uma frase. Aparece abaixo do título, na barra da página.\n - **Hierarquia (opcional)**: as rotas de **Header**, **Navegação**, **Menu**, **Item** e **Submenu** acima da página.\n A hierarquia é **de cima para baixo**: **Navegação** só abre com um **Header** escolhido, **Menu** só com uma\n **Navegação**, **Item** só com um **Menu** e **Submenu** só com um **Item**. Limpar um nível limpa os de baixo. A\n página não depende de nível nenhum. Um roteador antigo com um nível vazio no meio mostra o aviso e só salva depois\n de preencher o nível que falta (ou limpar os de baixo).\n - **Privado** (já vem marcado): a tela só fica visível para os grupos que receberem acesso a ela na aba **Acesso**.\n Desmarcado, o roteador é **Público** e não depende dessa liberação.\n - **Crachás permitidos**: escolha um ou mais crachás (tipos de grupo, inclusive **Administrador**) para limitar\n quem pode receber acesso a esta tela na aba **Acesso**. Vazio = **Qualquer crachá**.\n- No menu de cada linha: **Editar** e **Excluir**. **Excluir** pede confirmação (**Excluir roteador?**, com o caminho\n montado) e só apaga depois de **Excluir** no diálogo; a página sai do menu.\n- Se o servidor recusar a gravação, o motivo aparece no próprio formulário, que continua aberto.\n\n## Aba Acesso\n\nA tabela mostra os grupos com acesso ao client: **Grupo**, **Tipo** (o crachá do grupo, em etiqueta) e **Guards**.\n\n- **Novo acesso**: escolha o **Grupo** e clique em **Criar**.\n- **Gerenciar rotas** (botão na coluna **Guards**) abre o painel **Rotas de nome do grupo**, com a árvore dos\n roteadores privados: as pastas são os níveis do menu e cada página tem uma caixa de seleção. Só aparecem os\n roteadores privados sem restrição de crachá ou cujo crachá permitido inclua o do grupo. No topo fica só o campo\n **Filtrar rotas** (casa com o nome da tela ou da pasta, sem diferenciar acentos, e abre as pastas encontradas).\n Marque as telas que o grupo pode ver, desmarque as que não pode e clique em **Confirmar alterações** (o botão só\n habilita quando algo mudou).\n- No menu de cada linha, **Remover** pede confirmação (**Remover acesso?**, com o nome do grupo) e só então tira o\n acesso do grupo ao client.\n- O grupo de administração do projeto não aparece aqui (nem na lista, nem em **Novo acesso**): o acesso dele é\n gerido só no painel central (Argos).\n\nDepois de cada exclusão aparece **Exclusão concluída.**; se o servidor recusar, a mensagem de erro diz o motivo e o\nitem continua na tabela.\n\n> Quem participa de cada grupo se gerencia na tela **Grupos**.\n`;\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA,mBAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFd;;"}
1
+ {"version":3,"file":"trismegisto-spine-auto-service-client.usage-C_2zBCRN.mjs","sources":["../../../projects/ui/auto-service/src/docs/client.usage.ts"],"sourcesContent":["// Manual de uso da tela Cliente do auto-serviço (`RouteDocument.load`), em Markdown. Módulo próprio,\n// carregado só pelo `import()` de `AUTO_SERVICE_DOCUMENTS`: vira um chunk à parte no FESM e fica fora do\n// bundle inicial. Não importe estaticamente nem reexporte no `public-api.ts`.\nexport default `# Cliente\n\nGerencie a navegação do seu client sem depender do painel central: as rotas (os itens do menu), os roteadores\n(onde cada tela aparece e se ela é privada) e o acesso (quais grupos veem quais telas privadas).\n\n## Antes de começar\n\nComo nas outras telas do auto-serviço, o client administrado é o do app em que você está logado: não há client\npara escolher. É preciso estar no grupo de administração do projeto desse app e com o crachá **Administrador**\nativo. A tela mostra as abas **Rotas**, **Roteadores** e **Acesso**.\n\n## Como as peças se encaixam\n\n- **Rota:** um item com nome, nome de exibição, ícone e um trecho do endereço. Sozinha, ela não vira tela.\n- **Roteador:** coloca uma rota como **página** e diz em que ponto do menu ela fica (Header › Navegação › Menu ›\n Item › Submenu, todos opcionais). O endereço final da tela é a soma dos trechos das rotas dessa cadeia.\n- **Acesso:** libera o client para um grupo. Em cada acesso você escolhe quais roteadores **privados** aquele grupo\n enxerga.\n\n## Selos e travas\n\n- **Template:** o item veio do template da aplicação. Só a administração central do Argos edita ou exclui; aqui a\n linha aparece sem o menu de ações. A ordem e o acesso desses itens continuam sendo seus.\n- **Rota protegida** (**Excluível: Não**): não pode ser excluída. Ao editá-la, a caixa **Excluível** fica travada:\n só a administração central libera a exclusão.\n\n## Aba Rotas\n\nA tabela mostra **Nome**, **Display**, **Ícone**, **Path**, **Excluível** e **ID**. O botão da coluna **ID** copia o\nUUID da rota: cole-o no campo **ID (opcional)** ao criar a mesma rota no outro ambiente (homologação e produção com o\nmesmo id).\n\n- **Nova rota** abre o formulário:\n - **Nome interno** (obrigatório) e **Nome de exibição** (o texto que aparece no menu).\n - **Ícone**: escolha no catálogo; dá para digitar para filtrar, e cada opção mostra o próprio ícone.\n - **Caminho (path)**: um trecho só do endereço, com letras minúsculas e hífen (por exemplo, \\`ordens-servico\\`),\n sem \\`/\\`, espaço, número ou acento, e sem hífen no início ou no fim. O \\`/\\` entre os níveis quem monta é o\n roteador. Deixe vazio numa rota que só agrupa itens do menu.\n - **Info** e **Excluível**.\n- No menu de cada linha: **Editar** e **Excluir** (este só em rota excluível). **Excluir** pede confirmação\n (**Excluir rota?**, com o nome dela) e só apaga depois de **Excluir** no diálogo.\n- **Reordenar:** define a ordem dos itens no menu de navegação. A ordem é do seu client: vale também para itens do\n template, e a sincronização do template não a desfaz.\n\n## Aba Roteadores\n\nA tabela mostra **Página**, **Caminho** (o endereço final), **Descrição**, **Visibilidade** (**Privado** ou\n**Público**), **Crachás permitidos** (os crachás que podem receber acesso à tela, ou **Qualquer crachá**) e **ID**\n(botão que copia o UUID do roteador, para criar o mesmo roteador com o mesmo id no outro ambiente).\n\n- **Novo roteador** (habilitado quando já existe alguma rota) abre o formulário:\n - **Página** (obrigatório): a rota que vira a tela.\n - **Descrição**: o que a tela faz, em uma frase. Aparece abaixo do título, na barra da página.\n - **Hierarquia (opcional)**: as rotas de **Header**, **Navegação**, **Menu**, **Item** e **Submenu** acima da página.\n A hierarquia é **de cima para baixo**: **Navegação** só abre com um **Header** escolhido, **Menu** só com uma\n **Navegação**, **Item** só com um **Menu** e **Submenu** só com um **Item**. Limpar um nível limpa os de baixo. A\n página não depende de nível nenhum. Um roteador antigo com um nível vazio no meio mostra o aviso e só salva depois\n de preencher o nível que falta (ou limpar os de baixo).\n - **Privado** (já vem marcado): a tela só fica visível para os grupos que receberem acesso a ela na aba **Acesso**.\n Desmarcado, o roteador é **Público** e não depende dessa liberação.\n - **Crachás permitidos**: escolha um ou mais crachás (tipos de grupo, inclusive **Administrador**) para limitar\n quem pode receber acesso a esta tela na aba **Acesso**. Vazio = **Qualquer crachá**.\n- No menu de cada linha: **Editar** e **Excluir**. **Excluir** pede confirmação (**Excluir roteador?**, com o caminho\n montado) e só apaga depois de **Excluir** no diálogo; a página sai do menu.\n- Se o servidor recusar a gravação, o motivo aparece no próprio formulário, que continua aberto.\n\n## Aba Acesso\n\nA tabela mostra os grupos com acesso ao client: **Grupo**, **Tipo** (o crachá do grupo, em etiqueta) e **Guards**.\n\n- **Novo acesso**: escolha o **Grupo** e clique em **Criar**. Só aparecem os grupos que ainda não têm acesso ao\n client (os que já estão na tabela não se repetem).\n- **Gerenciar rotas** (botão na coluna **Guards**) abre o painel **Rotas de nome do grupo**, com a árvore dos\n roteadores privados: as pastas são os níveis do menu e cada página tem uma caixa de seleção. Só aparecem os\n roteadores privados sem restrição de crachá ou cujo crachá permitido inclua o do grupo. No topo fica só o campo\n **Filtrar rotas** (casa com o nome da tela ou da pasta, sem diferenciar acentos, e abre as pastas encontradas).\n Marque as telas que o grupo pode ver, desmarque as que não pode e clique em **Confirmar alterações** (o botão só\n habilita quando algo mudou).\n- No menu de cada linha, **Remover** pede confirmação (**Remover acesso?**, com o nome do grupo) e só então tira o\n acesso do grupo ao client.\n- O grupo de administração do projeto não aparece aqui (nem na lista, nem em **Novo acesso**): o acesso dele é\n gerido só no painel central (Argos).\n\nDepois de cada exclusão aparece **Exclusão concluída.**; se o servidor recusar, a mensagem de erro diz o motivo e o\nitem continua na tabela.\n\n> Quem participa de cada grupo se gerencia na tela **Grupos**.\n`;\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA,mBAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuFd;;"}
@@ -59,11 +59,11 @@ cabeçalho \`x-access-token\`. Peças: dois \`hm-combobox\` (nível de acesso e
59
59
  \`deleteError\`). O \`AutoServiceDeleteFeedback\` usa a mesma função em todas as exclusões do auto-serviço.
60
60
  - Sugestões: \`limit=30\` sem \`search\`, mostradas de 3 em 3. Busca: a partir de 2 caracteres, depois de 300 ms sem
61
61
  digitar, \`limit=10\`. Membros atuais são retirados dos dois.
62
- - Funções oferecidas pela tela: Administrador, Editor, Leitor; vazio grava \`role: null\`.
62
+ - Funções oferecidas pela tela: Administrador e Editor; vazio grava \`role: null\` (membro sem função, que só vê os outros\n membros nas configurações do app). Outro valor o servidor recusa (\`400 invalid_role\`).
63
63
  - **Salvar alterações** grava só a diferença, em sequência: adições, depois remoções, depois trocas de função (dos
64
64
  membros que ficaram). Ao terminar, emite \`saved\` e a tabela de membros recarrega. Se uma chamada falhar, o modal mostra o
65
65
  erro, emite \`saved\` (parte pode ter sido gravada) e recarrega os membros.
66
66
  `;
67
67
 
68
68
  export { groups_technical as default };
69
- //# sourceMappingURL=trismegisto-spine-auto-service-groups.technical-D05838rU.mjs.map
69
+ //# sourceMappingURL=trismegisto-spine-auto-service-groups.technical-9aPPulhy.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"trismegisto-spine-auto-service-groups.technical-D05838rU.mjs","sources":["../../../projects/ui/auto-service/src/docs/groups.technical.ts"],"sourcesContent":["// Especificação técnica da tela Grupos do auto-serviço (`RouteDocument.loadTechnical`), em Markdown. Módulo próprio,\n// carregado só pelo `import()` de `AUTO_SERVICE_DOCUMENTS`: vira um chunk à parte no FESM e fica fora do\n// bundle inicial. Não importe estaticamente nem reexporte no `public-api.ts`.\nexport default `# Grupos — especificação técnica\n\nTela \\`AutoServiceGroupsComponent\\`, ligada ao router de template \\`AUTO_SERVICE_GROUPS_TEMPLATE_ROUTER_ID\\`\n(\\`ad100001-…\\`). Fala com o argos-admin-server em \\`{adminApi}/auto-service\\` (\\`AutoServiceService\\`), com o token no\ncabeçalho \\`x-access-token\\`. Peças: dois \\`hm-combobox\\` (nível de acesso e grupo) + Consultar, \\`AutoServiceGroupModalComponent\\` (criar/editar),\n\\`AutoServiceGroupMembersComponent\\` (membros do grupo aberto) e \\`AutoServiceGroupMembersModalComponent\\`.\n\n## Endpoints\n\n| Ação | Endpoint |\n| --- | --- |\n| Client administrado (só o do token) | \\`GET /auto-service\\` |\n| Grupos do projeto do client | \\`GET /auto-service/:clientId/groups\\` (\\`{ id, name, description, enabled, type }\\`, sem o grupo de administração) |\n| Tipos de grupo do realm | \\`GET /auto-service/:clientId/group-types\\` (\\`{ id, name, level, assignable }\\`) |\n| Criar grupo | \\`POST /auto-service/:clientId/groups\\` (\\`{ name, type_id, description? }\\`) |\n| Editar grupo | \\`PUT /auto-service/:clientId/groups/:groupId\\` (\\`{ name, type_id, description, enabled }\\`) |\n| Excluir grupo | \\`DELETE /auto-service/:clientId/groups/:groupId\\` |\n| Membros do grupo | \\`GET /auto-service/:clientId/groups/:groupId/members\\` |\n| Sugestões e busca de usuários | \\`GET /auto-service/:clientId/users?search=&limit=\\` |\n| Adicionar membro | \\`POST /auto-service/:clientId/groups/:groupId/members\\` (\\`{ user_id, role }\\`) |\n| Trocar a função | \\`PUT /auto-service/:clientId/groups/:groupId/members/:userId\\` (\\`{ role }\\`) |\n| Remover membro | \\`DELETE /auto-service/:clientId/groups/:groupId/members/:userId\\` |\n\n## Regras\n\n- **Autorização** (\\`clientAdminGuard\\` no servidor): o \\`sub\\` é membro do grupo de administração (\\`is_admin\\`,\n habilitado) do projeto do client **e** está com o crachá Administrador ativo. Todo token só administra o client em\n que foi emitido: \\`GET /auto-service\\` devolve só ele. O seletor de client\n (\\`AutoServiceClientPickerComponent\\`) mostra \\`loading\\` enquanto busca; com um client, escolhe sozinho e não desenha\n mais nada; com nenhum, mostra\n \\`autoService.noClients\\`; a combobox só aparece se a API devolver mais de um.\n- Grupo de outro projeto responde \\`404\\` (\\`assertGroupBelongsToClient\\`).\n- Seletores: grupos e tipos carregados juntos ao escolher o client. **Nível de acesso** (\\`levelOptions\\`): os tipos\n de \\`group-types\\` com \\`assignable !== false\\` ou com algum grupo na lista (o Administrador fica de fora), mais os tipos\n que só aparecem nos grupos (sem a rota de tipos) e \"Sem nível\" (\\`NO_LEVEL\\`) se algum grupo não tiver tipo; do\n \\`level\\` maior para o menor. **Grupo** (\\`groupOptions\\`): só os do nível escolhido, em ordem alfabética; trocar o\n nível limpa o grupo. **Consultar** abre o grupo (resumo com Editar/Excluir + membros); abrir um grupo aponta os dois\n seletores para ele. Depois de criar/editar/excluir a lista recarrega; o grupo aberto é trocado pela versão nova (ou\n fecha, se sumiu); o grupo recém-criado já abre. (Na 3.0.0 a lista era um \\`hm-data-grid\\`; voltou ao seletor a\n pedido do usuário.)\n- Modal: nome obrigatório (1–100, aparado), tipo obrigatório, descrição opcional; na criação a descrição vazia não\n vai no corpo; na edição vai como \\`null\\` (apaga). Tipos oferecidos: só \\`assignable !== false\\`. A falha aparece no\n modal (\\`hm-alert\\`) e o modal continua aberto.\n- **Grupo de administração** (\\`is_admin\\`): gerido só no painel central (Argos), não aparece no auto-serviço. O\n servidor não o devolve em \\`GET /groups\\` e responde \\`404\\` a editar, excluir e mexer nos membros dele (como grupo\n de outro projeto). Servidor antigo que ainda o devolva (\\`is_admin: true\\`): a tela descarta na carga da lista\n (\\`load\\`) e na lista de grupos do novo acesso (**Cliente › Acesso**). O Administrador (\\`assignable: false\\`)\n nunca entra nos tipos do modal. Os textos \\`adminGroupTag\\`, \\`adminGroupNote\\`, \\`adminGroupEditNote\\` e\n \\`adminGroupLastMemberWarning\\` ficaram \\`@deprecated\\`.\n- **Erros** (\\`autoServiceErrorText\\`, em \\`auto-service-errors.ts\\`): o código \\`error\\` da resposta vira o texto de\n \\`autoService.groupErrors\\` no idioma ativo — \\`invalid_type\\`, \\`admin_type_reserved\\`, \\`empty_update\\`,\n \\`group_project_immutable\\` (400); \\`group_name_taken\\`, \\`admin_group_immutable\\`, \\`admin_group_protected\\`,\n \\`admin_group_last_member\\`, \\`admin_group_access_protected\\` (409; de servidor antigo — o atual responde 404 ao\n grupo de administração); \\`404\\` de grupo → \\`groupNotFound\\`. Código\n desconhecido usa o \\`detail\\` do servidor e, por último, o texto genérico (\\`groupSaveError\\`, \\`membersSaveError\\` ou\n \\`deleteError\\`). O \\`AutoServiceDeleteFeedback\\` usa a mesma função em todas as exclusões do auto-serviço.\n- Sugestões: \\`limit=30\\` sem \\`search\\`, mostradas de 3 em 3. Busca: a partir de 2 caracteres, depois de 300 ms sem\n digitar, \\`limit=10\\`. Membros atuais são retirados dos dois.\n- Funções oferecidas pela tela: Administrador, Editor, Leitor; vazio grava \\`role: null\\`.\n- **Salvar alterações** grava só a diferença, em sequência: adições, depois remoções, depois trocas de função (dos\n membros que ficaram). Ao terminar, emite \\`saved\\` e a tabela de membros recarrega. Se uma chamada falhar, o modal mostra o\n erro, emite \\`saved\\` (parte pode ter sido gravada) e recarrega os membros.\n`;\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA,uBAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8Dd;;"}
1
+ {"version":3,"file":"trismegisto-spine-auto-service-groups.technical-9aPPulhy.mjs","sources":["../../../projects/ui/auto-service/src/docs/groups.technical.ts"],"sourcesContent":["// Especificação técnica da tela Grupos do auto-serviço (`RouteDocument.loadTechnical`), em Markdown. Módulo próprio,\n// carregado só pelo `import()` de `AUTO_SERVICE_DOCUMENTS`: vira um chunk à parte no FESM e fica fora do\n// bundle inicial. Não importe estaticamente nem reexporte no `public-api.ts`.\nexport default `# Grupos — especificação técnica\n\nTela \\`AutoServiceGroupsComponent\\`, ligada ao router de template \\`AUTO_SERVICE_GROUPS_TEMPLATE_ROUTER_ID\\`\n(\\`ad100001-…\\`). Fala com o argos-admin-server em \\`{adminApi}/auto-service\\` (\\`AutoServiceService\\`), com o token no\ncabeçalho \\`x-access-token\\`. Peças: dois \\`hm-combobox\\` (nível de acesso e grupo) + Consultar, \\`AutoServiceGroupModalComponent\\` (criar/editar),\n\\`AutoServiceGroupMembersComponent\\` (membros do grupo aberto) e \\`AutoServiceGroupMembersModalComponent\\`.\n\n## Endpoints\n\n| Ação | Endpoint |\n| --- | --- |\n| Client administrado (só o do token) | \\`GET /auto-service\\` |\n| Grupos do projeto do client | \\`GET /auto-service/:clientId/groups\\` (\\`{ id, name, description, enabled, type }\\`, sem o grupo de administração) |\n| Tipos de grupo do realm | \\`GET /auto-service/:clientId/group-types\\` (\\`{ id, name, level, assignable }\\`) |\n| Criar grupo | \\`POST /auto-service/:clientId/groups\\` (\\`{ name, type_id, description? }\\`) |\n| Editar grupo | \\`PUT /auto-service/:clientId/groups/:groupId\\` (\\`{ name, type_id, description, enabled }\\`) |\n| Excluir grupo | \\`DELETE /auto-service/:clientId/groups/:groupId\\` |\n| Membros do grupo | \\`GET /auto-service/:clientId/groups/:groupId/members\\` |\n| Sugestões e busca de usuários | \\`GET /auto-service/:clientId/users?search=&limit=\\` |\n| Adicionar membro | \\`POST /auto-service/:clientId/groups/:groupId/members\\` (\\`{ user_id, role }\\`) |\n| Trocar a função | \\`PUT /auto-service/:clientId/groups/:groupId/members/:userId\\` (\\`{ role }\\`) |\n| Remover membro | \\`DELETE /auto-service/:clientId/groups/:groupId/members/:userId\\` |\n\n## Regras\n\n- **Autorização** (\\`clientAdminGuard\\` no servidor): o \\`sub\\` é membro do grupo de administração (\\`is_admin\\`,\n habilitado) do projeto do client **e** está com o crachá Administrador ativo. Todo token só administra o client em\n que foi emitido: \\`GET /auto-service\\` devolve só ele. O seletor de client\n (\\`AutoServiceClientPickerComponent\\`) mostra \\`loading\\` enquanto busca; com um client, escolhe sozinho e não desenha\n mais nada; com nenhum, mostra\n \\`autoService.noClients\\`; a combobox só aparece se a API devolver mais de um.\n- Grupo de outro projeto responde \\`404\\` (\\`assertGroupBelongsToClient\\`).\n- Seletores: grupos e tipos carregados juntos ao escolher o client. **Nível de acesso** (\\`levelOptions\\`): os tipos\n de \\`group-types\\` com \\`assignable !== false\\` ou com algum grupo na lista (o Administrador fica de fora), mais os tipos\n que só aparecem nos grupos (sem a rota de tipos) e \"Sem nível\" (\\`NO_LEVEL\\`) se algum grupo não tiver tipo; do\n \\`level\\` maior para o menor. **Grupo** (\\`groupOptions\\`): só os do nível escolhido, em ordem alfabética; trocar o\n nível limpa o grupo. **Consultar** abre o grupo (resumo com Editar/Excluir + membros); abrir um grupo aponta os dois\n seletores para ele. Depois de criar/editar/excluir a lista recarrega; o grupo aberto é trocado pela versão nova (ou\n fecha, se sumiu); o grupo recém-criado já abre. (Na 3.0.0 a lista era um \\`hm-data-grid\\`; voltou ao seletor a\n pedido do usuário.)\n- Modal: nome obrigatório (1–100, aparado), tipo obrigatório, descrição opcional; na criação a descrição vazia não\n vai no corpo; na edição vai como \\`null\\` (apaga). Tipos oferecidos: só \\`assignable !== false\\`. A falha aparece no\n modal (\\`hm-alert\\`) e o modal continua aberto.\n- **Grupo de administração** (\\`is_admin\\`): gerido só no painel central (Argos), não aparece no auto-serviço. O\n servidor não o devolve em \\`GET /groups\\` e responde \\`404\\` a editar, excluir e mexer nos membros dele (como grupo\n de outro projeto). Servidor antigo que ainda o devolva (\\`is_admin: true\\`): a tela descarta na carga da lista\n (\\`load\\`) e na lista de grupos do novo acesso (**Cliente › Acesso**). O Administrador (\\`assignable: false\\`)\n nunca entra nos tipos do modal. Os textos \\`adminGroupTag\\`, \\`adminGroupNote\\`, \\`adminGroupEditNote\\` e\n \\`adminGroupLastMemberWarning\\` ficaram \\`@deprecated\\`.\n- **Erros** (\\`autoServiceErrorText\\`, em \\`auto-service-errors.ts\\`): o código \\`error\\` da resposta vira o texto de\n \\`autoService.groupErrors\\` no idioma ativo — \\`invalid_type\\`, \\`admin_type_reserved\\`, \\`empty_update\\`,\n \\`group_project_immutable\\` (400); \\`group_name_taken\\`, \\`admin_group_immutable\\`, \\`admin_group_protected\\`,\n \\`admin_group_last_member\\`, \\`admin_group_access_protected\\` (409; de servidor antigo — o atual responde 404 ao\n grupo de administração); \\`404\\` de grupo → \\`groupNotFound\\`. Código\n desconhecido usa o \\`detail\\` do servidor e, por último, o texto genérico (\\`groupSaveError\\`, \\`membersSaveError\\` ou\n \\`deleteError\\`). O \\`AutoServiceDeleteFeedback\\` usa a mesma função em todas as exclusões do auto-serviço.\n- Sugestões: \\`limit=30\\` sem \\`search\\`, mostradas de 3 em 3. Busca: a partir de 2 caracteres, depois de 300 ms sem\n digitar, \\`limit=10\\`. Membros atuais são retirados dos dois.\n- Funções oferecidas pela tela: Administrador e Editor; vazio grava \\`role: null\\` (membro sem função, que só vê os outros\\n membros nas configurações do app). Outro valor o servidor recusa (\\`400 invalid_role\\`).\n- **Salvar alterações** grava só a diferença, em sequência: adições, depois remoções, depois trocas de função (dos\n membros que ficaram). Ao terminar, emite \\`saved\\` e a tabela de membros recarrega. Se uma chamada falhar, o modal mostra o\n erro, emite \\`saved\\` (parte pode ter sido gravada) e recarrega os membros.\n`;\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA,uBAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8Dd;;"}
@@ -56,9 +56,9 @@ grupo e só grava quando você confirma.
56
56
 
57
57
  - **Adicionar:** em **Adicionar usuário**, digite pelo menos 2 letras do nome, do login ou do e-mail e escolha a
58
58
  pessoa na lista (quem já é membro não aparece). Também dá para clicar numa das **Sugestões**; **Ver mais
59
- sugestões** mostra mais três. Se quiser, escolha a **Função** (Administrador, Editor ou Leitor) e clique em
59
+ sugestões** mostra mais três. Se quiser, escolha a **Função** (Administrador ou Editor) e clique em
60
60
  **Adicionar**. A pessoa entra na lista com o selo **Novo**.
61
- - **Mudar a função:** use a coluna **Função** de cada membro. O traço (—) deixa o membro sem função.
61
+ - **Mudar a função:** use a coluna **Função** de cada membro. O traço (—) deixa a pessoa como membro sem função: ela só vê os outros membros.
62
62
  - **Remover:** marque os membros na lista. Eles vão para o painel **Remoção**, ao lado, e a função deles fica
63
63
  travada. **Desfazer remoção** (o ícone ao lado do nome) devolve o membro. Marcar alguém com o selo **Novo**
64
64
  apenas o tira da lista, porque ele ainda não foi gravado.
@@ -77,4 +77,4 @@ Depois de salvar, a tabela **Membros do grupo** é recarregada.
77
77
  `;
78
78
 
79
79
  export { groups_usage as default };
80
- //# sourceMappingURL=trismegisto-spine-auto-service-groups.usage-ChGMgYU3.mjs.map
80
+ //# sourceMappingURL=trismegisto-spine-auto-service-groups.usage-CYh61LFL.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"trismegisto-spine-auto-service-groups.usage-ChGMgYU3.mjs","sources":["../../../projects/ui/auto-service/src/docs/groups.usage.ts"],"sourcesContent":["// Manual de uso da tela Grupos do auto-serviço (`RouteDocument.load`), em Markdown. Módulo próprio,\n// carregado só pelo `import()` de `AUTO_SERVICE_DOCUMENTS`: vira um chunk à parte no FESM e fica fora do\n// bundle inicial. Não importe estaticamente nem reexporte no `public-api.ts`.\nexport default `# Grupos\n\nMantenha os grupos do projeto do seu app sem depender do painel central: crie, edite e exclua grupos, veja os\nmembros de cada um, adicione e remova pessoas e defina a função de cada uma.\n\n## Antes de começar\n\nO auto-serviço administra o app em que você está logado: não há client para escolher. É preciso estar no grupo de\nadministração do projeto desse app e com o crachá **Administrador** ativo. Se aparecer o aviso de que você não\nadministra este app, falta uma dessas duas coisas: troque de crachá no menu do seu perfil, se disponível, ou peça\nacesso a quem administra o projeto.\n\n## A lista de grupos\n\nA tela abre com o botão **Novo grupo** e um cartão com dois seletores (o grupo de administração do projeto não\nentra; veja abaixo):\n\n1. **Nível de acesso**: o tipo do grupo (o crachá), do nível mais alto para o mais baixo.\n2. **Grupo**: só os grupos do nível escolhido. Trocar o nível limpa o grupo escolhido.\n\nClique em **Consultar** para abrir o grupo embaixo: um cartão com o nome, os selos do tipo (a cor acompanha o nível)\ne da situação (**Ativo** ou **Inativo**), a descrição e os botões **Editar** e **Excluir**, e a tabela **Membros do\ngrupo**.\n\n## Criar e editar\n\n- **Novo grupo** (acima dos seletores) abre o modal com **Nome** (obrigatório, até 100 caracteres), **Tipo**\n (obrigatório) e **Descrição** (opcional). **Criar** grava e já abre o grupo novo, para incluir os membros.\n- **Editar** abre o mesmo modal preenchido, com a caixa **Ativo** a mais: desmarcada, o grupo fica inativo.\n **Salvar** grava; apagar a descrição a remove.\n- O tipo **Administrador** não aparece na lista de tipos: ele é só do grupo de administração, que não se gere aqui.\n- Se o servidor recusar, a mensagem aparece no próprio modal e nada é gravado. Os casos mais comuns: já existe um\n grupo com esse nome no projeto, ou o tipo escolhido deixou de existir.\n\n## Excluir\n\n**Excluir** pede confirmação (**Excluir grupo?**, com o nome do grupo). Excluir um grupo apaga também os membros\ndele, os acessos a telas (**Cliente › Acesso**) e as permissões em aplicações (**Aplicações › Acessos**), e não\npode ser desfeito. Depois aparece **Exclusão concluída.**; se o servidor recusar, a mensagem diz o motivo e o grupo\ncontinua aberto.\n\n## O grupo de administração\n\nTodo projeto tem um, e só um, grupo de administração: quem está nele administra o app no auto-serviço. Ele é gerido\nsó no painel central (Argos) e não aparece no auto-serviço: não está nos seletores, não se edita nem se exclui aqui, e os\nmembros dele também não se gerenciam por esta tela. Para incluir ou tirar alguém da administração do app, peça a\nquem administra o Argos.\n\n## Gerenciar membros\n\nCom o grupo aberto, clique em **Gerenciar membros**. O modal **Membros — nome do grupo** junta tudo o que muda no\ngrupo e só grava quando você confirma.\n\n- **Adicionar:** em **Adicionar usuário**, digite pelo menos 2 letras do nome, do login ou do e-mail e escolha a\n pessoa na lista (quem já é membro não aparece). Também dá para clicar numa das **Sugestões**; **Ver mais\n sugestões** mostra mais três. Se quiser, escolha a **Função** (Administrador, Editor ou Leitor) e clique em\n **Adicionar**. A pessoa entra na lista com o selo **Novo**.\n- **Mudar a função:** use a coluna **Função** de cada membro. O traço (—) deixa o membro sem função.\n- **Remover:** marque os membros na lista. Eles vão para o painel **Remoção**, ao lado, e a função deles fica\n travada. **Desfazer remoção** (o ícone ao lado do nome) devolve o membro. Marcar alguém com o selo **Novo**\n apenas o tira da lista, porque ele ainda não foi gravado.\n- **Salvar alterações** grava tudo de uma vez: as pessoas novas, as remoções e as funções trocadas. **Cancelar**\n (ou fechar o modal) descarta o que não foi salvo. Se uma parte falhar, o modal mostra o motivo e recarrega a\n lista com o que de fato ficou gravado.\n\nDepois de salvar, a tabela **Membros do grupo** é recarregada.\n\n## O que esta tela não faz\n\n- Não mexe em grupos de outros projetos: só aparecem, e só se alteram, os grupos do projeto deste app.\n- Não mexe no grupo de administração do projeto: ele fica só no painel central (Argos).\n- Não define o que o grupo pode acessar. As telas que cada grupo vê ficam em **Cliente › Acesso**; as operações que\n cada grupo pode chamar numa aplicação ficam em **Aplicações › Acessos**.\n`;\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA,mBAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyEd;;"}
1
+ {"version":3,"file":"trismegisto-spine-auto-service-groups.usage-CYh61LFL.mjs","sources":["../../../projects/ui/auto-service/src/docs/groups.usage.ts"],"sourcesContent":["// Manual de uso da tela Grupos do auto-serviço (`RouteDocument.load`), em Markdown. Módulo próprio,\n// carregado só pelo `import()` de `AUTO_SERVICE_DOCUMENTS`: vira um chunk à parte no FESM e fica fora do\n// bundle inicial. Não importe estaticamente nem reexporte no `public-api.ts`.\nexport default `# Grupos\n\nMantenha os grupos do projeto do seu app sem depender do painel central: crie, edite e exclua grupos, veja os\nmembros de cada um, adicione e remova pessoas e defina a função de cada uma.\n\n## Antes de começar\n\nO auto-serviço administra o app em que você está logado: não há client para escolher. É preciso estar no grupo de\nadministração do projeto desse app e com o crachá **Administrador** ativo. Se aparecer o aviso de que você não\nadministra este app, falta uma dessas duas coisas: troque de crachá no menu do seu perfil, se disponível, ou peça\nacesso a quem administra o projeto.\n\n## A lista de grupos\n\nA tela abre com o botão **Novo grupo** e um cartão com dois seletores (o grupo de administração do projeto não\nentra; veja abaixo):\n\n1. **Nível de acesso**: o tipo do grupo (o crachá), do nível mais alto para o mais baixo.\n2. **Grupo**: só os grupos do nível escolhido. Trocar o nível limpa o grupo escolhido.\n\nClique em **Consultar** para abrir o grupo embaixo: um cartão com o nome, os selos do tipo (a cor acompanha o nível)\ne da situação (**Ativo** ou **Inativo**), a descrição e os botões **Editar** e **Excluir**, e a tabela **Membros do\ngrupo**.\n\n## Criar e editar\n\n- **Novo grupo** (acima dos seletores) abre o modal com **Nome** (obrigatório, até 100 caracteres), **Tipo**\n (obrigatório) e **Descrição** (opcional). **Criar** grava e já abre o grupo novo, para incluir os membros.\n- **Editar** abre o mesmo modal preenchido, com a caixa **Ativo** a mais: desmarcada, o grupo fica inativo.\n **Salvar** grava; apagar a descrição a remove.\n- O tipo **Administrador** não aparece na lista de tipos: ele é só do grupo de administração, que não se gere aqui.\n- Se o servidor recusar, a mensagem aparece no próprio modal e nada é gravado. Os casos mais comuns: já existe um\n grupo com esse nome no projeto, ou o tipo escolhido deixou de existir.\n\n## Excluir\n\n**Excluir** pede confirmação (**Excluir grupo?**, com o nome do grupo). Excluir um grupo apaga também os membros\ndele, os acessos a telas (**Cliente › Acesso**) e as permissões em aplicações (**Aplicações › Acessos**), e não\npode ser desfeito. Depois aparece **Exclusão concluída.**; se o servidor recusar, a mensagem diz o motivo e o grupo\ncontinua aberto.\n\n## O grupo de administração\n\nTodo projeto tem um, e só um, grupo de administração: quem está nele administra o app no auto-serviço. Ele é gerido\nsó no painel central (Argos) e não aparece no auto-serviço: não está nos seletores, não se edita nem se exclui aqui, e os\nmembros dele também não se gerenciam por esta tela. Para incluir ou tirar alguém da administração do app, peça a\nquem administra o Argos.\n\n## Gerenciar membros\n\nCom o grupo aberto, clique em **Gerenciar membros**. O modal **Membros — nome do grupo** junta tudo o que muda no\ngrupo e só grava quando você confirma.\n\n- **Adicionar:** em **Adicionar usuário**, digite pelo menos 2 letras do nome, do login ou do e-mail e escolha a\n pessoa na lista (quem já é membro não aparece). Também dá para clicar numa das **Sugestões**; **Ver mais\n sugestões** mostra mais três. Se quiser, escolha a **Função** (Administrador ou Editor) e clique em\n **Adicionar**. A pessoa entra na lista com o selo **Novo**.\n- **Mudar a função:** use a coluna **Função** de cada membro. O traço (—) deixa a pessoa como membro sem função: ela só vê os outros membros.\n- **Remover:** marque os membros na lista. Eles vão para o painel **Remoção**, ao lado, e a função deles fica\n travada. **Desfazer remoção** (o ícone ao lado do nome) devolve o membro. Marcar alguém com o selo **Novo**\n apenas o tira da lista, porque ele ainda não foi gravado.\n- **Salvar alterações** grava tudo de uma vez: as pessoas novas, as remoções e as funções trocadas. **Cancelar**\n (ou fechar o modal) descarta o que não foi salvo. Se uma parte falhar, o modal mostra o motivo e recarrega a\n lista com o que de fato ficou gravado.\n\nDepois de salvar, a tabela **Membros do grupo** é recarregada.\n\n## O que esta tela não faz\n\n- Não mexe em grupos de outros projetos: só aparecem, e só se alteram, os grupos do projeto deste app.\n- Não mexe no grupo de administração do projeto: ele fica só no painel central (Argos).\n- Não define o que o grupo pode acessar. As telas que cada grupo vê ficam em **Cliente › Acesso**; as operações que\n cada grupo pode chamar numa aplicação ficam em **Aplicações › Acessos**.\n`;\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA,mBAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyEd;;"}
@@ -32,12 +32,12 @@ não vê os seus. Ao sair do sistema, os abertos recentemente são apagados; os
32
32
  - **Uma tela só:** se você tem acesso a uma única tela de trabalho, o Início abre essa tela direto. Isso acontece uma
33
33
  vez por carregamento do sistema; se você voltar ao Início depois, ele aparece normalmente.
34
34
  - **Sem acesso:** se a sua conta ainda não tem nenhuma tela liberada, aparece o aviso "Você ainda não tem acesso a
35
- nenhuma tela". O acesso é liberado pelo gestor da sua área; se ele já aprovou, saia e entre de novo, ou abra um
36
- chamado para a equipe responsável.
35
+ nenhuma tela". O acesso é liberado pelo administrador da aplicação ou pelo administrador de um grupo com acesso a
36
+ ela; se ele já liberou, saia e entre de novo.
37
37
 
38
38
  > O que aparece no Início vem da sua árvore de navegação (as telas que os seus grupos e o seu crachá ativo
39
39
  > liberam). Trocar de crachá no menu do perfil pode mudar os atalhos.
40
40
  `;
41
41
 
42
42
  export { home_usage as default };
43
- //# sourceMappingURL=trismegisto-spine-auto-service-home.usage-D6cb4B3Z.mjs.map
43
+ //# sourceMappingURL=trismegisto-spine-auto-service-home.usage-DWYGtngX.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"trismegisto-spine-auto-service-home.usage-D6cb4B3Z.mjs","sources":["../../../projects/ui/auto-service/src/docs/home.usage.ts"],"sourcesContent":["// Manual de uso da tela Início do auto-serviço (`RouteDocument.load`), em Markdown. Módulo próprio,\n// carregado só pelo `import()` de `AUTO_SERVICE_DOCUMENTS`: vira um chunk à parte no FESM e fica fora do\n// bundle inicial. Não importe estaticamente nem reexporte no `public-api.ts`.\nexport default `# Início\n\nPonto de partida do sistema: atalhos para as telas que você pode abrir, as que você abriu por último, os seus\nfavoritos e o caminho para as configurações e para a documentação.\n\n## Como usar\n\n1. Os blocos grandes levam às telas. O título do bloco é **Módulos** quando os atalhos são os módulos do menu e\n **Suas telas** quando o Início já desceu para as telas de dentro deles (isso acontece quando há só um ou dois\n módulos: em vez de um bloco que só abre outro menu, você vê direto as telas). Abaixo do nome, o atalho mostra\n quantas telas reúne (por exemplo, \"3 telas\") ou o caminho no menu onde a tela fica.\n2. **Acesso privilegiado** reúne, à parte, os atalhos das telas de administração do auto-serviço (**Grupos**,\n **Aplicações**, **Cliente** e **Auditoria**), para não se misturarem às telas de trabalho do dia a dia.\n3. **Abertos recentemente** lista as últimas telas abertas (até 4), da mais recente para a mais antiga, com a\n coluna **Onde fica** (o caminho no menu). Clique no nome para abrir; o coração da coluna **Favoritar** adiciona ou\n remove a tela dos favoritos.\n4. **Favoritos** mostra as telas favoritadas como botões. Passe o mouse sobre um deles para ver onde a tela fica.\n5. **Navegar** traz as áreas de topo do sistema (como o próprio Início) e **Configurações**, que abre o painel de\n configurações (tema, densidade, atalhos e o resto das preferências).\n6. **Ferramentas › Documentação do sistema** abre o índice da documentação: o manual de cada tela que você pode\n abrir e que tem documentação.\n\nRecentes e favoritos ficam guardados neste navegador, separados por pessoa: quem entrar depois no mesmo computador\nnão vê os seus. Ao sair do sistema, os abertos recentemente são apagados; os favoritos ficam para a próxima vez. Quando todos os atalhos já abrem uma tela final, as seções\n**Abertos recentemente** e **Favoritos** não aparecem: elas não poupariam nenhum clique.\n\n## Situações especiais\n\n- **Uma tela só:** se você tem acesso a uma única tela de trabalho, o Início abre essa tela direto. Isso acontece uma\n vez por carregamento do sistema; se você voltar ao Início depois, ele aparece normalmente.\n- **Sem acesso:** se a sua conta ainda não tem nenhuma tela liberada, aparece o aviso \"Você ainda não tem acesso a\n nenhuma tela\". O acesso é liberado pelo gestor da sua área; se ele já aprovou, saia e entre de novo, ou abra um\n chamado para a equipe responsável.\n\n> O que aparece no Início vem da sua árvore de navegação (as telas que os seus grupos e o seu crachá ativo\n> liberam). Trocar de crachá no menu do perfil pode mudar os atalhos.\n`;\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA,iBAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCd;;"}
1
+ {"version":3,"file":"trismegisto-spine-auto-service-home.usage-DWYGtngX.mjs","sources":["../../../projects/ui/auto-service/src/docs/home.usage.ts"],"sourcesContent":["// Manual de uso da tela Início do auto-serviço (`RouteDocument.load`), em Markdown. Módulo próprio,\n// carregado só pelo `import()` de `AUTO_SERVICE_DOCUMENTS`: vira um chunk à parte no FESM e fica fora do\n// bundle inicial. Não importe estaticamente nem reexporte no `public-api.ts`.\nexport default `# Início\n\nPonto de partida do sistema: atalhos para as telas que você pode abrir, as que você abriu por último, os seus\nfavoritos e o caminho para as configurações e para a documentação.\n\n## Como usar\n\n1. Os blocos grandes levam às telas. O título do bloco é **Módulos** quando os atalhos são os módulos do menu e\n **Suas telas** quando o Início já desceu para as telas de dentro deles (isso acontece quando há só um ou dois\n módulos: em vez de um bloco que só abre outro menu, você vê direto as telas). Abaixo do nome, o atalho mostra\n quantas telas reúne (por exemplo, \"3 telas\") ou o caminho no menu onde a tela fica.\n2. **Acesso privilegiado** reúne, à parte, os atalhos das telas de administração do auto-serviço (**Grupos**,\n **Aplicações**, **Cliente** e **Auditoria**), para não se misturarem às telas de trabalho do dia a dia.\n3. **Abertos recentemente** lista as últimas telas abertas (até 4), da mais recente para a mais antiga, com a\n coluna **Onde fica** (o caminho no menu). Clique no nome para abrir; o coração da coluna **Favoritar** adiciona ou\n remove a tela dos favoritos.\n4. **Favoritos** mostra as telas favoritadas como botões. Passe o mouse sobre um deles para ver onde a tela fica.\n5. **Navegar** traz as áreas de topo do sistema (como o próprio Início) e **Configurações**, que abre o painel de\n configurações (tema, densidade, atalhos e o resto das preferências).\n6. **Ferramentas › Documentação do sistema** abre o índice da documentação: o manual de cada tela que você pode\n abrir e que tem documentação.\n\nRecentes e favoritos ficam guardados neste navegador, separados por pessoa: quem entrar depois no mesmo computador\nnão vê os seus. Ao sair do sistema, os abertos recentemente são apagados; os favoritos ficam para a próxima vez. Quando todos os atalhos já abrem uma tela final, as seções\n**Abertos recentemente** e **Favoritos** não aparecem: elas não poupariam nenhum clique.\n\n## Situações especiais\n\n- **Uma tela só:** se você tem acesso a uma única tela de trabalho, o Início abre essa tela direto. Isso acontece uma\n vez por carregamento do sistema; se você voltar ao Início depois, ele aparece normalmente.\n- **Sem acesso:** se a sua conta ainda não tem nenhuma tela liberada, aparece o aviso \"Você ainda não tem acesso a\n nenhuma tela\". O acesso é liberado pelo administrador da aplicação ou pelo administrador de um grupo com acesso a\n ela; se ele já liberou, saia e entre de novo.\n\n> O que aparece no Início vem da sua árvore de navegação (as telas que os seus grupos e o seu crachá ativo\n> liberam). Trocar de crachá no menu do perfil pode mudar os atalhos.\n`;\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA,iBAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCd;;"}
@@ -37,9 +37,9 @@ const AUTO_SERVICE_HOME_TEMPLATE_ROUTER_ID = '6a9a13db-f31b-494e-b51c-79af0ac28b
37
37
  */
38
38
  const AUTO_SERVICE_SCREENS = {
39
39
  home: () => import('./trismegisto-spine-auto-service-home.component-5_aji1hf.mjs').then(m => m.HomeComponent),
40
- groups: () => import('./trismegisto-spine-auto-service-auto-service-groups.component-2xCG_wS9.mjs').then(m => m.AutoServiceGroupsComponent),
41
- apps: () => import('./trismegisto-spine-auto-service-auto-service.component-C4FBAefe.mjs').then(m => m.AutoServiceComponent),
42
- client: () => import('./trismegisto-spine-auto-service-auto-service-client.component-DzmlpLPu.mjs').then(m => m.AutoServiceClientComponent),
40
+ groups: () => import('./trismegisto-spine-auto-service-auto-service-groups.component-D6L0gTmd.mjs').then(m => m.AutoServiceGroupsComponent),
41
+ apps: () => import('./trismegisto-spine-auto-service-auto-service.component-DGrs_Jvw.mjs').then(m => m.AutoServiceComponent),
42
+ client: () => import('./trismegisto-spine-auto-service-auto-service-client.component-IATeedbr.mjs').then(m => m.AutoServiceClientComponent),
43
43
  audit: () => import('./trismegisto-spine-auto-service-auto-service-audit.component-tfGcVR3i.mjs').then(m => m.AutoServiceAuditComponent),
44
44
  loginAttempts: () => import('./trismegisto-spine-auto-service-auto-service-login-attempts.component-CRvxfSWD.mjs').then(m => m.AutoServiceLoginAttemptsComponent),
45
45
  };
@@ -53,19 +53,19 @@ const AUTO_SERVICE_SCREENS = {
53
53
  */
54
54
  const AUTO_SERVICE_DOCUMENTS = {
55
55
  home: {
56
- load: () => import('./trismegisto-spine-auto-service-home.usage-D6cb4B3Z.mjs').then(m => m.default),
56
+ load: () => import('./trismegisto-spine-auto-service-home.usage-DWYGtngX.mjs').then(m => m.default),
57
57
  loadTechnical: () => import('./trismegisto-spine-auto-service-home.technical-BrVhcgDO.mjs').then(m => m.default),
58
58
  },
59
59
  groups: {
60
- load: () => import('./trismegisto-spine-auto-service-groups.usage-ChGMgYU3.mjs').then(m => m.default),
61
- loadTechnical: () => import('./trismegisto-spine-auto-service-groups.technical-D05838rU.mjs').then(m => m.default),
60
+ load: () => import('./trismegisto-spine-auto-service-groups.usage-CYh61LFL.mjs').then(m => m.default),
61
+ loadTechnical: () => import('./trismegisto-spine-auto-service-groups.technical-9aPPulhy.mjs').then(m => m.default),
62
62
  },
63
63
  apps: {
64
- load: () => import('./trismegisto-spine-auto-service-apps.usage-po9Ds_SU.mjs').then(m => m.default),
64
+ load: () => import('./trismegisto-spine-auto-service-apps.usage-C0F_MlCo.mjs').then(m => m.default),
65
65
  loadTechnical: () => import('./trismegisto-spine-auto-service-apps.technical-D3W2Vwic.mjs').then(m => m.default),
66
66
  },
67
67
  client: {
68
- load: () => import('./trismegisto-spine-auto-service-client.usage-B16r3IHk.mjs').then(m => m.default),
68
+ load: () => import('./trismegisto-spine-auto-service-client.usage-C_2zBCRN.mjs').then(m => m.default),
69
69
  loadTechnical: () => import('./trismegisto-spine-auto-service-client.technical-DP5G8i3o.mjs').then(m => m.default),
70
70
  },
71
71
  audit: {