Veja o que é necessário saber:
- Três novos recursos de CSS facilitam a adição de animações de entrada e saída suaves.
- Calcule conjuntos de dados de ordem superior com o agrupamento de matrizes.
- O DevTools facilita as substituições locais.
- E tem muito mais.
Meu nome é Adriana Jara. Vamos nos aprofundar e conhecer as novidades para desenvolvedores no Chrome 117.
Novos recursos do CSS para animações de entrada e saída.
Esses três novos recursos do CSS completam o conjunto para adicionar facilmente animações de entrada e saída e animar de forma suave para e a partir dos elementos dispensáveis da camada superior, como caixas de diálogo e pop-ups.
O primeiro recurso é transition-behavior
. Para fazer a transição de propriedades distintas, como display
, use o valor allow-discrete
para transition-behavior
.
.card {
transition: opacity 0.25s, display 0.25s;
transition-behavior: allow-discrete; /* Note: be sure to write this after the shorthand */
}
.card.fade-out {
opacity: 0;
display: none;
}
Em seguida, a regra @starting-style
é usada para animar os efeitos de entrada de display: none
para a camada superior. Use @starting-style
para aplicar um estilo que o navegador possa procurar antes que o elemento seja aberto na página.
/* 0. IS-OPEN STATE */
/* The state at which the element is open + transition logic */
.item {
height: 3rem;
display: grid;
overflow: hidden;
transition: opacity 0.5s, transform 0.5s, height 0.5s, display 0.5s allow-discrete;
}
/* 1. BEFORE-OPEN STATE */
/* Starting point for the transition */
@starting-style {
.item {
opacity: 0;
height: 0;
}
}
/* 2. EXITING STATE */
/* While it is deleting, before DOM removal in JS, apply this
transformation for height, opacity, and a transform which
skews the element and moves it to the left before setting
it to display: none */
.is-deleting {
opacity: 0;
height: 0;
display: none;
transform: skewX(50deg) translateX(-25vw);
}
Por fim, para esmaecer uma popover
ou dialog
da camada superior, adicione a propriedade overlay
à sua lista de transições. Inclua a sobreposição na transição ou animação para animar a sobreposição junto com o restante dos recursos e garanta que ela permaneça na camada superior durante a animação. Isso será muito mais suave.
[open] {
transition: opacity 1s, display 1s allow-discrete;
}
[open] {
transition: opacity 1s, display 1s allow-discrete, overlay 1s allow-discrete;
}
Confira Quatro novos recursos do CSS para animações de entrada e saída suaves e saiba como usar esses recursos para melhorar a experiência do usuário com a animação.
Agrupamento de matriz
Na programação, o agrupamento de matrizes é uma operação extremamente comum, mais comumente usada quando usamos a cláusula GROUP BY do SQL e a programação MapReduce (que pode ser considerada como map-group-reduce).
A capacidade de combinar dados em grupos permite que os desenvolvedores calculem conjuntos de dados de ordem superior. Por exemplo, a idade média de um grupo ou os valores diários de LCP de uma página da Web.
O agrupamento de matrizes permite esses cenários adicionando os métodos estáticos Object.groupBy
e Map.groupBy
.
groupBy
chama uma função de callback fornecida uma vez para cada elemento em um iterável. A função de callback precisa retornar uma string ou um símbolo que indique o grupo do elemento associado.
No exemplo a seguir, da documentação do MDN (em inglês), há uma matriz de produtos com o método groupBy
usado para retorná-los agrupados por tipo.
const inventory = [
{ name: "asparagus", type: "vegetables", quantity: 5 },
{ name: "bananas", type: "fruit", quantity: 0 },
{ name: "goat", type: "meat", quantity: 23 },
{ name: "cherries", type: "fruit", quantity: 5 },
{ name: "fish", type: "meat", quantity: 22 },
];
const result = Object.groupBy(inventory, ({ type }) => type);
/* Result is:
{
vegetables: [
{ name: 'asparagus', type: 'vegetables', quantity: 5 },
],
fruit: [
{ name: "bananas", type: "fruit", quantity: 0 },
{ name: "cherries", type: "fruit", quantity: 5 }
],
meat: [
{ name: "goat", type: "meat", quantity: 23 },
{ name: "fish", type: "meat", quantity: 22 }
]
}
*/
Para mais detalhes, consulte a documentação do groupBy
.
As substituições locais foram simplificadas no DevTools.
O recurso de substituições locais agora foi simplificado para que você possa simular facilmente cabeçalhos de resposta e conteúdo da Web de recursos remotos no painel Rede sem precisar acessar eles.
Para substituir o conteúdo da Web, abra o painel Network, clique com o botão direito do mouse em uma solicitação e selecione Override content.
Se você tiver substituições locais configuradas, mas desativadas, o DevTools as ativará. Se você ainda não os configurou, o DevTools exibe a barra de ações na parte superior. Selecione uma pasta para armazenar as substituições e permita que as Ferramentas do desenvolvedor acessem essa pasta.
Depois que as substituições forem configuradas, as DevTools vão levar você a Fontes > Substituições > Editor para que você possa substituir o conteúdo da Web.
Os recursos substituídos são indicados com no painel Network. Passe o cursor sobre o ícone para ver o que foi substituído.
Confira as novidades do DevTools para conhecer todos os detalhes e mais informações sobre ele no Chrome 117.
E muito mais.
É claro que há muito mais.
O valor
subgrid
tão esperado paragrid-template-columns
egrid-template-rows
agora está implementado no Chrome.Há um teste de descontinuação do
WebSQL
e um teste de desenvolvedor para a descontinuação do eventounload
.
Leitura adicional
Isso inclui apenas alguns destaques importantes. Consulte os links abaixo para outras mudanças no Chrome 117.
- Novidades do Chrome DevTools (117)
- Descontinuações e remoções do Chrome 117
- Atualizações do ChromeStatus.com para o Chrome 117
- Lista de mudanças no repositório de origem do Chromium
- Calendário de lançamentos do Chrome
Inscrever-se
Para ficar por dentro das novidades, inscreva-se no Canal Chrome Developers no YouTube, e você receberá uma notificação por e-mail sempre que lançarmos um novo vídeo.
Adriana Jara! Assim que o Chrome 117 for lançado, estarei aqui para contar as novidades do Chrome!