@govbr-ds/webcomponents 2.0.0-next.61 → 2.0.0-next.63

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 (277) hide show
  1. package/dist/cjs/br-checkbox.br-input.br-radio.entry.cjs.js.map +1 -1
  2. package/dist/cjs/br-checkbox_3.cjs.entry.js +17 -28
  3. package/dist/cjs/br-collapse.br-list.entry.cjs.js.map +1 -1
  4. package/dist/cjs/br-collapse_2.cjs.entry.js +10 -15
  5. package/dist/cjs/br-datetime-picker.cjs.entry.js +18 -31
  6. package/dist/cjs/br-datetime-picker.entry.cjs.js.map +1 -1
  7. package/dist/cjs/br-dropdown.br-select.entry.cjs.js.map +1 -1
  8. package/dist/cjs/br-dropdown_2.cjs.entry.js +73 -56
  9. package/dist/cjs/br-header-list.cjs.entry.js +6 -13
  10. package/dist/cjs/br-header-list.entry.cjs.js.map +1 -1
  11. package/dist/cjs/br-header.cjs.entry.js +2 -5
  12. package/dist/cjs/br-header.entry.cjs.js.map +1 -1
  13. package/dist/cjs/br-item.cjs.entry.js +3 -6
  14. package/dist/cjs/br-item.entry.cjs.js.map +1 -1
  15. package/dist/cjs/br-message.cjs.entry.js +13 -16
  16. package/dist/cjs/br-message.entry.cjs.js.map +1 -1
  17. package/dist/cjs/br-modal.cjs.entry.js +123 -24
  18. package/dist/cjs/br-modal.entry.cjs.js.map +1 -1
  19. package/dist/cjs/br-scrim.cjs.entry.js +108 -25
  20. package/dist/cjs/br-scrim.entry.cjs.js.map +1 -1
  21. package/dist/cjs/br-skip-link.cjs.entry.js +24 -29
  22. package/dist/cjs/br-skip-link.entry.cjs.js.map +1 -1
  23. package/dist/cjs/br-skiplink-item.cjs.entry.js +32 -37
  24. package/dist/cjs/br-skiplink-item.entry.cjs.js.map +1 -1
  25. package/dist/cjs/br-step.br-step-item.entry.cjs.js.map +1 -1
  26. package/dist/cjs/br-step_2.cjs.entry.js +33 -56
  27. package/dist/cjs/br-switch.cjs.entry.js +3 -6
  28. package/dist/cjs/br-switch.entry.cjs.js.map +1 -1
  29. package/dist/cjs/br-textarea.cjs.entry.js +5 -8
  30. package/dist/cjs/br-textarea.entry.cjs.js.map +1 -1
  31. package/dist/cjs/br-tooltip.cjs.entry.js +1 -2
  32. package/dist/cjs/br-tooltip.entry.cjs.js.map +1 -1
  33. package/dist/cjs/br-wizard-panel.cjs.entry.js +6 -13
  34. package/dist/cjs/br-wizard-panel.entry.cjs.js.map +1 -1
  35. package/dist/cjs/br-wizard.cjs.entry.js +147 -182
  36. package/dist/cjs/br-wizard.entry.cjs.js.map +1 -1
  37. package/dist/cjs/{floating-ui-D_WzFT9x.js → floating-ui-CkTJEp-y.js} +11 -15
  38. package/dist/{esm/floating-ui-DBIzWbO2.js.map → cjs/floating-ui-CkTJEp-y.js.map} +1 -1
  39. package/dist/cjs/loader.cjs.js +1 -1
  40. package/dist/cjs/webcomponents.cjs.js +1 -1
  41. package/dist/collection/components/checkbox/checkbox.js +9 -16
  42. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  43. package/dist/collection/components/collapse/collapse.js +10 -15
  44. package/dist/collection/components/collapse/collapse.js.map +1 -1
  45. package/dist/collection/components/datetime-picker/datetime-picker.js +18 -31
  46. package/dist/collection/components/datetime-picker/datetime-picker.js.map +1 -1
  47. package/dist/collection/components/dropdown/dropdown.js +13 -20
  48. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  49. package/dist/collection/components/header/header-list/header-list.js +6 -13
  50. package/dist/collection/components/header/header-list/header-list.js.map +1 -1
  51. package/dist/collection/components/header/header.js +2 -5
  52. package/dist/collection/components/header/header.js.map +1 -1
  53. package/dist/collection/components/item/item.js +3 -6
  54. package/dist/collection/components/item/item.js.map +1 -1
  55. package/dist/collection/components/message/message.js +13 -16
  56. package/dist/collection/components/message/message.js.map +1 -1
  57. package/dist/collection/components/modal/modal.js +156 -46
  58. package/dist/collection/components/modal/modal.js.map +1 -1
  59. package/dist/collection/components/radio/radio.js +8 -13
  60. package/dist/collection/components/radio/radio.js.map +1 -1
  61. package/dist/collection/components/scrim/scrim.js +108 -25
  62. package/dist/collection/components/scrim/scrim.js.map +1 -1
  63. package/dist/collection/components/select/select.js +79 -36
  64. package/dist/collection/components/select/select.js.map +1 -1
  65. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +32 -37
  66. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js.map +1 -1
  67. package/dist/collection/components/skip-link/skip-link.js +24 -29
  68. package/dist/collection/components/skip-link/skip-link.js.map +1 -1
  69. package/dist/collection/components/step/step-item/step-item.js +13 -26
  70. package/dist/collection/components/step/step-item/step-item.js.map +1 -1
  71. package/dist/collection/components/step/step.js +20 -31
  72. package/dist/collection/components/step/step.js.map +1 -1
  73. package/dist/collection/components/switch/switch.js +3 -6
  74. package/dist/collection/components/switch/switch.js.map +1 -1
  75. package/dist/collection/components/textarea/textarea.js +5 -8
  76. package/dist/collection/components/textarea/textarea.js.map +1 -1
  77. package/dist/collection/components/wizard/wizard-panel/wizard-panel.js +6 -13
  78. package/dist/collection/components/wizard/wizard-panel/wizard-panel.js.map +1 -1
  79. package/dist/collection/components/wizard/wizard.js +147 -182
  80. package/dist/collection/components/wizard/wizard.js.map +1 -1
  81. package/dist/collection/pages/components/modal/index.js +1 -53
  82. package/dist/collection/utils/floating-ui.js +9 -12
  83. package/dist/collection/utils/floating-ui.js.map +1 -1
  84. package/dist/components/br-breadcrumb.js +3 -3
  85. package/dist/components/br-checkbox.js +4 -4
  86. package/dist/components/br-checkgroup.js +1 -1
  87. package/dist/components/br-collapse.js +4 -4
  88. package/dist/components/br-datetime-picker.js +1981 -1995
  89. package/dist/components/br-datetime-picker.js.map +1 -1
  90. package/dist/components/br-dropdown.js +1 -1
  91. package/dist/components/br-footer-category.js +3 -3
  92. package/dist/components/br-footer-item.js +1 -1
  93. package/dist/components/br-header-function.js +1 -1
  94. package/dist/components/br-header-link.js +1 -1
  95. package/dist/components/br-header-list.js +31 -39
  96. package/dist/components/br-header-list.js.map +1 -1
  97. package/dist/components/br-header.js +63 -67
  98. package/dist/components/br-header.js.map +1 -1
  99. package/dist/components/br-item.js +1 -1
  100. package/dist/components/br-list.js +3 -3
  101. package/dist/components/br-message.js +28 -32
  102. package/dist/components/br-message.js.map +1 -1
  103. package/dist/components/br-modal.js +140 -49
  104. package/dist/components/br-modal.js.map +1 -1
  105. package/dist/components/br-pagination.js +7 -7
  106. package/dist/components/br-radio.js +1 -1
  107. package/dist/components/br-scrim.js +112 -43
  108. package/dist/components/br-scrim.js.map +1 -1
  109. package/dist/components/br-select.js +3 -3
  110. package/dist/components/br-skip-link.js +38 -44
  111. package/dist/components/br-skip-link.js.map +1 -1
  112. package/dist/components/br-skiplink-item.js +55 -61
  113. package/dist/components/br-skiplink-item.js.map +1 -1
  114. package/dist/components/br-step-item.js +4 -4
  115. package/dist/components/br-step.js +4 -4
  116. package/dist/components/br-switch.js +12 -16
  117. package/dist/components/br-switch.js.map +1 -1
  118. package/dist/components/br-textarea.js +14 -18
  119. package/dist/components/br-textarea.js.map +1 -1
  120. package/dist/components/br-tooltip.js +1 -1
  121. package/dist/components/br-wizard-panel.js +13 -21
  122. package/dist/components/br-wizard-panel.js.map +1 -1
  123. package/dist/components/br-wizard.js +190 -228
  124. package/dist/components/br-wizard.js.map +1 -1
  125. package/dist/components/{p-Cc75U9ZX.js → p-B_YesJM8.js} +26 -34
  126. package/dist/components/{p-Cc75U9ZX.js.map → p-B_YesJM8.js.map} +1 -1
  127. package/dist/components/{p-xFn46pdm.js → p-Bc03PTAW.js} +27 -39
  128. package/dist/components/{p-xFn46pdm.js.map → p-Bc03PTAW.js.map} +1 -1
  129. package/dist/components/{p-DzKEfDGA.js → p-Bri6ECVa.js} +27 -33
  130. package/dist/components/{p-DzKEfDGA.js.map → p-Bri6ECVa.js.map} +1 -1
  131. package/dist/components/{p-BZ8BetvD.js → p-CJSXIVVe.js} +17 -23
  132. package/dist/components/{p-BZ8BetvD.js.map → p-CJSXIVVe.js.map} +1 -1
  133. package/dist/components/{p-D9c7NikS.js → p-CWRBs6PD.js} +24 -38
  134. package/dist/components/{p-D9c7NikS.js.map → p-CWRBs6PD.js.map} +1 -1
  135. package/dist/components/{p-D0dPo1K5.js → p-CwtLw60M.js} +12 -16
  136. package/dist/components/{p-D0dPo1K5.js.map → p-CwtLw60M.js.map} +1 -1
  137. package/dist/components/{p-z1PVVVFI.js → p-DW63EY0U.js} +27 -35
  138. package/dist/components/{p-z1PVVVFI.js.map → p-DW63EY0U.js.map} +1 -1
  139. package/dist/components/{p-7kxAU6Gr.js → p-DdjKNpU3.js} +92 -72
  140. package/dist/components/p-DdjKNpU3.js.map +1 -0
  141. package/dist/{webcomponents/p-B4au_byv.js → components/p-k0WZfTfL.js} +121 -124
  142. package/dist/components/{p-B4au_byv.js.map → p-k0WZfTfL.js.map} +1 -1
  143. package/dist/components/{p-OKkBxn1z.js → p-lIb35q2K.js} +3 -3
  144. package/dist/custom-elements.json +1613 -430
  145. package/dist/esm/br-checkbox.br-input.br-radio.entry.js.map +1 -1
  146. package/dist/esm/br-checkbox_3.entry.js +17 -28
  147. package/dist/esm/br-collapse.br-list.entry.js.map +1 -1
  148. package/dist/esm/br-collapse_2.entry.js +10 -15
  149. package/dist/esm/br-datetime-picker.entry.js +18 -31
  150. package/dist/esm/br-datetime-picker.entry.js.map +1 -1
  151. package/dist/esm/br-dropdown.br-select.entry.js.map +1 -1
  152. package/dist/esm/br-dropdown_2.entry.js +73 -56
  153. package/dist/esm/br-header-list.entry.js +6 -13
  154. package/dist/esm/br-header-list.entry.js.map +1 -1
  155. package/dist/esm/br-header.entry.js +2 -5
  156. package/dist/esm/br-header.entry.js.map +1 -1
  157. package/dist/esm/br-item.entry.js +3 -6
  158. package/dist/esm/br-item.entry.js.map +1 -1
  159. package/dist/esm/br-message.entry.js +13 -16
  160. package/dist/esm/br-message.entry.js.map +1 -1
  161. package/dist/esm/br-modal.entry.js +123 -24
  162. package/dist/esm/br-modal.entry.js.map +1 -1
  163. package/dist/esm/br-scrim.entry.js +108 -25
  164. package/dist/esm/br-scrim.entry.js.map +1 -1
  165. package/dist/esm/br-skip-link.entry.js +24 -29
  166. package/dist/esm/br-skip-link.entry.js.map +1 -1
  167. package/dist/esm/br-skiplink-item.entry.js +32 -37
  168. package/dist/esm/br-skiplink-item.entry.js.map +1 -1
  169. package/dist/esm/br-step.br-step-item.entry.js.map +1 -1
  170. package/dist/esm/br-step_2.entry.js +33 -56
  171. package/dist/esm/br-switch.entry.js +3 -6
  172. package/dist/esm/br-switch.entry.js.map +1 -1
  173. package/dist/esm/br-textarea.entry.js +5 -8
  174. package/dist/esm/br-textarea.entry.js.map +1 -1
  175. package/dist/esm/br-tooltip.entry.js +1 -2
  176. package/dist/esm/br-tooltip.entry.js.map +1 -1
  177. package/dist/esm/br-wizard-panel.entry.js +6 -13
  178. package/dist/esm/br-wizard-panel.entry.js.map +1 -1
  179. package/dist/esm/br-wizard.entry.js +147 -182
  180. package/dist/esm/br-wizard.entry.js.map +1 -1
  181. package/dist/esm/{floating-ui-DBIzWbO2.js → floating-ui-k0WZfTfL.js} +11 -15
  182. package/dist/{cjs/floating-ui-D_WzFT9x.js.map → esm/floating-ui-k0WZfTfL.js.map} +1 -1
  183. package/dist/esm/loader.js +1 -1
  184. package/dist/esm/webcomponents.js +1 -1
  185. package/dist/hydrate/index.js +634 -578
  186. package/dist/hydrate/index.mjs +634 -578
  187. package/dist/types/components/modal/modal.d.ts +46 -4
  188. package/dist/types/components/scrim/scrim.d.ts +39 -1
  189. package/dist/types/components/select/select.d.ts +5 -0
  190. package/dist/types/components.d.ts +21 -11
  191. package/dist/webcomponents/br-checkbox.br-input.br-radio.entry.esm.js.map +1 -1
  192. package/dist/webcomponents/br-collapse.br-list.entry.esm.js.map +1 -1
  193. package/dist/webcomponents/br-datetime-picker.entry.esm.js.map +1 -1
  194. package/dist/webcomponents/br-dropdown.br-select.entry.esm.js.map +1 -1
  195. package/dist/webcomponents/br-header-list.entry.esm.js.map +1 -1
  196. package/dist/webcomponents/br-header.entry.esm.js.map +1 -1
  197. package/dist/webcomponents/br-item.entry.esm.js.map +1 -1
  198. package/dist/webcomponents/br-message.entry.esm.js.map +1 -1
  199. package/dist/webcomponents/br-modal.entry.esm.js.map +1 -1
  200. package/dist/webcomponents/br-scrim.entry.esm.js.map +1 -1
  201. package/dist/webcomponents/br-skip-link.entry.esm.js.map +1 -1
  202. package/dist/webcomponents/br-skiplink-item.entry.esm.js.map +1 -1
  203. package/dist/webcomponents/br-step.br-step-item.entry.esm.js.map +1 -1
  204. package/dist/webcomponents/br-switch.entry.esm.js.map +1 -1
  205. package/dist/webcomponents/br-textarea.entry.esm.js.map +1 -1
  206. package/dist/webcomponents/br-tooltip.entry.esm.js.map +1 -1
  207. package/dist/webcomponents/br-wizard-panel.entry.esm.js.map +1 -1
  208. package/dist/webcomponents/br-wizard.entry.esm.js.map +1 -1
  209. package/dist/webcomponents/{p-2fe329d6.entry.js → p-10e25a32.entry.js} +28 -34
  210. package/dist/webcomponents/p-10e25a32.entry.js.map +1 -0
  211. package/dist/webcomponents/{p-097912c2.entry.js → p-1991135d.entry.js} +30 -36
  212. package/dist/webcomponents/p-1991135d.entry.js.map +1 -0
  213. package/dist/webcomponents/{p-61e5421b.entry.js → p-27eb10f9.entry.js} +57 -61
  214. package/dist/webcomponents/p-27eb10f9.entry.js.map +1 -0
  215. package/dist/webcomponents/{p-5070161f.entry.js → p-30af66b3.entry.js} +45 -51
  216. package/dist/webcomponents/p-30af66b3.entry.js.map +1 -0
  217. package/dist/webcomponents/{p-9464b692.entry.js → p-336071a5.entry.js} +2 -4
  218. package/dist/webcomponents/p-336071a5.entry.js.map +1 -0
  219. package/dist/webcomponents/{p-8a034433.entry.js → p-462c5647.entry.js} +20 -24
  220. package/dist/webcomponents/p-462c5647.entry.js.map +1 -0
  221. package/dist/webcomponents/{p-d674cee3.entry.js → p-46dfc3ee.entry.js} +12 -16
  222. package/dist/webcomponents/p-46dfc3ee.entry.js.map +1 -0
  223. package/dist/webcomponents/{p-821b896c.entry.js → p-56aabe89.entry.js} +36 -44
  224. package/dist/webcomponents/p-56aabe89.entry.js.map +1 -0
  225. package/dist/webcomponents/{p-a615baaa.entry.js → p-5710a3e9.entry.js} +41 -65
  226. package/dist/webcomponents/p-5710a3e9.entry.js.map +1 -0
  227. package/dist/webcomponents/{p-1799a082.entry.js → p-6a9d2a0b.entry.js} +1996 -2010
  228. package/dist/webcomponents/p-6a9d2a0b.entry.js.map +1 -0
  229. package/dist/webcomponents/{p-8ad1f003.entry.js → p-83001853.entry.js} +175 -213
  230. package/dist/webcomponents/p-83001853.entry.js.map +1 -0
  231. package/dist/webcomponents/{p-28dba962.entry.js → p-90401ecd.entry.js} +124 -34
  232. package/dist/webcomponents/p-90401ecd.entry.js.map +1 -0
  233. package/dist/webcomponents/{p-e7b38c63.entry.js → p-a2eec4fb.entry.js} +112 -43
  234. package/dist/webcomponents/p-a2eec4fb.entry.js.map +1 -0
  235. package/dist/webcomponents/{p-d6475852.entry.js → p-c1b0a116.entry.js} +11 -19
  236. package/dist/webcomponents/p-c1b0a116.entry.js.map +1 -0
  237. package/dist/webcomponents/{p-c90a089a.entry.js → p-ca2d95f7.entry.js} +96 -83
  238. package/dist/webcomponents/p-ca2d95f7.entry.js.map +1 -0
  239. package/dist/webcomponents/{p-7ff6698f.entry.js → p-cfa86a23.entry.js} +10 -14
  240. package/dist/webcomponents/p-cfa86a23.entry.js.map +1 -0
  241. package/dist/webcomponents/{p-abc0ecbe.entry.js → p-e5875d3d.entry.js} +10 -14
  242. package/dist/webcomponents/p-e5875d3d.entry.js.map +1 -0
  243. package/dist/webcomponents/{p-0bfb0edf.entry.js → p-f2ea0d7e.entry.js} +133 -145
  244. package/dist/webcomponents/p-f2ea0d7e.entry.js.map +1 -0
  245. package/dist/{components/p-B4au_byv.js → webcomponents/p-k0WZfTfL.js} +121 -124
  246. package/dist/webcomponents/{p-B4au_byv.js.map → p-k0WZfTfL.js.map} +1 -1
  247. package/dist/webcomponents/webcomponents.esm.js +1 -1
  248. package/dist/webcomponents.html-custom-data.json +1708 -349
  249. package/package.json +1 -1
  250. package/dist/cjs/tslib.es6-CF44W9Bn.js +0 -42
  251. package/dist/cjs/tslib.es6-CF44W9Bn.js.map +0 -1
  252. package/dist/components/p-7kxAU6Gr.js.map +0 -1
  253. package/dist/components/p-DIPMDb5E.js +0 -55
  254. package/dist/components/p-DIPMDb5E.js.map +0 -1
  255. package/dist/esm/tslib.es6-DIPMDb5E.js +0 -40
  256. package/dist/esm/tslib.es6-DIPMDb5E.js.map +0 -1
  257. package/dist/webcomponents/p-097912c2.entry.js.map +0 -1
  258. package/dist/webcomponents/p-0bfb0edf.entry.js.map +0 -1
  259. package/dist/webcomponents/p-1799a082.entry.js.map +0 -1
  260. package/dist/webcomponents/p-28dba962.entry.js.map +0 -1
  261. package/dist/webcomponents/p-2fe329d6.entry.js.map +0 -1
  262. package/dist/webcomponents/p-5070161f.entry.js.map +0 -1
  263. package/dist/webcomponents/p-61e5421b.entry.js.map +0 -1
  264. package/dist/webcomponents/p-7ff6698f.entry.js.map +0 -1
  265. package/dist/webcomponents/p-821b896c.entry.js.map +0 -1
  266. package/dist/webcomponents/p-8a034433.entry.js.map +0 -1
  267. package/dist/webcomponents/p-8ad1f003.entry.js.map +0 -1
  268. package/dist/webcomponents/p-9464b692.entry.js.map +0 -1
  269. package/dist/webcomponents/p-DIPMDb5E.js +0 -55
  270. package/dist/webcomponents/p-DIPMDb5E.js.map +0 -1
  271. package/dist/webcomponents/p-a615baaa.entry.js.map +0 -1
  272. package/dist/webcomponents/p-abc0ecbe.entry.js.map +0 -1
  273. package/dist/webcomponents/p-c90a089a.entry.js.map +0 -1
  274. package/dist/webcomponents/p-d6475852.entry.js.map +0 -1
  275. package/dist/webcomponents/p-d674cee3.entry.js.map +0 -1
  276. package/dist/webcomponents/p-e7b38c63.entry.js.map +0 -1
  277. /package/dist/components/{p-OKkBxn1z.js.map → p-lIb35q2K.js.map} +0 -0
@@ -5,7 +5,6 @@
5
5
  'use strict';
6
6
 
7
7
  var index = require('./index-CFIH680Y.js');
8
- var tslib_es6 = require('./tslib.es6-CF44W9Bn.js');
9
8
  var helpers = require('./helpers-CvMMfpeW.js');
10
9
 
11
10
  const scrimCss = "*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}main{display:block}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}a{background-color:rgba(0,0,0,0)}b,strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.d-none{display:none !important}.d-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}@media (min-width: 576px){.d-sm-block{display:block !important}.d-sm-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}}.justify-content-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.align-items-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter)*.5);padding-right:calc(var(--grid-gutter)*.5);width:100%}.col{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-2{-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%;max-width:16.6666666667%}.container,.container-lg{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter)*-0.5);margin-right:calc(var(--grid-gutter)*-0.5)}@media (min-width: 576px){.container,.container-lg{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}.col-sm-4{-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%;max-width:33.3333333333%}}@media (min-width: 992px){.container,.container-lg{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container,.container-lg{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}.col-lg-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}}@media (min-width: 1600px){.container,.container-lg{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.ml-1{margin-left:var(--spacing-scale-half) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base)*-1) !important}.ml-2{margin-left:var(--spacing-scale-base) !important}.mx-3{margin-left:var(--spacing-scale-2x) !important;margin-right:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.ml-auto{margin-left:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}@media (min-width: 576px){.ml-sm-0{margin-left:var(--spacing-scale-default) !important}}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half)}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}a{color:var(--interactive);text-decoration:none}button{cursor:pointer}img{max-width:100%;vertical-align:middle}h2,.h2{color:var(--color);font-size:var(--font-size-scale-up-03);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2xh);margin-top:var(--spacing-scale-3xh);padding-bottom:var(--spacing-scale-2xh)}@media (min-width: 576px){.h2,h2{font-size:var(--font-size-scale-up-05);font-weight:var(--font-weight-regular)}}ul,ol{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}table{--table-background:var(--background);--table-color:var(--color);--table-border-color:var(--gray-20);--table-border-style:solid;--table-border-width:1px;--table-hover:var(--color-rgb);--table-padding:var(--spacing-scale-3x);--table-font-weight:var(--font-weight-medium);--table-th-background:var(--background-alternative);--table-th-font-weight:var(--font-weight-semi-bold);--table-row-size:var(--spacing-scale-2x);border-collapse:collapse;width:100%}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.bg-interactive{--background:var(--interactive);background:var(--interactive) !important}.text-primary-default{color:var(--color-primary-default) !important}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-nowrap{white-space:nowrap !important}.text-uppercase{text-transform:uppercase !important}.text-medium{font-weight:500 !important}.text-bold{font-weight:700 !important}.text-down-01{font-size:var(--font-size-scale-down-01) !important}@media (min-width: 576px){.text-sm-center{text-align:center !important}.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}}.ease{-webkit-animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1);animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}.ease-in-out{-webkit-animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}.fab{--icon-size:var(--icon-size-base);display:inline-block;font-size:var(--icon-size);text-align:center;width:calc(var(--icon-size) + 8px)}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}*[data-toggle=collapse]:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}*[data-toggle=collapse]:focus{outline:none}*[data-toggle=collapse]:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}:host{--br-scrim-opacity:1}:host .br-scrim{visibility:hidden;-webkit-transition:visibility .3s ease;transition:visibility .3s ease;z-index:var(--z-index-layer-4);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;pointer-events:auto}:host .br-scrim.mode-fullscreen{position:fixed;inset:0}:host .br-scrim.mode-parent{position:absolute;inset:0;width:100%;height:100%}:host .br-scrim.opened{visibility:visible;pointer-events:auto}:host .mask{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--surface-overlay-scrim);opacity:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease;pointer-events:auto}:host .br-scrim.opened .mask{opacity:var(--br-scrim-opacity)}:host .content{position:relative;outline:none;pointer-events:auto;opacity:0;-webkit-transform:scale(0.9);transform:scale(0.9);-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,transform .3s ease;transition:opacity .3s ease,transform .3s ease,-webkit-transform .3s ease;background:rgba(0,0,0,0);padding:0;margin:0;border:none;-webkit-box-shadow:none;box-shadow:none;overflow:visible;contain:none;display:inline-block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;z-index:calc(var(--z-index-layer-4) + 1)}:host .content:focus{outline:var(--focus-outline);outline-offset:var(--focus-offset);-webkit-box-shadow:var(--focus-shadow);box-shadow:var(--focus-shadow)}:host .br-scrim.opened .content{opacity:1;-webkit-transform:scale(1);transform:scale(1);pointer-events:auto}:host .br-scrim.position-top .content{position:absolute;top:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}:host .br-scrim.position-bottom .content{position:absolute;bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}:host .br-scrim.position-left .content{position:absolute;top:50%;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}:host .br-scrim.position-right .content{position:absolute;top:50%;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}:host .br-scrim.position-center .content{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}:host .content ::slotted(*){opacity:1 !important;-webkit-filter:none;filter:none}@media (width <= 768px){:host .content{max-width:95%;max-height:95%;width:auto}:host .br-scrim.position-top .content,:host .br-scrim.position-bottom .content{width:100%;max-width:100%;border-radius:0}}";
@@ -89,6 +88,29 @@ const Scrim = class {
89
88
  this.previouslyFocusedElement = null;
90
89
  this.focusTimeoutId = null;
91
90
  this.restoreFocusTimeoutId = null;
91
+ // ======================================================================
92
+ // GERENCIAMENTO DE COMPONENTES FILHOS
93
+ // ======================================================================
94
+ /**
95
+ * Handler para evento brModalOpen emitido por modal filha
96
+ */
97
+ this.handleModalOpen = (event) => {
98
+ const modalElement = event.target;
99
+ if (!this.isDirectChild(modalElement))
100
+ return;
101
+ if (!this.isOpen) {
102
+ this.open();
103
+ }
104
+ };
105
+ /**
106
+ * Handler para evento brModalClose emitido por modal filha
107
+ */
108
+ this.handleModalClose = (event) => {
109
+ const modalElement = event.target;
110
+ if (!this.isDirectChild(modalElement))
111
+ return;
112
+ this.close();
113
+ };
92
114
  this.handleActivatorClick = () => {
93
115
  this.toggle();
94
116
  };
@@ -106,6 +128,10 @@ const Scrim = class {
106
128
  const reference = (_a = this.scrollOrigin) !== null && _a !== void 0 ? _a : this.lastScrollTop;
107
129
  if (Math.abs(currentScroll - reference) > this.scrollThreshold) {
108
130
  this.scrollOrigin = null;
131
+ // Não fecha se tiver modal filha com autoClose=false ou não definido
132
+ if (this.hasModalWithAutoClose()) {
133
+ return;
134
+ }
109
135
  this.isOpen = false;
110
136
  this.handleOpenChange(false);
111
137
  return;
@@ -141,7 +167,9 @@ const Scrim = class {
141
167
  }
142
168
  if (event.key === 'Escape' && !this.disableCloseOnClick) {
143
169
  event.preventDefault();
144
- this.isOpen = false;
170
+ if (!this.hasModalWithAutoClose()) {
171
+ this.isOpen = false;
172
+ }
145
173
  }
146
174
  };
147
175
  // Intercepta TODOS os eventos de clique globalmente quando scrim está ativo
@@ -175,11 +203,15 @@ const Scrim = class {
175
203
  }, 0);
176
204
  }
177
205
  };
178
- // ======================================================================
179
- // MANIPULAÇÃO DE EVENTOS E UTILITÁRIOS
180
- // ======================================================================
206
+ /**
207
+ * Handler para clique na máscara do scrim
208
+ * Fecha o scrim se disableCloseOnClick for false e não houver modal filha com autoClose=false
209
+ */
181
210
  this.handleMaskClick = (_event) => {
182
211
  if (!this.disableCloseOnClick) {
212
+ if (this.hasModalWithAutoClose()) {
213
+ return;
214
+ }
183
215
  this.close();
184
216
  }
185
217
  };
@@ -187,7 +219,7 @@ const Scrim = class {
187
219
  // ======================================================================
188
220
  // LIFECYCLE HOOKS E WATCHERS
189
221
  // ======================================================================
190
- handleOpenChange(newValue) {
222
+ async handleOpenChange(newValue) {
191
223
  // Cancelar qualquer timeout anterior
192
224
  if (this.focusTimeoutId !== null) {
193
225
  clearTimeout(this.focusTimeoutId);
@@ -245,6 +277,7 @@ const Scrim = class {
245
277
  this.setupActivator();
246
278
  this.setupActivatorSlotClick();
247
279
  this.addContentEventListener();
280
+ this.listenToModalEvents();
248
281
  if (this.isActive) {
249
282
  this.applyScrollStrategy();
250
283
  this.addGlobalEventInterception();
@@ -278,7 +311,6 @@ const Scrim = class {
278
311
  clearTimeout(this.restoreFocusTimeoutId);
279
312
  this.restoreFocusTimeoutId = null;
280
313
  }
281
- // Remover event listeners
282
314
  window.removeEventListener('scroll', this.handleScrollClose);
283
315
  window.removeEventListener('scroll', this.handleBlockScroll);
284
316
  if (this.contentRef !== null) {
@@ -287,6 +319,58 @@ const Scrim = class {
287
319
  this.removeActivatorClickListener();
288
320
  this.cleanupActivatorSlotClick();
289
321
  this.removeGlobalEventInterception();
322
+ this.removeModalEventListener();
323
+ }
324
+ /**
325
+ * Verifica se um elemento é filho direto deste scrim (não nested)
326
+ */
327
+ isDirectChild(element) {
328
+ const children = this.getDirectChildren();
329
+ return children.some((child) => child === element || child.contains(element));
330
+ }
331
+ /**
332
+ * Adiciona listeners para eventos brModalOpen e brModalClose das modais filhas
333
+ */
334
+ listenToModalEvents() {
335
+ this.el.addEventListener('brModalOpen', this.handleModalOpen);
336
+ this.el.addEventListener('brModalClose', this.handleModalClose);
337
+ }
338
+ /**
339
+ * Remove listeners dos eventos da modal
340
+ */
341
+ removeModalEventListener() {
342
+ this.el.removeEventListener('brModalOpen', this.handleModalOpen);
343
+ this.el.removeEventListener('brModalClose', this.handleModalClose);
344
+ }
345
+ /**
346
+ * Retorna os elementos filhos diretos do scrim via slot padrão
347
+ */
348
+ getDirectChildren() {
349
+ const shadowRoot = this.el.shadowRoot;
350
+ if (shadowRoot === null)
351
+ return [];
352
+ const slot = shadowRoot.querySelector('slot:not([name])');
353
+ if (slot === null)
354
+ return [];
355
+ return slot.assignedElements();
356
+ }
357
+ /**
358
+ * Busca uma modal filha direta do scrim
359
+ */
360
+ findModalChild() {
361
+ var _a;
362
+ const children = this.getDirectChildren();
363
+ const modalElement = children.find((child) => child.tagName === 'BR-MODAL');
364
+ return (_a = modalElement) !== null && _a !== void 0 ? _a : null;
365
+ }
366
+ /**
367
+ * Verifica se há uma modal filha com autoClose=false (padrão ou explícito)
368
+ * Retorna true se:
369
+ * - Existe modal filha E autoClose não é explicitamente true
370
+ */
371
+ hasModalWithAutoClose() {
372
+ const modal = this.findModalChild();
373
+ return modal !== null && modal.autoClose !== true;
290
374
  }
291
375
  // ======================================================================
292
376
  // GERENCIAMENTO DO ACTIVATOR (ELEMENTO ACIONADOR)
@@ -475,7 +559,11 @@ const Scrim = class {
475
559
  return elements.filter((el) => el.offsetWidth > 0 && el.offsetHeight > 0 && getComputedStyle(el).visibility !== 'hidden');
476
560
  }
477
561
  shouldHandleEscape(event) {
478
- return (event.key === 'Escape' || event.key === 'Esc') && this.isActive && !this.disableCloseOnClick;
562
+ if ((event.key === 'Escape' || event.key === 'Esc') && this.isActive && !this.disableCloseOnClick) {
563
+ // Não fecha se tiver modal filha com autoClose=false ou não definido
564
+ return !this.hasModalWithAutoClose();
565
+ }
566
+ return false;
479
567
  }
480
568
  handleTabNavigation(event) {
481
569
  const focusableElements = this.getFocusableElements();
@@ -536,6 +624,9 @@ const Scrim = class {
536
624
  document.removeEventListener('focus', this.handleGlobalFocus, true);
537
625
  document.removeEventListener('focusin', this.handleGlobalFocus, true);
538
626
  }
627
+ // ======================================================================
628
+ // UTILITÁRIOS
629
+ // ======================================================================
539
630
  getCssClassMap() {
540
631
  return {
541
632
  'br-scrim': true,
@@ -556,37 +647,29 @@ const Scrim = class {
556
647
  /**
557
648
  * Define o limite de rolagem para o fechamento automático do scrim.
558
649
  */
559
- setScrollThreshold(threshold) {
560
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
561
- this.scrollThreshold = threshold;
562
- });
650
+ async setScrollThreshold(threshold) {
651
+ this.scrollThreshold = threshold;
563
652
  }
564
653
  /**
565
654
  * Método público para exibir o scrim
566
655
  */
567
- open() {
568
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
569
- this.isOpen = true;
570
- });
656
+ async open() {
657
+ this.isOpen = true;
571
658
  }
572
659
  /**
573
660
  * Método público para esconder o scrim
574
661
  */
575
- close() {
576
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
577
- this.isOpen = false;
578
- });
662
+ async close() {
663
+ this.isOpen = false;
579
664
  }
580
665
  /**
581
666
  * Método público para alternar o estado de exibição do scrim
582
667
  */
583
- toggle() {
584
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
585
- this.isOpen = !this.isActive;
586
- });
668
+ async toggle() {
669
+ this.isOpen = !this.isActive;
587
670
  }
588
671
  render() {
589
- return (index.h(index.Host, { key: '1aea7418642867cfb24c099729f34412f9aec7bf' }, index.h("slot", { key: '4468892291450f13cded3627ee91f31716108443', name: "activator" }), index.h("div", { key: '6019de52484c176a5f5d706ca1dc759039dae940', class: this.getCssClassMap(), id: this.customId, role: "dialog", "aria-modal": "true", "aria-label": this.ariaLabel || 'Conteúdo do diálogo', "data-visible": this.isActive ? 'true' : 'false' }, index.h("div", { key: '6c6df83177f1a14097ec5c08e409caaca3953d3b', class: "mask", onClick: this.handleMaskClick }), index.h("div", { key: '1af0ecd53a0aaf630069139a7e6935533a563e10', ref: (el) => (this.contentRef = el), id: `${this.customId}-content`, class: "content", tabIndex: -1, onKeyDown: this.handleKeyDown }, index.h("slot", { key: '2cb75f5b254ed22bbe821998700d9c1f4152dd5b' })))));
672
+ return (index.h(index.Host, { key: '249de7af4056263464615cbe086b419f74b8981b' }, index.h("slot", { key: '1698faa6b492e1ec594eba8425f20582a2af0e4a', name: "activator" }), index.h("div", { key: 'adedf3eb84f3d8f79ac9bb19209022301453c019', class: this.getCssClassMap(), id: this.customId, role: "dialog", "aria-modal": "true", "aria-label": this.ariaLabel || 'Conteúdo do diálogo', "data-visible": this.isActive ? 'true' : 'false' }, index.h("div", { key: 'ef7408a6672fabf4d2f79bc7922f301fd102652e', class: "mask", onClick: this.handleMaskClick }), index.h("div", { key: '91ffb1a84478f09fc90cefbb97180c5db13dba5c', ref: (el) => (this.contentRef = el), id: `${this.customId}-content`, class: "content", tabIndex: -1, onKeyDown: this.handleKeyDown }, index.h("slot", { key: '0600ac804980446103154cebf83389ac92e44d9d' })))));
590
673
  }
591
674
  static get formAssociated() { return true; }
592
675
  get el() { return index.getElement(this); }
@@ -1 +1 @@
1
- {"version":3,"file":"br-scrim.entry.cjs.js","sources":["../../packages/webcomponents/src/components/scrim/scrim.scss?tag=br-scrim&encapsulation=shadow","../../packages/webcomponents/src/components/scrim/scrim.tsx"],"sourcesContent":[":host {\n --br-scrim-opacity: 1;\n\n .br-scrim {\n visibility: hidden;\n transition: visibility 0.3s ease;\n z-index: var(--z-index-layer-4);\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: auto;\n }\n\n .br-scrim.mode-fullscreen {\n position: fixed;\n inset: 0;\n }\n\n .br-scrim.mode-parent {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n }\n\n .br-scrim.opened {\n visibility: visible;\n pointer-events: auto;\n }\n\n .mask {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: var(--surface-overlay-scrim);\n opacity: 0;\n transition: opacity 0.3s ease;\n pointer-events: auto;\n }\n\n .br-scrim.opened .mask {\n opacity: var(--br-scrim-opacity);\n }\n\n .content {\n position: relative;\n outline: none;\n pointer-events: auto;\n opacity: 0;\n transform: scale(0.9);\n transition:\n opacity 0.3s ease,\n transform 0.3s ease;\n background: transparent;\n padding: 0;\n margin: 0;\n border: none;\n box-shadow: none;\n overflow: visible;\n contain: none;\n display: inline-block;\n width: fit-content;\n height: fit-content;\n z-index: calc(var(--z-index-layer-4) + 1);\n\n &:focus {\n outline: var(--focus-outline);\n outline-offset: var(--focus-offset);\n box-shadow: var(--focus-shadow);\n }\n }\n\n .br-scrim.opened .content {\n opacity: 1;\n transform: scale(1);\n pointer-events: auto;\n }\n\n .br-scrim.position-top .content {\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n }\n\n .br-scrim.position-bottom .content {\n position: absolute;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n }\n\n .br-scrim.position-left .content {\n position: absolute;\n top: 50%;\n left: 0;\n transform: translateY(-50%);\n }\n\n .br-scrim.position-right .content {\n position: absolute;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n }\n\n .br-scrim.position-center .content {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n .content ::slotted(*) {\n opacity: 1 !important;\n filter: none;\n }\n\n /* Estilos responsivos */\n @media (width <= 768px) {\n .content {\n max-width: 95%;\n max-height: 95%;\n width: auto;\n }\n\n .br-scrim.position-top .content,\n .br-scrim.position-bottom .content {\n width: 100%;\n max-width: 100%;\n border-radius: 0;\n }\n }\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * ## Design System\n *\n * Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/scrim?tab=designer).\n *\n * @slot default - Slot para o conteúdo principal a ser exibido sobre o fundo escurecido do scrim.\n * @slot activator - Slot para o elemento ativador do scrim, com prioridade sobre a propriedade activator.\n */\n@Component({\n tag: 'br-scrim',\n styleUrl: 'scrim.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Scrim {\n /**\n * Referência ao elemento host do componente.\n */\n @Element() el: HTMLBrScrimElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId()\n\n /**\n * Ativa/desativa o scrim\n */\n @Prop({ reflect: true, mutable: true }) isOpen: boolean = false\n\n /**\n * Posiciona o conteúdo no topo, centro, direita, esquerda, abaixo dentro do scrim\n */\n @Prop() positionContent: 'top' | 'center' | 'right' | 'left' | 'bottom'\n\n /**\n * Desativa o fechamento do scrim ao ser clicado\n */\n @Prop() disableCloseOnClick: boolean = false\n\n /**\n * Define o valor de z-index do scrim\n */\n @Prop() zIndex: number | null = null\n\n /**\n * Cor de fundo personalizada para o scrim.\n * Aceita os seguintes formatos de cor:\n * - Cores nomeadas do CSS: 'red', 'blue', 'green', 'yellow', etc.\n * - Códigos hexadecimais: '#ff0000', '#00ff00', '#0000ff', etc.\n * - Valores RGB: 'rgb(255, 0, 0)', 'rgb(0, 255, 0)', etc.\n * - Valores RGBA: 'rgba(255, 0, 0, 0.5)', 'rgba(0, 255, 0, 0.8)', etc.\n * - Valores HSL: 'hsl(0, 100%, 50%)', 'hsl(120, 100%, 50%)', etc.\n * - Valores HSLA: 'hsla(0, 100%, 50%, 0.5)', 'hsla(240, 100%, 50%, 0.7)', etc.\n * Se não especificada, usa a cor padrão do tema.\n */\n @Prop() bgColor: string | null = null\n\n /**\n * Define a opacidade personalizada do scrim\n */\n @Prop() customOpacity: number | null = null\n\n /**\n * Define o modo de exibição do scrim:\n * - 'fullscreen': Ocupa toda a tela (position: fixed).\n * - 'parent': Ocupa apenas o elemento pai (position: absolute).\n * O elemento pai deve ter `position: relative` ou outro valor de posicionamento diferente de `static`.\n */\n @Prop() displayMode: 'fullscreen' | 'parent' = 'fullscreen'\n\n /**\n * Define a estratégia de manipulação de rolagem quando scrim está aberto\n * - 'block': Impede a rolagem completamente\n * - 'close': Fecha o scrim quando ocorre rolagem\n */\n @Prop() scrollStrategy: 'block' | 'close'\n\n /**\n * Determina quanto de rolagem (em pixels) é necessário para acionar a ação de fechamento automático do scrim.\n */\n @Prop({ mutable: true }) scrollThreshold: number = 50\n\n /**\n * Define o seletor para o elemento activator.\n * Nota: O slot 'activator' tem prioridade sobre esta propriedade.\n */\n @Prop() activator: string | null = null\n\n /**\n * Define um rótulo acessível personalizado para o diálogo.\n * Se não fornecido, será usado \"Conteúdo do diálogo\" como padrão.\n */\n @Prop() ariaLabel: string | null = null\n\n /** Indica que o scrim foi aberto. */\n @Event() brScrimOpen: EventEmitter\n\n /** Indica que o scrim foi fechado */\n @Event() brScrimClose: EventEmitter\n\n @State() isActive: boolean = false\n @State() hasActivatorSlot: boolean = false\n\n // ======================================================================\n // PROPRIEDADES PRIVADAS E VARIÁVEIS INTERNAS\n // ======================================================================\n private contentRef: HTMLDivElement | null = null\n private activatorElement: HTMLElement | null = null\n private scrollOffset: number = 0\n private lastScrollTop: number = 0\n private scrollOrigin: number | null = null\n private previouslyFocusedElement: HTMLElement | null | undefined = null\n private focusTimeoutId: NodeJS.Timeout | null = null\n private restoreFocusTimeoutId: NodeJS.Timeout | null = null\n\n private static readonly FOCUSABLE_SELECTORS = [\n 'a[href]:not([disabled])',\n 'button:not([disabled])',\n 'br-button:not([disabled])',\n 'input:not([disabled])',\n 'br-input:not([disabled])',\n 'select:not([disabled])',\n 'br-select:not([disabled])',\n 'textarea:not([disabled])',\n 'br-textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n ].join(',')\n\n // ======================================================================\n // LIFECYCLE HOOKS E WATCHERS\n // ======================================================================\n @Watch('isOpen')\n handleOpenChange(newValue: boolean) {\n // Cancelar qualquer timeout anterior\n if (this.focusTimeoutId !== null) {\n clearTimeout(this.focusTimeoutId)\n this.focusTimeoutId = null\n }\n if (this.restoreFocusTimeoutId !== null) {\n clearTimeout(this.restoreFocusTimeoutId)\n this.restoreFocusTimeoutId = null\n }\n\n this.isActive = newValue\n if (newValue && this.scrollStrategy === 'close') {\n const currentScroll = window.scrollY\n this.lastScrollTop = currentScroll\n this.scrollOrigin = currentScroll\n }\n this.updateStyles()\n\n if (this.isActive) {\n this.previouslyFocusedElement = document.activeElement as HTMLElement\n this.applyScrollStrategy()\n this.addGlobalEventInterception()\n this.focusTimeoutId = setTimeout(() => {\n this.focusFirstElement()\n }, 100)\n this.brScrimOpen.emit()\n } else {\n this.resetScrolling()\n this.removeGlobalEventInterception()\n this.restoreFocus()\n this.brScrimClose.emit()\n }\n }\n\n @Watch('zIndex')\n @Watch('bgColor')\n @Watch('customOpacity')\n updateStyles() {\n if (this.zIndex !== null && this.zIndex !== undefined) {\n this.el.style.zIndex = `${this.zIndex}`\n this.el.style.setProperty('--z-index-layer-4', `${this.zIndex}`)\n }\n if (this.bgColor !== null) {\n this.el.style.setProperty('--surface-overlay-scrim', this.bgColor)\n }\n if (this.customOpacity !== null) {\n this.el.style.setProperty('--br-scrim-opacity', `${this.customOpacity}`)\n }\n }\n\n @Watch('activator')\n handleActivatorChange() {\n this.removeActivatorClickListener()\n this.setupActivator()\n }\n\n componentWillLoad() {\n this.hasActivatorSlot = this.checkActivatorSlot('activator')\n this.isActive = this.isOpen\n }\n\n componentDidLoad() {\n this.updateStyles()\n this.setupActivator()\n this.setupActivatorSlotClick()\n this.addContentEventListener()\n\n if (this.isActive) {\n this.applyScrollStrategy()\n this.addGlobalEventInterception()\n this.focusFirstElement()\n }\n }\n\n /**\n * Adiciona event listener ao contentRef para capturar eventos de teclado\n * e gerenciar a navegação por teclado dentro do scrim.\n */\n private addContentEventListener() {\n if (this.contentRef !== null) {\n this.contentRef.addEventListener('keydown', this.handleKeyDown)\n }\n }\n\n connectedCallback() {\n if (this.scrollStrategy === 'close') {\n const currentScroll = window.scrollY\n this.lastScrollTop = currentScroll\n this.scrollOrigin = currentScroll\n window.addEventListener('scroll', this.handleScrollClose)\n }\n }\n\n disconnectedCallback() {\n // Limpar timeouts pendentes\n if (this.focusTimeoutId !== null) {\n clearTimeout(this.focusTimeoutId)\n this.focusTimeoutId = null\n }\n if (this.restoreFocusTimeoutId !== null) {\n clearTimeout(this.restoreFocusTimeoutId)\n this.restoreFocusTimeoutId = null\n }\n\n // Remover event listeners\n window.removeEventListener('scroll', this.handleScrollClose)\n window.removeEventListener('scroll', this.handleBlockScroll)\n if (this.contentRef !== null) {\n this.contentRef.removeEventListener('keydown', this.handleKeyDown)\n }\n this.removeActivatorClickListener()\n this.cleanupActivatorSlotClick()\n this.removeGlobalEventInterception()\n }\n\n // ======================================================================\n // GERENCIAMENTO DO ACTIVATOR (ELEMENTO ACIONADOR)\n // ======================================================================\n private checkActivatorSlot(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private setupActivatorSlotClick() {\n if (this.el.shadowRoot === null) return\n\n const slotEl = this.el.shadowRoot.querySelector('slot[name=\"activator\"]') as HTMLSlotElement\n if (slotEl === null || slotEl === undefined) return\n\n const assignedElements = slotEl.assignedElements?.() ?? []\n\n if (assignedElements.length === 1) {\n const el = assignedElements[0] as HTMLElement\n if (el && typeof el.addEventListener === 'function') {\n el.addEventListener('click', this.handleActivatorClick)\n }\n } else if (assignedElements.length > 1) {\n console.warn('br-scrim: Slot \"activator\" deve conter apenas um elemento para aplicar o onClick automaticamente.')\n }\n }\n\n private setupActivator() {\n this.removeActivatorClickListener()\n this.activatorElement = null\n\n if (this.hasActivatorSlot || this.activator == null || this.activator === '') {\n return\n }\n\n if (this.activator === 'parent') {\n const parentElement = this.el.parentElement\n if (parentElement !== null) {\n this.activatorElement = parentElement\n }\n } else {\n try {\n const element = document.querySelector(this.activator)\n if (element instanceof HTMLElement) {\n this.activatorElement = element\n }\n } catch {\n console.warn(`br-scrim: Seletor activator inválido: ${this.activator}`)\n }\n }\n\n this.addActivatorClickListener()\n }\n\n private handleActivatorClick = () => {\n this.toggle()\n }\n\n private addActivatorClickListener() {\n if (this.activatorElement === null || this.activatorElement === undefined) return\n this.activatorElement.addEventListener('click', this.handleActivatorClick)\n }\n\n private removeActivatorClickListener() {\n if (this.activatorElement === null || this.activatorElement === undefined) return\n this.activatorElement.removeEventListener('click', this.handleActivatorClick)\n }\n\n private cleanupActivatorSlotClick() {\n if (this.el.shadowRoot === null) return\n\n const slotEl = this.el.shadowRoot.querySelector('slot[name=\"activator\"]') as HTMLSlotElement\n const assignedElements = slotEl?.assignedElements?.() ?? []\n\n if (assignedElements.length === 1) {\n const element = assignedElements[0]\n if (element && typeof element.removeEventListener === 'function') {\n element.removeEventListener('click', this.handleActivatorClick)\n }\n }\n }\n\n // ======================================================================\n // ESTRATÉGIAS DE ROLAGEM (SCROLL)\n // ======================================================================\n private applyScrollStrategy() {\n if (this.scrollStrategy === 'block') {\n this.enableScrollBlock()\n } else if (this.scrollStrategy === 'close') {\n this.enableScrollWatcher()\n }\n }\n\n private getScrollPosition(): number {\n const targetWindow = this.el?.ownerDocument?.defaultView || window\n return targetWindow?.scrollY ?? targetWindow?.pageYOffset ?? 0\n }\n\n private enableScrollBlock() {\n this.scrollOffset = window.scrollY\n document.body.style.setProperty('position', 'fixed')\n document.body.style.setProperty('top', `-${this.scrollOffset}px`)\n document.body.style.setProperty('left', '0')\n document.body.style.setProperty('right', '0')\n document.body.style.setProperty('width', '100%')\n document.documentElement.style.setProperty('overflow', 'hidden')\n\n window.addEventListener('scroll', this.handleBlockScroll)\n }\n\n private enableScrollWatcher() {\n const currentScroll = window.scrollY\n this.lastScrollTop = currentScroll\n this.scrollOrigin = currentScroll\n window.addEventListener('scroll', this.handleScrollClose)\n }\n\n private handleBlockScroll = (e: Event) => {\n if (this.scrollStrategy === 'block' && this.isActive) {\n window.scrollTo(0, this.scrollOffset)\n e.preventDefault()\n e.stopPropagation()\n }\n }\n\n private resetScrolling() {\n if (this.scrollStrategy === 'block') {\n document.body.style.removeProperty('position')\n document.body.style.removeProperty('top')\n document.body.style.removeProperty('left')\n document.body.style.removeProperty('right')\n document.body.style.removeProperty('width')\n document.documentElement.style.removeProperty('overflow')\n window.removeEventListener('scroll', this.handleBlockScroll)\n window.scrollTo(0, this.scrollOffset)\n }\n window.removeEventListener('scroll', this.handleScrollClose)\n this.scrollOrigin = null\n }\n\n private handleScrollClose = () => {\n if (this.scrollStrategy === 'close' && this.isActive) {\n const currentScroll = this.getScrollPosition()\n const reference = this.scrollOrigin ?? this.lastScrollTop\n if (Math.abs(currentScroll - reference) > this.scrollThreshold) {\n this.scrollOrigin = null\n this.isOpen = false\n this.handleOpenChange(false)\n return\n }\n this.lastScrollTop = currentScroll\n }\n }\n\n // ======================================================================\n // ACESSIBILIDADE E GERENCIAMENTO DE FOCO\n // ======================================================================\n private focusFirstElement() {\n if (this.contentRef == null) return\n\n this.contentRef.setAttribute('tabindex', '-1')\n this.contentRef.focus()\n\n const focusableElements = this.getFocusableElements()\n\n if (focusableElements.length > 0) {\n const firstElement = focusableElements[0]\n if (firstElement !== null && firstElement !== undefined) {\n firstElement.scrollIntoView({ block: 'nearest', inline: 'nearest' })\n firstElement.focus({ preventScroll: true })\n }\n }\n }\n\n private restoreFocus() {\n let targetElement: HTMLElement | null = null\n\n if (this.previouslyFocusedElement instanceof HTMLElement && this.previouslyFocusedElement.isConnected) {\n targetElement = this.previouslyFocusedElement\n } else if (this.activatorElement instanceof HTMLElement) {\n targetElement = this.activatorElement\n } else {\n const slotEl = this.el.shadowRoot?.querySelector('slot[name=\"activator\"]') as HTMLSlotElement\n if (this.hasActivatorSlot) {\n const assignedElements = slotEl.assignedElements?.() ?? []\n if (assignedElements.length > 0 && assignedElements[0] instanceof HTMLElement) {\n targetElement = assignedElements[0] as HTMLElement\n }\n }\n }\n\n if (targetElement !== null && targetElement !== undefined) {\n this.restoreFocusTimeoutId = setTimeout(() => {\n try {\n targetElement?.focus()\n } catch (error) {\n console.warn('br-scrim: Erro ao restaurar foco:', error)\n }\n }, 100)\n }\n }\n\n private getFocusableElements(): HTMLElement[] {\n if (this.contentRef == null) return []\n\n const defaultSlot = this.contentRef.querySelector('slot:not([name])') as HTMLSlotElement\n if (defaultSlot === null || defaultSlot === undefined) return []\n\n const assignedElements = defaultSlot.assignedElements({ flatten: true })\n const focusableElements: HTMLElement[] = []\n\n assignedElements.forEach((el) => {\n if (!(el instanceof HTMLElement)) return\n\n if (el.matches(Scrim.FOCUSABLE_SELECTORS)) {\n focusableElements.push(el)\n }\n\n const nestedFocusables = Array.from(el.querySelectorAll<HTMLElement>(Scrim.FOCUSABLE_SELECTORS))\n focusableElements.push(...nestedFocusables)\n })\n\n return this.filterVisibleElements(focusableElements)\n }\n\n private filterVisibleElements(elements: HTMLElement[]): HTMLElement[] {\n return elements.filter(\n (el) => el.offsetWidth > 0 && el.offsetHeight > 0 && getComputedStyle(el).visibility !== 'hidden'\n )\n }\n\n // ======================================================================\n // NAVEGAÇÃO POR TECLADO E INTERCEPTAÇÃO DE EVENTOS\n // ======================================================================\n private handleKeyDown = (event: KeyboardEvent) => {\n if (!this.isActive) return\n\n if (this.shouldHandleEscape(event)) {\n this.isOpen = false\n return\n }\n\n if (event.key === 'Tab') {\n this.handleTabNavigation(event)\n }\n }\n\n // Intercepta TODOS os eventos de teclado globalmente quando scrim está ativo\n private handleGlobalKeyDown = (event: KeyboardEvent) => {\n if (!this.isActive) return\n\n const target = event.target as HTMLElement\n\n if (!this.isElementInsideScrim(target)) {\n event.preventDefault()\n event.stopPropagation()\n event.stopImmediatePropagation()\n\n this.focusFirstElement()\n return\n }\n\n if (event.key === 'Escape' && !this.disableCloseOnClick) {\n event.preventDefault()\n this.isOpen = false\n }\n }\n\n // Intercepta TODOS os eventos de clique globalmente quando scrim está ativo\n private handleGlobalClick = (event: MouseEvent) => {\n if (!this.isActive) return\n\n const target = event.target as HTMLElement\n\n if (!this.isElementInsideScrim(target)) {\n event.preventDefault()\n event.stopPropagation()\n event.stopImmediatePropagation()\n\n if (!this.disableCloseOnClick) {\n this.close()\n }\n return\n }\n }\n\n /**\n * Intercepta eventos de foco globalmente\n */\n private handleGlobalFocus = (event: FocusEvent) => {\n if (!this.isActive) return\n\n const target = event.target as HTMLElement\n\n if (!this.isElementInsideScrim(target)) {\n event.preventDefault()\n event.stopPropagation()\n event.stopImmediatePropagation()\n\n setTimeout(() => {\n this.focusFirstElement()\n }, 0)\n }\n }\n\n private shouldHandleEscape(event: KeyboardEvent): boolean {\n return (event.key === 'Escape' || event.key === 'Esc') && this.isActive && !this.disableCloseOnClick\n }\n\n private handleTabNavigation(event: KeyboardEvent): void {\n const focusableElements = this.getFocusableElements()\n if (focusableElements.length === 0) {\n event.preventDefault()\n return\n }\n\n const firstElement = focusableElements[0]\n const lastElement = focusableElements[focusableElements.length - 1]\n const isTabForward = !event.shiftKey\n\n if (this.shouldTrapFocus(isTabForward, firstElement, lastElement)) {\n event.preventDefault()\n this.wrapFocus(isTabForward, firstElement, lastElement)\n }\n }\n\n private shouldTrapFocus(isTabForward: boolean, firstElement: HTMLElement, lastElement: HTMLElement): boolean {\n return (\n (isTabForward && document.activeElement === lastElement) ||\n (!isTabForward && document.activeElement === firstElement)\n )\n }\n\n private wrapFocus(isTabForward: boolean, firstElement: HTMLElement, lastElement: HTMLElement): void {\n ;(isTabForward ? firstElement : lastElement).focus()\n }\n\n /**\n * Verifica se um elemento está dentro do scrim\n */\n private isElementInsideScrim(element: HTMLElement): boolean {\n if (this.el.contains(element)) {\n return true\n }\n\n return false\n }\n\n /**\n * Adiciona interceptação global de eventos\n */\n private addGlobalEventInterception() {\n // Intercepta eventos de teclado globalmente\n document.addEventListener('keydown', this.handleGlobalKeyDown, true)\n document.addEventListener('keyup', this.handleGlobalKeyDown, true)\n document.addEventListener('keypress', this.handleGlobalKeyDown, true)\n\n // Intercepta eventos de clique globalmente\n document.addEventListener('click', this.handleGlobalClick, true)\n document.addEventListener('mousedown', this.handleGlobalClick, true)\n document.addEventListener('mouseup', this.handleGlobalClick, true)\n\n // Intercepta eventos de foco\n document.addEventListener('focus', this.handleGlobalFocus, true)\n document.addEventListener('focusin', this.handleGlobalFocus, true)\n }\n\n /**\n * Remove interceptação global de eventos\n */\n private removeGlobalEventInterception() {\n document.removeEventListener('keydown', this.handleGlobalKeyDown, true)\n document.removeEventListener('keyup', this.handleGlobalKeyDown, true)\n document.removeEventListener('keypress', this.handleGlobalKeyDown, true)\n\n document.removeEventListener('click', this.handleGlobalClick, true)\n document.removeEventListener('mousedown', this.handleGlobalClick, true)\n document.removeEventListener('mouseup', this.handleGlobalClick, true)\n\n document.removeEventListener('focus', this.handleGlobalFocus, true)\n document.removeEventListener('focusin', this.handleGlobalFocus, true)\n }\n\n // ======================================================================\n // MANIPULAÇÃO DE EVENTOS E UTILITÁRIOS\n // ======================================================================\n private handleMaskClick = (_event: MouseEvent) => {\n if (!this.disableCloseOnClick) {\n this.close()\n }\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-scrim': true,\n opened: this.isActive,\n 'scroll-block': this.scrollStrategy === 'block',\n 'position-top': this.positionContent === 'top',\n 'position-bottom': this.positionContent === 'bottom',\n 'position-left': this.positionContent === 'left',\n 'position-right': this.positionContent === 'right',\n 'position-center': this.positionContent === 'center',\n 'mode-fullscreen': this.displayMode === 'fullscreen',\n 'mode-parent': this.displayMode === 'parent',\n }\n }\n\n // ======================================================================\n // MÉTODOS PÚBLICOS (API)\n // ======================================================================\n /**\n * Define o limite de rolagem para o fechamento automático do scrim.\n */\n @Method()\n async setScrollThreshold(threshold: number) {\n this.scrollThreshold = threshold\n }\n\n /**\n * Método público para exibir o scrim\n */\n @Method()\n async open() {\n this.isOpen = true\n }\n\n /**\n * Método público para esconder o scrim\n */\n @Method()\n async close() {\n this.isOpen = false\n }\n\n /**\n * Método público para alternar o estado de exibição do scrim\n */\n @Method()\n async toggle() {\n this.isOpen = !this.isActive\n }\n\n render() {\n return (\n <Host>\n <slot name=\"activator\"></slot>\n <div\n class={this.getCssClassMap()}\n id={this.customId}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={this.ariaLabel || 'Conteúdo do diálogo'}\n data-visible={this.isActive ? 'true' : 'false'}\n >\n <div class=\"mask\" onClick={this.handleMaskClick}></div>\n <div\n ref={(el) => (this.contentRef = el)}\n id={`${this.customId}-content`}\n class=\"content\"\n tabIndex={-1}\n onKeyDown={this.handleKeyDown}\n >\n <slot></slot>\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"names":["Helpers","h","Host"],"mappings":"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"}
1
+ {"version":3,"file":"br-scrim.entry.cjs.js","sources":["../../packages/webcomponents/src/components/scrim/scrim.scss?tag=br-scrim&encapsulation=shadow","../../packages/webcomponents/src/components/scrim/scrim.tsx"],"sourcesContent":[":host {\n --br-scrim-opacity: 1;\n\n .br-scrim {\n visibility: hidden;\n transition: visibility 0.3s ease;\n z-index: var(--z-index-layer-4);\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: auto;\n }\n\n .br-scrim.mode-fullscreen {\n position: fixed;\n inset: 0;\n }\n\n .br-scrim.mode-parent {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n }\n\n .br-scrim.opened {\n visibility: visible;\n pointer-events: auto;\n }\n\n .mask {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: var(--surface-overlay-scrim);\n opacity: 0;\n transition: opacity 0.3s ease;\n pointer-events: auto;\n }\n\n .br-scrim.opened .mask {\n opacity: var(--br-scrim-opacity);\n }\n\n .content {\n position: relative;\n outline: none;\n pointer-events: auto;\n opacity: 0;\n transform: scale(0.9);\n transition:\n opacity 0.3s ease,\n transform 0.3s ease;\n background: transparent;\n padding: 0;\n margin: 0;\n border: none;\n box-shadow: none;\n overflow: visible;\n contain: none;\n display: inline-block;\n width: fit-content;\n height: fit-content;\n z-index: calc(var(--z-index-layer-4) + 1);\n\n &:focus {\n outline: var(--focus-outline);\n outline-offset: var(--focus-offset);\n box-shadow: var(--focus-shadow);\n }\n }\n\n .br-scrim.opened .content {\n opacity: 1;\n transform: scale(1);\n pointer-events: auto;\n }\n\n .br-scrim.position-top .content {\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n }\n\n .br-scrim.position-bottom .content {\n position: absolute;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n }\n\n .br-scrim.position-left .content {\n position: absolute;\n top: 50%;\n left: 0;\n transform: translateY(-50%);\n }\n\n .br-scrim.position-right .content {\n position: absolute;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n }\n\n .br-scrim.position-center .content {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n .content ::slotted(*) {\n opacity: 1 !important;\n filter: none;\n }\n\n /* Estilos responsivos */\n @media (width <= 768px) {\n .content {\n max-width: 95%;\n max-height: 95%;\n width: auto;\n }\n\n .br-scrim.position-top .content,\n .br-scrim.position-bottom .content {\n width: 100%;\n max-width: 100%;\n border-radius: 0;\n }\n }\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * ## Design System\n *\n * Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/scrim?tab=designer).\n *\n * @slot default - Slot para o conteúdo principal a ser exibido sobre o fundo escurecido do scrim.\n * @slot activator - Slot para o elemento ativador do scrim, com prioridade sobre a propriedade activator.\n */\n@Component({\n tag: 'br-scrim',\n styleUrl: 'scrim.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Scrim {\n /**\n * Referência ao elemento host do componente.\n */\n @Element() el: HTMLBrScrimElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = Helpers.generateUniqueId()\n\n /**\n * Ativa/desativa o scrim\n */\n @Prop({ reflect: true, mutable: true }) isOpen: boolean = false\n\n /**\n * Posiciona o conteúdo no topo, centro, direita, esquerda, abaixo dentro do scrim\n */\n @Prop() positionContent: 'top' | 'center' | 'right' | 'left' | 'bottom'\n\n /**\n * Desativa o fechamento do scrim ao ser clicado\n */\n @Prop() disableCloseOnClick: boolean = false\n\n /**\n * Define o valor de z-index do scrim\n */\n @Prop() zIndex: number | null = null\n\n /**\n * Cor de fundo personalizada para o scrim.\n * Aceita os seguintes formatos de cor:\n * - Cores nomeadas do CSS: 'red', 'blue', 'green', 'yellow', etc.\n * - Códigos hexadecimais: '#ff0000', '#00ff00', '#0000ff', etc.\n * - Valores RGB: 'rgb(255, 0, 0)', 'rgb(0, 255, 0)', etc.\n * - Valores RGBA: 'rgba(255, 0, 0, 0.5)', 'rgba(0, 255, 0, 0.8)', etc.\n * - Valores HSL: 'hsl(0, 100%, 50%)', 'hsl(120, 100%, 50%)', etc.\n * - Valores HSLA: 'hsla(0, 100%, 50%, 0.5)', 'hsla(240, 100%, 50%, 0.7)', etc.\n * Se não especificada, usa a cor padrão do tema.\n */\n @Prop() bgColor: string | null = null\n\n /**\n * Define a opacidade personalizada do scrim\n */\n @Prop() customOpacity: number | null = null\n\n /**\n * Define o modo de exibição do scrim:\n * - 'fullscreen': Ocupa toda a tela (position: fixed).\n * - 'parent': Ocupa apenas o elemento pai (position: absolute).\n * O elemento pai deve ter `position: relative` ou outro valor de posicionamento diferente de `static`.\n */\n @Prop() displayMode: 'fullscreen' | 'parent' = 'fullscreen'\n\n /**\n * Define a estratégia de manipulação de rolagem quando scrim está aberto\n * - 'block': Impede a rolagem completamente\n * - 'close': Fecha o scrim quando ocorre rolagem\n */\n @Prop() scrollStrategy: 'block' | 'close'\n\n /**\n * Determina quanto de rolagem (em pixels) é necessário para acionar a ação de fechamento automático do scrim.\n */\n @Prop({ mutable: true }) scrollThreshold: number = 50\n\n /**\n * Define o seletor para o elemento activator.\n * Nota: O slot 'activator' tem prioridade sobre esta propriedade.\n */\n @Prop() activator: string | null = null\n\n /**\n * Define um rótulo acessível personalizado para o diálogo.\n * Se não fornecido, será usado \"Conteúdo do diálogo\" como padrão.\n */\n @Prop() ariaLabel: string | null = null\n\n /** Indica que o scrim foi aberto. */\n @Event() brScrimOpen: EventEmitter\n\n /** Indica que o scrim foi fechado */\n @Event() brScrimClose: EventEmitter\n\n @State() isActive: boolean = false\n @State() hasActivatorSlot: boolean = false\n\n // ======================================================================\n // PROPRIEDADES PRIVADAS E VARIÁVEIS INTERNAS\n // ======================================================================\n private contentRef: HTMLDivElement | null = null\n private activatorElement: HTMLElement | null = null\n private scrollOffset: number = 0\n private lastScrollTop: number = 0\n private scrollOrigin: number | null = null\n private previouslyFocusedElement: HTMLElement | null | undefined = null\n private focusTimeoutId: NodeJS.Timeout | null = null\n private restoreFocusTimeoutId: NodeJS.Timeout | null = null\n\n private static readonly FOCUSABLE_SELECTORS = [\n 'a[href]:not([disabled])',\n 'button:not([disabled])',\n 'br-button:not([disabled])',\n 'input:not([disabled])',\n 'br-input:not([disabled])',\n 'select:not([disabled])',\n 'br-select:not([disabled])',\n 'textarea:not([disabled])',\n 'br-textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n ].join(',')\n\n // ======================================================================\n // LIFECYCLE HOOKS E WATCHERS\n // ======================================================================\n @Watch('isOpen')\n async handleOpenChange(newValue: boolean) {\n // Cancelar qualquer timeout anterior\n if (this.focusTimeoutId !== null) {\n clearTimeout(this.focusTimeoutId)\n this.focusTimeoutId = null\n }\n if (this.restoreFocusTimeoutId !== null) {\n clearTimeout(this.restoreFocusTimeoutId)\n this.restoreFocusTimeoutId = null\n }\n\n this.isActive = newValue\n if (newValue && this.scrollStrategy === 'close') {\n const currentScroll = window.scrollY\n this.lastScrollTop = currentScroll\n this.scrollOrigin = currentScroll\n }\n this.updateStyles()\n\n if (this.isActive) {\n this.previouslyFocusedElement = document.activeElement as HTMLElement\n this.applyScrollStrategy()\n this.addGlobalEventInterception()\n\n this.focusTimeoutId = setTimeout(() => {\n this.focusFirstElement()\n }, 100)\n this.brScrimOpen.emit()\n } else {\n this.resetScrolling()\n this.removeGlobalEventInterception()\n this.restoreFocus()\n\n this.brScrimClose.emit()\n }\n }\n\n @Watch('zIndex')\n @Watch('bgColor')\n @Watch('customOpacity')\n updateStyles() {\n if (this.zIndex !== null && this.zIndex !== undefined) {\n this.el.style.zIndex = `${this.zIndex}`\n this.el.style.setProperty('--z-index-layer-4', `${this.zIndex}`)\n }\n if (this.bgColor !== null) {\n this.el.style.setProperty('--surface-overlay-scrim', this.bgColor)\n }\n if (this.customOpacity !== null) {\n this.el.style.setProperty('--br-scrim-opacity', `${this.customOpacity}`)\n }\n }\n\n @Watch('activator')\n handleActivatorChange() {\n this.removeActivatorClickListener()\n this.setupActivator()\n }\n\n componentWillLoad() {\n this.hasActivatorSlot = this.checkActivatorSlot('activator')\n this.isActive = this.isOpen\n }\n\n componentDidLoad() {\n this.updateStyles()\n this.setupActivator()\n this.setupActivatorSlotClick()\n this.addContentEventListener()\n this.listenToModalEvents()\n\n if (this.isActive) {\n this.applyScrollStrategy()\n this.addGlobalEventInterception()\n this.focusFirstElement()\n }\n }\n\n /**\n * Adiciona event listener ao contentRef para capturar eventos de teclado\n * e gerenciar a navegação por teclado dentro do scrim.\n */\n private addContentEventListener() {\n if (this.contentRef !== null) {\n this.contentRef.addEventListener('keydown', this.handleKeyDown)\n }\n }\n\n connectedCallback() {\n if (this.scrollStrategy === 'close') {\n const currentScroll = window.scrollY\n this.lastScrollTop = currentScroll\n this.scrollOrigin = currentScroll\n window.addEventListener('scroll', this.handleScrollClose)\n }\n }\n\n disconnectedCallback() {\n // Limpar timeouts pendentes\n if (this.focusTimeoutId !== null) {\n clearTimeout(this.focusTimeoutId)\n this.focusTimeoutId = null\n }\n if (this.restoreFocusTimeoutId !== null) {\n clearTimeout(this.restoreFocusTimeoutId)\n this.restoreFocusTimeoutId = null\n }\n\n window.removeEventListener('scroll', this.handleScrollClose)\n window.removeEventListener('scroll', this.handleBlockScroll)\n if (this.contentRef !== null) {\n this.contentRef.removeEventListener('keydown', this.handleKeyDown)\n }\n this.removeActivatorClickListener()\n this.cleanupActivatorSlotClick()\n this.removeGlobalEventInterception()\n this.removeModalEventListener()\n }\n\n // ======================================================================\n // GERENCIAMENTO DE COMPONENTES FILHOS\n // ======================================================================\n\n /**\n * Handler para evento brModalOpen emitido por modal filha\n */\n private handleModalOpen = (event: Event) => {\n const modalElement = event.target as HTMLElement\n if (!this.isDirectChild(modalElement)) return\n\n if (!this.isOpen) {\n this.open()\n }\n }\n\n /**\n * Handler para evento brModalClose emitido por modal filha\n */\n private handleModalClose = (event: Event) => {\n const modalElement = event.target as HTMLElement\n if (!this.isDirectChild(modalElement)) return\n\n this.close()\n }\n\n /**\n * Verifica se um elemento é filho direto deste scrim (não nested)\n */\n private isDirectChild(element: HTMLElement): boolean {\n const children = this.getDirectChildren()\n return children.some((child) => child === element || child.contains(element))\n }\n\n /**\n * Adiciona listeners para eventos brModalOpen e brModalClose das modais filhas\n */\n private listenToModalEvents() {\n this.el.addEventListener('brModalOpen', this.handleModalOpen)\n this.el.addEventListener('brModalClose', this.handleModalClose)\n }\n\n /**\n * Remove listeners dos eventos da modal\n */\n private removeModalEventListener() {\n this.el.removeEventListener('brModalOpen', this.handleModalOpen)\n this.el.removeEventListener('brModalClose', this.handleModalClose)\n }\n\n /**\n * Retorna os elementos filhos diretos do scrim via slot padrão\n */\n private getDirectChildren(): Element[] {\n const shadowRoot = this.el.shadowRoot\n if (shadowRoot === null) return []\n\n const slot = shadowRoot.querySelector('slot:not([name])') as HTMLSlotElement | null\n if (slot === null) return []\n\n return slot.assignedElements()\n }\n\n /**\n * Busca uma modal filha direta do scrim\n */\n private findModalChild(): HTMLBrModalElement | null {\n const children = this.getDirectChildren()\n const modalElement = children.find((child) => child.tagName === 'BR-MODAL')\n return (modalElement as HTMLBrModalElement | undefined) ?? null\n }\n\n /**\n * Verifica se há uma modal filha com autoClose=false (padrão ou explícito)\n * Retorna true se:\n * - Existe modal filha E autoClose não é explicitamente true\n */\n private hasModalWithAutoClose(): boolean {\n const modal = this.findModalChild()\n return modal !== null && modal.autoClose !== true\n }\n\n // ======================================================================\n // GERENCIAMENTO DO ACTIVATOR (ELEMENTO ACIONADOR)\n // ======================================================================\n private checkActivatorSlot(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private setupActivatorSlotClick() {\n if (this.el.shadowRoot === null) return\n\n const slotEl = this.el.shadowRoot.querySelector('slot[name=\"activator\"]') as HTMLSlotElement\n if (slotEl === null || slotEl === undefined) return\n\n const assignedElements = slotEl.assignedElements?.() ?? []\n\n if (assignedElements.length === 1) {\n const el = assignedElements[0] as HTMLElement\n if (el && typeof el.addEventListener === 'function') {\n el.addEventListener('click', this.handleActivatorClick)\n }\n } else if (assignedElements.length > 1) {\n console.warn('br-scrim: Slot \"activator\" deve conter apenas um elemento para aplicar o onClick automaticamente.')\n }\n }\n\n private setupActivator() {\n this.removeActivatorClickListener()\n this.activatorElement = null\n\n if (this.hasActivatorSlot || this.activator == null || this.activator === '') {\n return\n }\n\n if (this.activator === 'parent') {\n const parentElement = this.el.parentElement\n if (parentElement !== null) {\n this.activatorElement = parentElement\n }\n } else {\n try {\n const element = document.querySelector(this.activator)\n if (element instanceof HTMLElement) {\n this.activatorElement = element\n }\n } catch {\n console.warn(`br-scrim: Seletor activator inválido: ${this.activator}`)\n }\n }\n\n this.addActivatorClickListener()\n }\n\n private handleActivatorClick = () => {\n this.toggle()\n }\n\n private addActivatorClickListener() {\n if (this.activatorElement === null || this.activatorElement === undefined) return\n this.activatorElement.addEventListener('click', this.handleActivatorClick)\n }\n\n private removeActivatorClickListener() {\n if (this.activatorElement === null || this.activatorElement === undefined) return\n this.activatorElement.removeEventListener('click', this.handleActivatorClick)\n }\n\n private cleanupActivatorSlotClick() {\n if (this.el.shadowRoot === null) return\n\n const slotEl = this.el.shadowRoot.querySelector('slot[name=\"activator\"]') as HTMLSlotElement\n const assignedElements = slotEl?.assignedElements?.() ?? []\n\n if (assignedElements.length === 1) {\n const element = assignedElements[0]\n if (element && typeof element.removeEventListener === 'function') {\n element.removeEventListener('click', this.handleActivatorClick)\n }\n }\n }\n\n // ======================================================================\n // ESTRATÉGIAS DE ROLAGEM (SCROLL)\n // ======================================================================\n private applyScrollStrategy() {\n if (this.scrollStrategy === 'block') {\n this.enableScrollBlock()\n } else if (this.scrollStrategy === 'close') {\n this.enableScrollWatcher()\n }\n }\n\n private getScrollPosition(): number {\n const targetWindow = this.el?.ownerDocument?.defaultView || window\n return targetWindow?.scrollY ?? targetWindow?.pageYOffset ?? 0\n }\n\n private enableScrollBlock() {\n this.scrollOffset = window.scrollY\n document.body.style.setProperty('position', 'fixed')\n document.body.style.setProperty('top', `-${this.scrollOffset}px`)\n document.body.style.setProperty('left', '0')\n document.body.style.setProperty('right', '0')\n document.body.style.setProperty('width', '100%')\n document.documentElement.style.setProperty('overflow', 'hidden')\n\n window.addEventListener('scroll', this.handleBlockScroll)\n }\n\n private enableScrollWatcher() {\n const currentScroll = window.scrollY\n this.lastScrollTop = currentScroll\n this.scrollOrigin = currentScroll\n window.addEventListener('scroll', this.handleScrollClose)\n }\n\n private handleBlockScroll = (e: Event) => {\n if (this.scrollStrategy === 'block' && this.isActive) {\n window.scrollTo(0, this.scrollOffset)\n e.preventDefault()\n e.stopPropagation()\n }\n }\n\n private resetScrolling() {\n if (this.scrollStrategy === 'block') {\n document.body.style.removeProperty('position')\n document.body.style.removeProperty('top')\n document.body.style.removeProperty('left')\n document.body.style.removeProperty('right')\n document.body.style.removeProperty('width')\n document.documentElement.style.removeProperty('overflow')\n window.removeEventListener('scroll', this.handleBlockScroll)\n window.scrollTo(0, this.scrollOffset)\n }\n window.removeEventListener('scroll', this.handleScrollClose)\n this.scrollOrigin = null\n }\n\n private handleScrollClose = () => {\n if (this.scrollStrategy === 'close' && this.isActive) {\n const currentScroll = this.getScrollPosition()\n const reference = this.scrollOrigin ?? this.lastScrollTop\n if (Math.abs(currentScroll - reference) > this.scrollThreshold) {\n this.scrollOrigin = null\n // Não fecha se tiver modal filha com autoClose=false ou não definido\n if (this.hasModalWithAutoClose()) {\n return\n }\n this.isOpen = false\n this.handleOpenChange(false)\n return\n }\n this.lastScrollTop = currentScroll\n }\n }\n\n // ======================================================================\n // ACESSIBILIDADE E GERENCIAMENTO DE FOCO\n // ======================================================================\n private focusFirstElement() {\n if (this.contentRef == null) return\n\n this.contentRef.setAttribute('tabindex', '-1')\n this.contentRef.focus()\n\n const focusableElements = this.getFocusableElements()\n\n if (focusableElements.length > 0) {\n const firstElement = focusableElements[0]\n if (firstElement !== null && firstElement !== undefined) {\n firstElement.scrollIntoView({ block: 'nearest', inline: 'nearest' })\n firstElement.focus({ preventScroll: true })\n }\n }\n }\n\n private restoreFocus() {\n let targetElement: HTMLElement | null = null\n\n if (this.previouslyFocusedElement instanceof HTMLElement && this.previouslyFocusedElement.isConnected) {\n targetElement = this.previouslyFocusedElement\n } else if (this.activatorElement instanceof HTMLElement) {\n targetElement = this.activatorElement\n } else {\n const slotEl = this.el.shadowRoot?.querySelector('slot[name=\"activator\"]') as HTMLSlotElement\n if (this.hasActivatorSlot) {\n const assignedElements = slotEl.assignedElements?.() ?? []\n if (assignedElements.length > 0 && assignedElements[0] instanceof HTMLElement) {\n targetElement = assignedElements[0] as HTMLElement\n }\n }\n }\n\n if (targetElement !== null && targetElement !== undefined) {\n this.restoreFocusTimeoutId = setTimeout(() => {\n try {\n targetElement?.focus()\n } catch (error) {\n console.warn('br-scrim: Erro ao restaurar foco:', error)\n }\n }, 100)\n }\n }\n\n private getFocusableElements(): HTMLElement[] {\n if (this.contentRef == null) return []\n\n const defaultSlot = this.contentRef.querySelector('slot:not([name])') as HTMLSlotElement\n if (defaultSlot === null || defaultSlot === undefined) return []\n\n const assignedElements = defaultSlot.assignedElements({ flatten: true })\n const focusableElements: HTMLElement[] = []\n\n assignedElements.forEach((el) => {\n if (!(el instanceof HTMLElement)) return\n\n if (el.matches(Scrim.FOCUSABLE_SELECTORS)) {\n focusableElements.push(el)\n }\n\n const nestedFocusables = Array.from(el.querySelectorAll<HTMLElement>(Scrim.FOCUSABLE_SELECTORS))\n focusableElements.push(...nestedFocusables)\n })\n\n return this.filterVisibleElements(focusableElements)\n }\n\n private filterVisibleElements(elements: HTMLElement[]): HTMLElement[] {\n return elements.filter(\n (el) => el.offsetWidth > 0 && el.offsetHeight > 0 && getComputedStyle(el).visibility !== 'hidden'\n )\n }\n\n // ======================================================================\n // NAVEGAÇÃO POR TECLADO E INTERCEPTAÇÃO DE EVENTOS\n // ======================================================================\n private handleKeyDown = (event: KeyboardEvent) => {\n if (!this.isActive) return\n\n if (this.shouldHandleEscape(event)) {\n this.isOpen = false\n return\n }\n\n if (event.key === 'Tab') {\n this.handleTabNavigation(event)\n }\n }\n\n // Intercepta TODOS os eventos de teclado globalmente quando scrim está ativo\n private handleGlobalKeyDown = (event: KeyboardEvent) => {\n if (!this.isActive) return\n\n const target = event.target as HTMLElement\n\n if (!this.isElementInsideScrim(target)) {\n event.preventDefault()\n event.stopPropagation()\n event.stopImmediatePropagation()\n\n this.focusFirstElement()\n return\n }\n\n if (event.key === 'Escape' && !this.disableCloseOnClick) {\n event.preventDefault()\n if (!this.hasModalWithAutoClose()) {\n this.isOpen = false\n }\n }\n }\n\n // Intercepta TODOS os eventos de clique globalmente quando scrim está ativo\n private handleGlobalClick = (event: MouseEvent) => {\n if (!this.isActive) return\n\n const target = event.target as HTMLElement\n\n if (!this.isElementInsideScrim(target)) {\n event.preventDefault()\n event.stopPropagation()\n event.stopImmediatePropagation()\n\n if (!this.disableCloseOnClick) {\n this.close()\n }\n return\n }\n }\n\n /**\n * Intercepta eventos de foco globalmente\n */\n private handleGlobalFocus = (event: FocusEvent) => {\n if (!this.isActive) return\n\n const target = event.target as HTMLElement\n\n if (!this.isElementInsideScrim(target)) {\n event.preventDefault()\n event.stopPropagation()\n event.stopImmediatePropagation()\n\n setTimeout(() => {\n this.focusFirstElement()\n }, 0)\n }\n }\n\n private shouldHandleEscape(event: KeyboardEvent): boolean {\n if ((event.key === 'Escape' || event.key === 'Esc') && this.isActive && !this.disableCloseOnClick) {\n // Não fecha se tiver modal filha com autoClose=false ou não definido\n return !this.hasModalWithAutoClose()\n }\n return false\n }\n\n private handleTabNavigation(event: KeyboardEvent): void {\n const focusableElements = this.getFocusableElements()\n if (focusableElements.length === 0) {\n event.preventDefault()\n return\n }\n\n const firstElement = focusableElements[0]\n const lastElement = focusableElements[focusableElements.length - 1]\n const isTabForward = !event.shiftKey\n\n if (this.shouldTrapFocus(isTabForward, firstElement, lastElement)) {\n event.preventDefault()\n this.wrapFocus(isTabForward, firstElement, lastElement)\n }\n }\n\n private shouldTrapFocus(isTabForward: boolean, firstElement: HTMLElement, lastElement: HTMLElement): boolean {\n return (\n (isTabForward && document.activeElement === lastElement) ||\n (!isTabForward && document.activeElement === firstElement)\n )\n }\n\n private wrapFocus(isTabForward: boolean, firstElement: HTMLElement, lastElement: HTMLElement): void {\n ;(isTabForward ? firstElement : lastElement).focus()\n }\n\n /**\n * Verifica se um elemento está dentro do scrim\n */\n private isElementInsideScrim(element: HTMLElement): boolean {\n if (this.el.contains(element)) {\n return true\n }\n\n return false\n }\n\n /**\n * Adiciona interceptação global de eventos\n */\n private addGlobalEventInterception() {\n // Intercepta eventos de teclado globalmente\n document.addEventListener('keydown', this.handleGlobalKeyDown, true)\n document.addEventListener('keyup', this.handleGlobalKeyDown, true)\n document.addEventListener('keypress', this.handleGlobalKeyDown, true)\n\n // Intercepta eventos de clique globalmente\n document.addEventListener('click', this.handleGlobalClick, true)\n document.addEventListener('mousedown', this.handleGlobalClick, true)\n document.addEventListener('mouseup', this.handleGlobalClick, true)\n\n // Intercepta eventos de foco\n document.addEventListener('focus', this.handleGlobalFocus, true)\n document.addEventListener('focusin', this.handleGlobalFocus, true)\n }\n\n /**\n * Remove interceptação global de eventos\n */\n private removeGlobalEventInterception() {\n document.removeEventListener('keydown', this.handleGlobalKeyDown, true)\n document.removeEventListener('keyup', this.handleGlobalKeyDown, true)\n document.removeEventListener('keypress', this.handleGlobalKeyDown, true)\n\n document.removeEventListener('click', this.handleGlobalClick, true)\n document.removeEventListener('mousedown', this.handleGlobalClick, true)\n document.removeEventListener('mouseup', this.handleGlobalClick, true)\n\n document.removeEventListener('focus', this.handleGlobalFocus, true)\n document.removeEventListener('focusin', this.handleGlobalFocus, true)\n }\n\n /**\n * Handler para clique na máscara do scrim\n * Fecha o scrim se disableCloseOnClick for false e não houver modal filha com autoClose=false\n */\n private handleMaskClick = (_event: MouseEvent) => {\n if (!this.disableCloseOnClick) {\n if (this.hasModalWithAutoClose()) {\n return\n }\n this.close()\n }\n }\n\n // ======================================================================\n // UTILITÁRIOS\n // ======================================================================\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-scrim': true,\n opened: this.isActive,\n 'scroll-block': this.scrollStrategy === 'block',\n 'position-top': this.positionContent === 'top',\n 'position-bottom': this.positionContent === 'bottom',\n 'position-left': this.positionContent === 'left',\n 'position-right': this.positionContent === 'right',\n 'position-center': this.positionContent === 'center',\n 'mode-fullscreen': this.displayMode === 'fullscreen',\n 'mode-parent': this.displayMode === 'parent',\n }\n }\n\n // ======================================================================\n // MÉTODOS PÚBLICOS (API)\n // ======================================================================\n /**\n * Define o limite de rolagem para o fechamento automático do scrim.\n */\n @Method()\n async setScrollThreshold(threshold: number) {\n this.scrollThreshold = threshold\n }\n\n /**\n * Método público para exibir o scrim\n */\n @Method()\n async open() {\n this.isOpen = true\n }\n\n /**\n * Método público para esconder o scrim\n */\n @Method()\n async close() {\n this.isOpen = false\n }\n\n /**\n * Método público para alternar o estado de exibição do scrim\n */\n @Method()\n async toggle() {\n this.isOpen = !this.isActive\n }\n\n render() {\n return (\n <Host>\n <slot name=\"activator\"></slot>\n <div\n class={this.getCssClassMap()}\n id={this.customId}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={this.ariaLabel || 'Conteúdo do diálogo'}\n data-visible={this.isActive ? 'true' : 'false'}\n >\n <div class=\"mask\" onClick={this.handleMaskClick}></div>\n <div\n ref={(el) => (this.contentRef = el)}\n id={`${this.customId}-content`}\n class=\"content\"\n tabIndex={-1}\n onKeyDown={this.handleKeyDown}\n >\n <slot></slot>\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"names":["Helpers","h","Host"],"mappings":"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"}
@@ -5,7 +5,6 @@
5
5
  'use strict';
6
6
 
7
7
  var index = require('./index-CFIH680Y.js');
8
- var tslib_es6 = require('./tslib.es6-CF44W9Bn.js');
9
8
  var helpers = require('./helpers-CvMMfpeW.js');
10
9
 
11
10
  const skipLinkCss = "*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}main{display:block}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}a{background-color:rgba(0,0,0,0)}b,strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.d-none{display:none !important}.d-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}@media (min-width: 576px){.d-sm-block{display:block !important}.d-sm-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}}.justify-content-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.align-items-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter)*.5);padding-right:calc(var(--grid-gutter)*.5);width:100%}.col{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-2{-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%;max-width:16.6666666667%}.container,.container-lg{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter)*-0.5);margin-right:calc(var(--grid-gutter)*-0.5)}@media (min-width: 576px){.container,.container-lg{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}.col-sm-4{-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%;max-width:33.3333333333%}}@media (min-width: 992px){.container,.container-lg{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container,.container-lg{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}.col-lg-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}}@media (min-width: 1600px){.container,.container-lg{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.ml-1{margin-left:var(--spacing-scale-half) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base)*-1) !important}.ml-2{margin-left:var(--spacing-scale-base) !important}.mx-3{margin-left:var(--spacing-scale-2x) !important;margin-right:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.ml-auto{margin-left:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}@media (min-width: 576px){.ml-sm-0{margin-left:var(--spacing-scale-default) !important}}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half)}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}a{color:var(--interactive);text-decoration:none}button{cursor:pointer}img{max-width:100%;vertical-align:middle}h2,.h2{color:var(--color);font-size:var(--font-size-scale-up-03);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-2xh);margin-top:var(--spacing-scale-3xh);padding-bottom:var(--spacing-scale-2xh)}@media (min-width: 576px){.h2,h2{font-size:var(--font-size-scale-up-05);font-weight:var(--font-weight-regular)}}ul,ol{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}table{--table-background:var(--background);--table-color:var(--color);--table-border-color:var(--gray-20);--table-border-style:solid;--table-border-width:1px;--table-hover:var(--color-rgb);--table-padding:var(--spacing-scale-3x);--table-font-weight:var(--font-weight-medium);--table-th-background:var(--background-alternative);--table-th-font-weight:var(--font-weight-semi-bold);--table-row-size:var(--spacing-scale-2x);border-collapse:collapse;width:100%}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.bg-interactive{--background:var(--interactive);background:var(--interactive) !important}.text-primary-default{color:var(--color-primary-default) !important}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-nowrap{white-space:nowrap !important}.text-uppercase{text-transform:uppercase !important}.text-medium{font-weight:500 !important}.text-bold{font-weight:700 !important}.text-down-01{font-size:var(--font-size-scale-down-01) !important}@media (min-width: 576px){.text-sm-center{text-align:center !important}.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}}.ease{-webkit-animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1);animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}.ease-in-out{-webkit-animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}.fab{--icon-size:var(--icon-size-base);display:inline-block;font-size:var(--icon-size);text-align:center;width:calc(var(--icon-size) + 8px)}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}*[data-toggle=collapse]:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}*[data-toggle=collapse]:focus{outline:none}*[data-toggle=collapse]:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-skiplink{--skiplink-layer:var(--z-index-layer-4);--skiplink-margin:var(--spacing-scale-2x);--skiplink-min-width:300px;--skiplink-shadow:var(--surface-shadow-lg);--skiplink-duration:150ms;--skiplink-timing-function:ease-out;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;left:var(--skiplink-margin);position:fixed;top:0;z-index:var(--skiplink-layer)}.br-skiplink a{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--background);-webkit-box-shadow:var(--skiplink-shadow);box-shadow:var(--skiplink-shadow);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;min-width:var(--skiplink-min-width);position:absolute;top:-100vh;-webkit-transition:top var(--skiplink-duration) var(--skiplink-timing-function);transition:top var(--skiplink-duration) var(--skiplink-timing-function);white-space:nowrap;width:auto}.br-skiplink a:focus,.br-skiplink a:focus-visible{top:0}.br-skiplink .br-tag{background:var(--interactive)}.br-skiplink.full{-webkit-box-shadow:var(--skiplink-shadow);box-shadow:var(--skiplink-shadow);-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;top:-100vh;-webkit-transition:top var(--skiplink-duration) var(--skiplink-timing-function);transition:top var(--skiplink-duration) var(--skiplink-timing-function)}.br-skiplink.full a{-webkit-box-shadow:none;box-shadow:none;min-width:0;position:relative;top:0}.br-skiplink.full:focus-within{top:0}:host{--skiplink-layer:var(--z-index-layer-4);--skiplink-margin:var(--spacing-scale-2x);--skiplink-min-width:300px;--skiplink-shadow:var(--surface-shadow-lg);--skiplink-duration:150ms;--skiplink-timing-function:ease-out;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;left:var(--skiplink-margin);position:fixed;top:0;z-index:var(--skiplink-layer)}:host a{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--background);-webkit-box-shadow:var(--skiplink-shadow);box-shadow:var(--skiplink-shadow);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;min-width:var(--skiplink-min-width);position:absolute;top:-100vh;-webkit-transition:top var(--skiplink-duration) var(--skiplink-timing-function);transition:top var(--skiplink-duration) var(--skiplink-timing-function);white-space:nowrap;width:auto}:host a:focus,:host a:focus-visible{top:0}:host .br-tag{background:var(--interactive)}:host.full{-webkit-box-shadow:var(--skiplink-shadow);box-shadow:var(--skiplink-shadow);-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;top:-100vh;-webkit-transition:top var(--skiplink-duration) var(--skiplink-timing-function);transition:top var(--skiplink-duration) var(--skiplink-timing-function)}:host.full a{-webkit-box-shadow:none;box-shadow:none;min-width:0;position:relative;top:0}:host.full:focus-within{top:0}.br-skiplink.top-left{left:var(--spacing-scale-3x) !important;right:auto !important}.br-skiplink.top-center{left:50% !important;right:auto !important;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.br-skiplink.top-center.full{-webkit-transform:translateX(-50%) translateY(-100%);transform:translateX(-50%) translateY(-100%)}.br-skiplink.top-center.full.visible{-webkit-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0)}.br-skiplink.top-right{left:auto !important;right:var(--spacing-scale-3x) !important}.br-skiplink.visible{top:0 !important}.br-skiplink.full br-list{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;gap:0}.br-skiplink.full br-list ::slotted(br-skiplink-item){list-style:none}.br-skiplink:not(.full){min-width:var(--skiplink-min-width)}";
@@ -255,40 +254,36 @@ const SkipLink = class {
255
254
  /**
256
255
  * Oculta o componente programaticamente.
257
256
  */
258
- hide() {
259
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
260
- const focusedElement = this.el.querySelector(':focus');
261
- if (focusedElement instanceof HTMLElement) {
262
- focusedElement.blur();
263
- }
264
- this.isVisible = false;
265
- this.brDidHide.emit();
266
- return Promise.resolve();
267
- });
257
+ async hide() {
258
+ const focusedElement = this.el.querySelector(':focus');
259
+ if (focusedElement instanceof HTMLElement) {
260
+ focusedElement.blur();
261
+ }
262
+ this.isVisible = false;
263
+ this.brDidHide.emit();
264
+ return Promise.resolve();
268
265
  }
269
266
  /**
270
267
  * Exibe o componente programaticamente.
271
268
  */
272
- show() {
273
- return tslib_es6.__awaiter(this, void 0, void 0, function* () {
274
- var _a;
275
- this.isVisible = true;
276
- yield new Promise((resolve) => requestAnimationFrame(resolve));
277
- const firstItem = this.el.querySelector('br-skiplink-item');
278
- if (firstItem !== null) {
279
- if (typeof firstItem.itemFocus === 'function') {
280
- yield firstItem.itemFocus();
281
- }
282
- else {
283
- const focusableElement = (_a = firstItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('a, button');
284
- if (focusableElement !== null) {
285
- focusableElement.focus();
286
- }
269
+ async show() {
270
+ var _a;
271
+ this.isVisible = true;
272
+ await new Promise((resolve) => requestAnimationFrame(resolve));
273
+ const firstItem = this.el.querySelector('br-skiplink-item');
274
+ if (firstItem !== null) {
275
+ if (typeof firstItem.itemFocus === 'function') {
276
+ await firstItem.itemFocus();
277
+ }
278
+ else {
279
+ const focusableElement = (_a = firstItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('a, button');
280
+ if (focusableElement !== null) {
281
+ focusableElement.focus();
287
282
  }
288
283
  }
289
- this.brDidShow.emit();
290
- return Promise.resolve();
291
- });
284
+ }
285
+ this.brDidShow.emit();
286
+ return Promise.resolve();
292
287
  }
293
288
  getEffectivePosition() {
294
289
  if (this.isSmallScreen) {