PageSourceSearch

https://loja.correios.com.br/public-resources/core/js/acessibilidade.js

js correios.com.br collected 2026-09-24 07:27:31 UTC 2,690 bytes, 106 lines download raw bytes

1import {enterClick} from './events.js';
2import {abre as abreMenu} from './menu.js';
3
4const menu = document.querySelector('#acessibilidade a');
5const dd = document.querySelector('#acess-drop-down');
6const close = document.querySelector('#acess-drop-down .close');
7
8const toggle = () => {
9  menu.classList.toggle('aberto');
10  dd.classList.toggle('aberto');
11};
12
13const abre = () => {
14  menu.classList.add('aberto');
15  dd.classList.add('aberto');
16};
17
18const fecha = () => {
19  menu.classList.remove('aberto');
20  dd.classList.remove('aberto');
21};
22
23const irConteudo = () => {
24  document.querySelector('main').scrollIntoView({block: 'start', inline: 'start'});
25  fecha();
26};
27
28const irMenu = () => {
29  abreMenu();
30  const aberto = document.querySelector('#menu .menu div.aberto');
31  if (aberto) {
32    const primeiro = aberto.querySelector('a');
33    if (primeiro) {
34      primeiro.focus();
35    }
36    return;
37  }
38  const primeiro = document.querySelector('#menu .menu > a');
39  if (primeiro) {
40    primeiro.focus();
41  }
42  fecha();
43};
44
45const irRodape = () => {
46  document.querySelector('footer').scrollIntoView({block: 'center', inline: 'center'});
47  fecha();
48};
49
50const toggleContraste = () => {
51  document.querySelector('body').classList.toggle('alto-contraste');
52  const contem = document.querySelector('body').classList.contains('alto-contraste');
53  localStorage.setItem('alto-contraste', contem ? '1' : '0');
54  fecha();
55};
56
57const registraAcoes = () => {
58  document.querySelector('#acess-drop-down .conteudo').addEventListener('click', irConteudo);
59  document.querySelector('#acess-drop-down .menu').addEventListener('click', irMenu);
60  document.querySelector('#acess-drop-down .rodape').addEventListener('click', irRodape);
61  document.querySelector('#acess-drop-down .contraste').addEventListener('click', toggleContraste);
62
63  window.addEventListener('keydown', ev => {
64    if (!ev.altKey) {
65      return;
66    }
67    ev.preventDefault();
68    switch (ev.key) {
69      case '1':
70        irConteudo();
71        break;
72      case '2':
73        irMenu()
74        break;
75      case '3':
76        irRodape()
77        break;
78      case '4':
79        toggleContraste();
80        break;
81    }
82  });
83
84};
85
86if (menu) {
87  menu.addEventListener('click', ev => {
88    ev.stopPropagation();
89    toggle();
90  });
91  dd.addEventListener('click', ev => ev.stopPropagation());
92  document.body.addEventListener('click', () => fecha());
93  close.addEventListener('click', () => fecha());
94
95  enterClick(menu);
96  enterClick(dd);
97  enterClick(close);
98  registraAcoes();
99}
100
101const altoContraste = localStorage.getItem('alto-contraste') ?? '0';
102if (altoContraste == '1') {
103  document.querySelector('body').classList.add('alto-contraste');
104}
105
106

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.