@govbr-ds/webcomponents 2.0.0-next.37 → 2.0.0-next.39

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 (522) hide show
  1. package/dist/README.md +69 -23
  2. package/dist/cjs/br-avatar.cjs.entry.js +1 -1
  3. package/dist/cjs/br-avatar.cjs.entry.js.map +1 -1
  4. package/dist/cjs/br-avatar.entry.cjs.js.map +1 -1
  5. package/dist/cjs/br-breadcrumb.cjs.entry.js +1 -1
  6. package/dist/cjs/br-breadcrumb.cjs.entry.js.map +1 -1
  7. package/dist/cjs/br-breadcrumb.entry.cjs.js.map +1 -1
  8. package/dist/cjs/br-button.br-icon.entry.cjs.js.map +1 -1
  9. package/dist/cjs/br-button_2.cjs.entry.js +3 -3
  10. package/dist/cjs/br-button_2.cjs.entry.js.map +1 -1
  11. package/dist/cjs/br-checkbox.cjs.entry.js +9 -2
  12. package/dist/cjs/br-checkbox.cjs.entry.js.map +1 -1
  13. package/dist/cjs/br-checkbox.entry.cjs.js.map +1 -1
  14. package/dist/cjs/br-checkgroup.cjs.entry.js +1 -1
  15. package/dist/cjs/br-checkgroup.cjs.entry.js.map +1 -1
  16. package/dist/cjs/br-checkgroup.entry.cjs.js.map +1 -1
  17. package/dist/cjs/br-collapse.br-list.entry.cjs.js.map +1 -0
  18. package/dist/cjs/br-collapse_2.cjs.entry.js +286 -0
  19. package/dist/cjs/br-collapse_2.cjs.entry.js.map +1 -0
  20. package/dist/cjs/br-divider.cjs.entry.js +1 -1
  21. package/dist/cjs/br-divider.cjs.entry.js.map +1 -1
  22. package/dist/cjs/br-divider.entry.cjs.js.map +1 -1
  23. package/dist/cjs/br-dropdown.cjs.entry.js +1 -1
  24. package/dist/cjs/br-dropdown.cjs.entry.js.map +1 -1
  25. package/dist/cjs/br-dropdown.entry.cjs.js.map +1 -1
  26. package/dist/cjs/br-footer-category.cjs.entry.js +110 -0
  27. package/dist/cjs/br-footer-category.cjs.entry.js.map +1 -0
  28. package/dist/cjs/br-footer-category.entry.cjs.js.map +1 -0
  29. package/dist/cjs/br-footer-item.cjs.entry.js +52 -0
  30. package/dist/cjs/br-footer-item.cjs.entry.js.map +1 -0
  31. package/dist/cjs/br-footer-item.entry.cjs.js.map +1 -0
  32. package/dist/cjs/br-footer-legal.cjs.entry.js +43 -0
  33. package/dist/cjs/br-footer-legal.cjs.entry.js.map +1 -0
  34. package/dist/cjs/br-footer-legal.entry.cjs.js.map +1 -0
  35. package/dist/cjs/br-footer-logo.cjs.entry.js +74 -0
  36. package/dist/cjs/br-footer-logo.cjs.entry.js.map +1 -0
  37. package/dist/cjs/br-footer-logo.entry.cjs.js.map +1 -0
  38. package/dist/cjs/br-footer-social.cjs.entry.js +57 -0
  39. package/dist/cjs/br-footer-social.cjs.entry.js.map +1 -0
  40. package/dist/cjs/br-footer-social.entry.cjs.js.map +1 -0
  41. package/dist/cjs/br-footer.cjs.entry.js +49 -0
  42. package/dist/cjs/br-footer.cjs.entry.js.map +1 -0
  43. package/dist/cjs/br-footer.entry.cjs.js.map +1 -0
  44. package/dist/cjs/br-input.br-radio.entry.cjs.js.map +1 -1
  45. package/dist/cjs/br-input_2.cjs.entry.js +33 -4
  46. package/dist/cjs/br-input_2.cjs.entry.js.map +1 -1
  47. package/dist/cjs/br-item.cjs.entry.js +2 -2
  48. package/dist/cjs/br-item.cjs.entry.js.map +1 -1
  49. package/dist/cjs/br-item.entry.cjs.js.map +1 -1
  50. package/dist/cjs/br-loading.cjs.entry.js +2 -2
  51. package/dist/cjs/br-loading.cjs.entry.js.map +1 -1
  52. package/dist/cjs/br-loading.entry.cjs.js.map +1 -1
  53. package/dist/cjs/br-message.cjs.entry.js +2 -2
  54. package/dist/cjs/br-message.cjs.entry.js.map +1 -1
  55. package/dist/cjs/br-message.entry.cjs.js.map +1 -1
  56. package/dist/cjs/br-select.cjs.entry.js +2 -2
  57. package/dist/cjs/br-select.cjs.entry.js.map +1 -1
  58. package/dist/cjs/br-select.entry.cjs.js.map +1 -1
  59. package/dist/cjs/br-step-item.cjs.entry.js +2 -2
  60. package/dist/cjs/br-step-item.cjs.entry.js.map +1 -1
  61. package/dist/cjs/br-step-item.entry.cjs.js.map +1 -1
  62. package/dist/cjs/br-step.cjs.entry.js +2 -2
  63. package/dist/cjs/br-step.cjs.entry.js.map +1 -1
  64. package/dist/cjs/br-step.entry.cjs.js.map +1 -1
  65. package/dist/cjs/br-switch.cjs.entry.js +2 -2
  66. package/dist/cjs/br-switch.cjs.entry.js.map +1 -1
  67. package/dist/cjs/br-switch.entry.cjs.js.map +1 -1
  68. package/dist/cjs/br-tab-item.cjs.entry.js +2 -2
  69. package/dist/cjs/br-tab-item.cjs.entry.js.map +1 -1
  70. package/dist/cjs/br-tab-item.entry.cjs.js.map +1 -1
  71. package/dist/cjs/br-tab.cjs.entry.js +2 -2
  72. package/dist/cjs/br-tab.cjs.entry.js.map +1 -1
  73. package/dist/cjs/br-tab.entry.cjs.js.map +1 -1
  74. package/dist/cjs/br-table-cell.cjs.entry.js +81 -0
  75. package/dist/cjs/br-table-cell.cjs.entry.js.map +1 -0
  76. package/dist/cjs/br-table-cell.entry.cjs.js.map +1 -0
  77. package/dist/cjs/br-table-header-cell.cjs.entry.js +70 -0
  78. package/dist/cjs/br-table-header-cell.cjs.entry.js.map +1 -0
  79. package/dist/cjs/br-table-header-cell.entry.cjs.js.map +1 -0
  80. package/dist/cjs/br-table-header-row.cjs.entry.js +44 -0
  81. package/dist/cjs/br-table-header-row.cjs.entry.js.map +1 -0
  82. package/dist/cjs/br-table-header-row.entry.cjs.js.map +1 -0
  83. package/dist/cjs/br-table-row.cjs.entry.js +36 -0
  84. package/dist/cjs/br-table-row.cjs.entry.js.map +1 -0
  85. package/dist/cjs/br-table-row.entry.cjs.js.map +1 -0
  86. package/dist/cjs/br-table.cjs.entry.js +44 -0
  87. package/dist/cjs/br-table.cjs.entry.js.map +1 -0
  88. package/dist/cjs/br-table.entry.cjs.js.map +1 -0
  89. package/dist/cjs/br-tag.cjs.entry.js +3 -3
  90. package/dist/cjs/br-tag.cjs.entry.js.map +1 -1
  91. package/dist/cjs/br-tag.entry.cjs.js.map +1 -1
  92. package/dist/cjs/br-textarea.cjs.entry.js +2 -2
  93. package/dist/cjs/br-textarea.cjs.entry.js.map +1 -1
  94. package/dist/cjs/br-textarea.entry.cjs.js.map +1 -1
  95. package/dist/cjs/br-upload.cjs.entry.js +2 -2
  96. package/dist/cjs/br-upload.cjs.entry.js.map +1 -1
  97. package/dist/cjs/br-upload.entry.cjs.js.map +1 -1
  98. package/dist/cjs/helpers-BOXIHVCc.js +23 -0
  99. package/dist/cjs/helpers-BOXIHVCc.js.map +1 -0
  100. package/dist/cjs/index-DAOr34NM.js +50 -10
  101. package/dist/cjs/loader.cjs.js +1 -1
  102. package/dist/cjs/webcomponents.cjs.js +1 -1
  103. package/dist/collection/collection-manifest.json +11 -0
  104. package/dist/collection/components/avatar/avatar.css +1 -1
  105. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
  106. package/dist/collection/components/button/button.css +1 -1
  107. package/dist/collection/components/checkbox/checkbox.css +1 -1
  108. package/dist/collection/components/checkbox/checkbox.js +8 -1
  109. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  110. package/dist/collection/components/checkgroup/checkgroup.css +1 -1
  111. package/dist/collection/components/collapse/collapse.css +1 -1
  112. package/dist/collection/components/collapse/collapse.js +131 -43
  113. package/dist/collection/components/collapse/collapse.js.map +1 -1
  114. package/dist/collection/components/divider/divider.css +1 -1
  115. package/dist/collection/components/dropdown/dropdown.css +1 -1
  116. package/dist/collection/components/footer/footer.css +1 -0
  117. package/dist/collection/components/footer/footer.js +128 -0
  118. package/dist/collection/components/footer/footer.js.map +1 -0
  119. package/dist/collection/components/footer-category/footer-category.css +1 -0
  120. package/dist/collection/components/footer-category/footer-category.js +178 -0
  121. package/dist/collection/components/footer-category/footer-category.js.map +1 -0
  122. package/dist/collection/components/footer-item/footer-item.css +1 -0
  123. package/dist/collection/components/footer-item/footer-item.js +117 -0
  124. package/dist/collection/components/footer-item/footer-item.js.map +1 -0
  125. package/dist/collection/components/footer-legal/footer-legal.css +1 -0
  126. package/dist/collection/components/footer-legal/footer-legal.js +77 -0
  127. package/dist/collection/components/footer-legal/footer-legal.js.map +1 -0
  128. package/dist/collection/components/footer-logo/footer-logo.css +1 -0
  129. package/dist/collection/components/footer-logo/footer-logo.js +188 -0
  130. package/dist/collection/components/footer-logo/footer-logo.js.map +1 -0
  131. package/dist/collection/components/footer-social/footer-social.css +1 -0
  132. package/dist/collection/components/footer-social/footer-social.js +147 -0
  133. package/dist/collection/components/footer-social/footer-social.js.map +1 -0
  134. package/dist/collection/components/icon/icon.css +1 -1
  135. package/dist/collection/components/icon/icon.js +1 -1
  136. package/dist/collection/components/input/input.css +1 -1
  137. package/dist/collection/components/input/input.js +1 -1
  138. package/dist/collection/components/item/item.css +1 -1
  139. package/dist/collection/components/item/item.js +1 -1
  140. package/dist/collection/components/list/list.css +1 -1
  141. package/dist/collection/components/list/list.js +91 -8
  142. package/dist/collection/components/list/list.js.map +1 -1
  143. package/dist/collection/components/loading/loading.css +1 -1
  144. package/dist/collection/components/loading/loading.js +1 -1
  145. package/dist/collection/components/message/message.css +1 -1
  146. package/dist/collection/components/message/message.js +1 -1
  147. package/dist/collection/components/radio/radio.css +1 -1
  148. package/dist/collection/components/radio/radio.js +36 -1
  149. package/dist/collection/components/radio/radio.js.map +1 -1
  150. package/dist/collection/components/select/select.css +1 -1
  151. package/dist/collection/components/select/select.js +1 -1
  152. package/dist/collection/components/step/step.css +1 -1
  153. package/dist/collection/components/step/step.js +1 -1
  154. package/dist/collection/components/step-item/step-item.css +1 -1
  155. package/dist/collection/components/step-item/step-item.js +2 -2
  156. package/dist/collection/components/switch/switch.css +1 -1
  157. package/dist/collection/components/switch/switch.js +1 -1
  158. package/dist/collection/components/tab/tab.css +1 -1
  159. package/dist/collection/components/tab/tab.js +1 -1
  160. package/dist/collection/components/tab-item/tab-item.css +1 -1
  161. package/dist/collection/components/tab-item/tab-item.js +1 -1
  162. package/dist/collection/components/table/table.css +1 -0
  163. package/dist/collection/components/table/table.js +77 -0
  164. package/dist/collection/components/table/table.js.map +1 -0
  165. package/dist/collection/components/table-cell/table-cell.css +1 -0
  166. package/dist/collection/components/table-cell/table-cell.js +171 -0
  167. package/dist/collection/components/table-cell/table-cell.js.map +1 -0
  168. package/dist/collection/components/table-header-cell/table-header-cell.css +1 -0
  169. package/dist/collection/components/table-header-cell/table-header-cell.js +164 -0
  170. package/dist/collection/components/table-header-cell/table-header-cell.js.map +1 -0
  171. package/dist/collection/components/table-header-row/table-header-row.css +1 -0
  172. package/dist/collection/components/table-header-row/table-header-row.js +77 -0
  173. package/dist/collection/components/table-header-row/table-header-row.js.map +1 -0
  174. package/dist/collection/components/table-row/table-row.css +1 -0
  175. package/dist/collection/components/table-row/table-row.js +69 -0
  176. package/dist/collection/components/table-row/table-row.js.map +1 -0
  177. package/dist/collection/components/tag/tag.css +1 -1
  178. package/dist/collection/components/tag/tag.js +2 -2
  179. package/dist/collection/components/textarea/textarea.css +1 -1
  180. package/dist/collection/components/textarea/textarea.js +1 -1
  181. package/dist/collection/components/upload/upload.css +1 -1
  182. package/dist/collection/components/upload/upload.js +1 -1
  183. package/dist/collection/pages/components/footer/index.js +18 -0
  184. package/dist/collection/pages/components/table/index.js +18 -0
  185. package/dist/collection/pages/scripts/menu.js +12 -2
  186. package/dist/collection/utils/css-variables.js +10 -0
  187. package/dist/collection/utils/css-variables.js.map +1 -0
  188. package/dist/collection/utils/helpers.js +17 -0
  189. package/dist/collection/utils/helpers.js.map +1 -0
  190. package/dist/collection/utils/types.js +2 -0
  191. package/dist/collection/utils/types.js.map +1 -0
  192. package/dist/components/br-avatar.js +3 -3
  193. package/dist/components/br-breadcrumb.js +29 -21
  194. package/dist/components/br-breadcrumb.js.map +1 -1
  195. package/dist/components/br-button.js +3 -3
  196. package/dist/components/br-checkbox.js +3 -3
  197. package/dist/components/br-checkgroup.js +3 -3
  198. package/dist/components/br-collapse.js +4 -171
  199. package/dist/components/br-collapse.js.map +1 -1
  200. package/dist/components/br-divider.js +4 -131
  201. package/dist/components/br-divider.js.map +1 -1
  202. package/dist/components/br-dropdown.js +2 -2
  203. package/dist/components/br-footer-category.d.ts +11 -0
  204. package/dist/components/br-footer-category.js +169 -0
  205. package/dist/components/br-footer-category.js.map +1 -0
  206. package/dist/components/br-footer-item.d.ts +11 -0
  207. package/dist/components/br-footer-item.js +95 -0
  208. package/dist/components/br-footer-item.js.map +1 -0
  209. package/dist/components/br-footer-legal.d.ts +11 -0
  210. package/dist/components/br-footer-legal.js +85 -0
  211. package/dist/components/br-footer-legal.js.map +1 -0
  212. package/dist/components/br-footer-logo.d.ts +11 -0
  213. package/dist/components/br-footer-logo.js +112 -0
  214. package/dist/components/br-footer-logo.js.map +1 -0
  215. package/dist/components/br-footer-social.d.ts +11 -0
  216. package/dist/components/br-footer-social.js +116 -0
  217. package/dist/components/br-footer-social.js.map +1 -0
  218. package/dist/components/br-footer.d.ts +11 -0
  219. package/dist/components/br-footer.js +113 -0
  220. package/dist/components/br-footer.js.map +1 -0
  221. package/dist/components/br-icon.js +4 -4
  222. package/dist/components/br-input.js +1 -1
  223. package/dist/components/br-item.js +4 -4
  224. package/dist/components/br-list.js +1 -1
  225. package/dist/components/br-loading.js +3 -3
  226. package/dist/components/br-message.js +7 -7
  227. package/dist/components/br-radio.js +4 -4
  228. package/dist/components/br-select.js +33 -25
  229. package/dist/components/br-select.js.map +1 -1
  230. package/dist/components/br-step-item.js +18 -18
  231. package/dist/components/br-step.js +9 -9
  232. package/dist/components/br-switch.js +7 -7
  233. package/dist/components/br-tab-item.js +11 -11
  234. package/dist/components/br-tab.js +8 -8
  235. package/dist/components/br-table-cell.d.ts +11 -0
  236. package/dist/components/br-table-cell.js +118 -0
  237. package/dist/components/br-table-cell.js.map +1 -0
  238. package/dist/components/br-table-header-cell.d.ts +11 -0
  239. package/dist/components/br-table-header-cell.js +108 -0
  240. package/dist/components/br-table-header-cell.js.map +1 -0
  241. package/dist/components/br-table-header-row.d.ts +11 -0
  242. package/dist/components/br-table-header-row.js +76 -0
  243. package/dist/components/br-table-header-row.js.map +1 -0
  244. package/dist/components/br-table-row.d.ts +11 -0
  245. package/dist/components/br-table-row.js +69 -0
  246. package/dist/components/br-table-row.js.map +1 -0
  247. package/dist/components/br-table.d.ts +11 -0
  248. package/dist/components/br-table.js +86 -0
  249. package/dist/components/br-table.js.map +1 -0
  250. package/dist/components/br-tag.js +10 -10
  251. package/dist/components/br-textarea.js +10 -10
  252. package/dist/components/br-upload.js +13 -13
  253. package/dist/components/index.d.ts +22 -0
  254. package/dist/components/index.js +23 -1
  255. package/dist/components/p-6zXKXi1G.js +386 -0
  256. package/dist/components/{p-CyMSBO1R.js → p-BBbnZnbw.js} +3 -3
  257. package/dist/components/p-BRKK5nMe.js +22 -0
  258. package/dist/components/p-BRKK5nMe.js.map +1 -0
  259. package/dist/components/p-BUstn93c.js +190 -0
  260. package/dist/components/p-BUstn93c.js.map +1 -0
  261. package/dist/components/p-BccYWJTM.js +285 -0
  262. package/dist/components/p-C69qzP4f.js +2270 -0
  263. package/dist/components/p-YVVBeyHg.js +183 -0
  264. package/dist/components/p-YVVBeyHg.js.map +1 -0
  265. package/dist/components/p-ci-A1Ja3.js +207 -0
  266. package/dist/components/p-ci-A1Ja3.js.map +1 -0
  267. package/dist/components/p-fXOTnsCB.js +237 -0
  268. package/dist/components/p-fXOTnsCB.js.map +1 -0
  269. package/dist/components/p-lS-a0O7q.js +161 -0
  270. package/dist/components/p-lS-a0O7q.js.map +1 -0
  271. package/dist/components/p-netcRdpj.js +136 -0
  272. package/dist/components/p-netcRdpj.js.map +1 -0
  273. package/dist/custom-elements.json +3553 -2061
  274. package/dist/esm/br-avatar.entry.js +1 -1
  275. package/dist/esm/br-avatar.entry.js.map +1 -1
  276. package/dist/esm/br-breadcrumb.entry.js +1 -1
  277. package/dist/esm/br-breadcrumb.entry.js.map +1 -1
  278. package/dist/esm/br-button.br-icon.entry.js.map +1 -1
  279. package/dist/esm/br-button_2.entry.js +3 -3
  280. package/dist/esm/br-button_2.entry.js.map +1 -1
  281. package/dist/esm/br-checkbox.entry.js +9 -2
  282. package/dist/esm/br-checkbox.entry.js.map +1 -1
  283. package/dist/esm/br-checkgroup.entry.js +1 -1
  284. package/dist/esm/br-checkgroup.entry.js.map +1 -1
  285. package/dist/esm/br-collapse.br-list.entry.js.map +1 -0
  286. package/dist/esm/br-collapse_2.entry.js +283 -0
  287. package/dist/esm/br-collapse_2.entry.js.map +1 -0
  288. package/dist/esm/br-divider.entry.js +1 -1
  289. package/dist/esm/br-divider.entry.js.map +1 -1
  290. package/dist/esm/br-dropdown.entry.js +1 -1
  291. package/dist/esm/br-dropdown.entry.js.map +1 -1
  292. package/dist/esm/br-footer-category.entry.js +108 -0
  293. package/dist/esm/br-footer-category.entry.js.map +1 -0
  294. package/dist/esm/br-footer-item.entry.js +50 -0
  295. package/dist/esm/br-footer-item.entry.js.map +1 -0
  296. package/dist/esm/br-footer-legal.entry.js +41 -0
  297. package/dist/esm/br-footer-legal.entry.js.map +1 -0
  298. package/dist/esm/br-footer-logo.entry.js +72 -0
  299. package/dist/esm/br-footer-logo.entry.js.map +1 -0
  300. package/dist/esm/br-footer-social.entry.js +55 -0
  301. package/dist/esm/br-footer-social.entry.js.map +1 -0
  302. package/dist/esm/br-footer.entry.js +47 -0
  303. package/dist/esm/br-footer.entry.js.map +1 -0
  304. package/dist/esm/br-input.br-radio.entry.js.map +1 -1
  305. package/dist/esm/br-input_2.entry.js +33 -4
  306. package/dist/esm/br-input_2.entry.js.map +1 -1
  307. package/dist/esm/br-item.entry.js +2 -2
  308. package/dist/esm/br-item.entry.js.map +1 -1
  309. package/dist/esm/br-loading.entry.js +2 -2
  310. package/dist/esm/br-loading.entry.js.map +1 -1
  311. package/dist/esm/br-message.entry.js +2 -2
  312. package/dist/esm/br-message.entry.js.map +1 -1
  313. package/dist/esm/br-select.entry.js +2 -2
  314. package/dist/esm/br-select.entry.js.map +1 -1
  315. package/dist/esm/br-step-item.entry.js +2 -2
  316. package/dist/esm/br-step-item.entry.js.map +1 -1
  317. package/dist/esm/br-step.entry.js +2 -2
  318. package/dist/esm/br-step.entry.js.map +1 -1
  319. package/dist/esm/br-switch.entry.js +2 -2
  320. package/dist/esm/br-switch.entry.js.map +1 -1
  321. package/dist/esm/br-tab-item.entry.js +2 -2
  322. package/dist/esm/br-tab-item.entry.js.map +1 -1
  323. package/dist/esm/br-tab.entry.js +2 -2
  324. package/dist/esm/br-tab.entry.js.map +1 -1
  325. package/dist/esm/br-table-cell.entry.js +79 -0
  326. package/dist/esm/br-table-cell.entry.js.map +1 -0
  327. package/dist/esm/br-table-header-cell.entry.js +68 -0
  328. package/dist/esm/br-table-header-cell.entry.js.map +1 -0
  329. package/dist/esm/br-table-header-row.entry.js +42 -0
  330. package/dist/esm/br-table-header-row.entry.js.map +1 -0
  331. package/dist/esm/br-table-row.entry.js +34 -0
  332. package/dist/esm/br-table-row.entry.js.map +1 -0
  333. package/dist/esm/br-table.entry.js +42 -0
  334. package/dist/esm/br-table.entry.js.map +1 -0
  335. package/dist/esm/br-tag.entry.js +3 -3
  336. package/dist/esm/br-tag.entry.js.map +1 -1
  337. package/dist/esm/br-textarea.entry.js +2 -2
  338. package/dist/esm/br-textarea.entry.js.map +1 -1
  339. package/dist/esm/br-upload.entry.js +2 -2
  340. package/dist/esm/br-upload.entry.js.map +1 -1
  341. package/dist/esm/helpers-BRKK5nMe.js +21 -0
  342. package/dist/esm/helpers-BRKK5nMe.js.map +1 -0
  343. package/dist/esm/index-ClsF4De3.js +50 -10
  344. package/dist/esm/loader.js +1 -1
  345. package/dist/esm/webcomponents.js +1 -1
  346. package/dist/hydrate/index.js +987 -104
  347. package/dist/hydrate/index.mjs +987 -104
  348. package/dist/types/components/checkbox/checkbox.d.ts +1 -0
  349. package/dist/types/components/collapse/collapse.d.ts +73 -9
  350. package/dist/types/components/footer/footer.d.ts +37 -0
  351. package/dist/types/components/footer-category/footer-category.d.ts +81 -0
  352. package/dist/types/components/footer-item/footer-item.d.ts +39 -0
  353. package/dist/types/components/footer-legal/footer-legal.d.ts +24 -0
  354. package/dist/types/components/footer-logo/footer-logo.d.ts +49 -0
  355. package/dist/types/components/footer-social/footer-social.d.ts +38 -0
  356. package/dist/types/components/list/list.d.ts +39 -1
  357. package/dist/types/components/radio/radio.d.ts +8 -0
  358. package/dist/types/components/table/table.d.ts +27 -0
  359. package/dist/types/components/table-cell/table-cell.d.ts +50 -0
  360. package/dist/types/components/table-header-cell/table-header-cell.d.ts +39 -0
  361. package/dist/types/components/table-header-row/table-header-row.d.ts +27 -0
  362. package/dist/types/components/table-row/table-row.d.ts +19 -0
  363. package/dist/types/components.d.ts +604 -10
  364. package/dist/types/utils/css-variables.d.ts +5 -0
  365. package/dist/types/utils/helpers.d.ts +8 -0
  366. package/dist/types/utils/types.d.ts +1 -0
  367. package/dist/webcomponents/br-avatar.entry.esm.js.map +1 -1
  368. package/dist/webcomponents/br-breadcrumb.entry.esm.js.map +1 -1
  369. package/dist/webcomponents/br-button.br-icon.entry.esm.js.map +1 -1
  370. package/dist/webcomponents/br-checkbox.entry.esm.js.map +1 -1
  371. package/dist/webcomponents/br-checkgroup.entry.esm.js.map +1 -1
  372. package/dist/webcomponents/br-collapse.br-list.entry.esm.js.map +1 -0
  373. package/dist/webcomponents/br-divider.entry.esm.js.map +1 -1
  374. package/dist/webcomponents/br-dropdown.entry.esm.js.map +1 -1
  375. package/dist/webcomponents/br-footer-category.entry.esm.js.map +1 -0
  376. package/dist/webcomponents/br-footer-item.entry.esm.js.map +1 -0
  377. package/dist/webcomponents/br-footer-legal.entry.esm.js.map +1 -0
  378. package/dist/webcomponents/br-footer-logo.entry.esm.js.map +1 -0
  379. package/dist/webcomponents/br-footer-social.entry.esm.js.map +1 -0
  380. package/dist/webcomponents/br-footer.entry.esm.js.map +1 -0
  381. package/dist/webcomponents/br-input.br-radio.entry.esm.js.map +1 -1
  382. package/dist/webcomponents/br-item.entry.esm.js.map +1 -1
  383. package/dist/webcomponents/br-loading.entry.esm.js.map +1 -1
  384. package/dist/webcomponents/br-message.entry.esm.js.map +1 -1
  385. package/dist/webcomponents/br-select.entry.esm.js.map +1 -1
  386. package/dist/webcomponents/br-step-item.entry.esm.js.map +1 -1
  387. package/dist/webcomponents/br-step.entry.esm.js.map +1 -1
  388. package/dist/webcomponents/br-switch.entry.esm.js.map +1 -1
  389. package/dist/webcomponents/br-tab-item.entry.esm.js.map +1 -1
  390. package/dist/webcomponents/br-tab.entry.esm.js.map +1 -1
  391. package/dist/webcomponents/br-table-cell.entry.esm.js.map +1 -0
  392. package/dist/webcomponents/br-table-header-cell.entry.esm.js.map +1 -0
  393. package/dist/webcomponents/br-table-header-row.entry.esm.js.map +1 -0
  394. package/dist/webcomponents/br-table-row.entry.esm.js.map +1 -0
  395. package/dist/webcomponents/br-table.entry.esm.js.map +1 -0
  396. package/dist/webcomponents/br-tag.entry.esm.js.map +1 -1
  397. package/dist/webcomponents/br-textarea.entry.esm.js.map +1 -1
  398. package/dist/webcomponents/br-upload.entry.esm.js.map +1 -1
  399. package/dist/webcomponents/p-0d558b53.entry.js +164 -0
  400. package/dist/webcomponents/p-1bb87e44.entry.js +178 -0
  401. package/dist/webcomponents/p-1bb87e44.entry.js.map +1 -0
  402. package/dist/webcomponents/p-264546b9.entry.js +72 -0
  403. package/dist/webcomponents/p-264546b9.entry.js.map +1 -0
  404. package/dist/webcomponents/p-290d85de.entry.js +61 -0
  405. package/dist/webcomponents/p-290d85de.entry.js.map +1 -0
  406. package/dist/webcomponents/p-2c34874f.entry.js +210 -0
  407. package/dist/webcomponents/p-2d0ea474.entry.js +52 -0
  408. package/dist/webcomponents/p-2d0ea474.entry.js.map +1 -0
  409. package/dist/webcomponents/p-2f53eae4.entry.js +79 -0
  410. package/dist/webcomponents/p-2f53eae4.entry.js.map +1 -0
  411. package/dist/webcomponents/p-329b8988.entry.js +167 -0
  412. package/dist/webcomponents/p-3565a60d.entry.js +153 -0
  413. package/dist/webcomponents/p-356d2ed1.entry.js +399 -0
  414. package/dist/webcomponents/p-356d2ed1.entry.js.map +1 -0
  415. package/dist/webcomponents/p-39b2018d.entry.js +149 -0
  416. package/dist/webcomponents/p-3dede3fc.entry.js +145 -0
  417. package/dist/webcomponents/p-43d52598.entry.js +376 -0
  418. package/dist/webcomponents/p-4a7f95ce.entry.js +255 -0
  419. package/dist/webcomponents/p-4f7a4a8c.entry.js +83 -0
  420. package/dist/webcomponents/p-4f7a4a8c.entry.js.map +1 -0
  421. package/dist/webcomponents/p-52f26deb.entry.js +484 -0
  422. package/dist/webcomponents/p-52f26deb.entry.js.map +1 -0
  423. package/dist/webcomponents/p-564e2ed1.entry.js +89 -0
  424. package/dist/webcomponents/p-564e2ed1.entry.js.map +1 -0
  425. package/dist/webcomponents/p-59eecde7.entry.js +343 -0
  426. package/dist/webcomponents/p-59eecde7.entry.js.map +1 -0
  427. package/dist/webcomponents/p-62527cde.entry.js +258 -0
  428. package/dist/webcomponents/p-774ba96e.entry.js +51 -0
  429. package/dist/webcomponents/p-774ba96e.entry.js.map +1 -0
  430. package/dist/webcomponents/p-7a41ff6c.entry.js +61 -0
  431. package/dist/webcomponents/p-7a41ff6c.entry.js.map +1 -0
  432. package/dist/webcomponents/p-7e15d753.entry.js +282 -0
  433. package/dist/webcomponents/p-8939b230.entry.js +297 -0
  434. package/dist/webcomponents/p-923d0ee2.entry.js +2369 -0
  435. package/dist/webcomponents/p-923d0ee2.entry.js.map +1 -0
  436. package/dist/webcomponents/p-9c435cb9.entry.js +88 -0
  437. package/dist/webcomponents/p-BRKK5nMe.js +22 -0
  438. package/dist/webcomponents/p-BRKK5nMe.js.map +1 -0
  439. package/dist/webcomponents/p-bf7f634f.entry.js +86 -0
  440. package/dist/webcomponents/p-bf7f634f.entry.js.map +1 -0
  441. package/dist/webcomponents/p-c473e6fd.entry.js +277 -0
  442. package/dist/webcomponents/p-c47722eb.entry.js +44 -0
  443. package/dist/webcomponents/p-c47722eb.entry.js.map +1 -0
  444. package/dist/webcomponents/p-ccbd8201.entry.js +105 -0
  445. package/dist/webcomponents/p-d8efe09f.entry.js +108 -0
  446. package/dist/webcomponents/p-e267327f.entry.js +141 -0
  447. package/dist/webcomponents/p-ee273dde.entry.js +117 -0
  448. package/dist/webcomponents/p-ee273dde.entry.js.map +1 -0
  449. package/dist/webcomponents/webcomponents.esm.js +118 -73
  450. package/dist/webcomponents.html-custom-data.json +117 -4
  451. package/package.json +1 -1
  452. package/dist/cjs/br-collapse.cjs.entry.js +0 -100
  453. package/dist/cjs/br-collapse.cjs.entry.js.map +0 -1
  454. package/dist/cjs/br-collapse.entry.cjs.js.map +0 -1
  455. package/dist/cjs/br-list.cjs.entry.js +0 -90
  456. package/dist/cjs/br-list.cjs.entry.js.map +0 -1
  457. package/dist/cjs/br-list.entry.cjs.js.map +0 -1
  458. package/dist/components/p--CgLOCRx.js +0 -161
  459. package/dist/components/p--CgLOCRx.js.map +0 -1
  460. package/dist/components/p-BHVw1goI.js +0 -130
  461. package/dist/components/p-BHVw1goI.js.map +0 -1
  462. package/dist/components/p-BJMTHoO1.js +0 -166
  463. package/dist/components/p-BJMTHoO1.js.map +0 -1
  464. package/dist/components/p-BnUE1zRr.js +0 -2270
  465. package/dist/components/p-D8kzJA95.js +0 -386
  466. package/dist/components/p-UBBZzYz0.js +0 -285
  467. package/dist/components/p-XihAdNcR.js +0 -198
  468. package/dist/components/p-XihAdNcR.js.map +0 -1
  469. package/dist/esm/br-collapse.entry.js +0 -98
  470. package/dist/esm/br-collapse.entry.js.map +0 -1
  471. package/dist/esm/br-list.entry.js +0 -88
  472. package/dist/esm/br-list.entry.js.map +0 -1
  473. package/dist/webcomponents/br-collapse.entry.esm.js.map +0 -1
  474. package/dist/webcomponents/br-list.entry.esm.js.map +0 -1
  475. package/dist/webcomponents/p-042418c1.entry.js +0 -282
  476. package/dist/webcomponents/p-266fd1cc.entry.js +0 -210
  477. package/dist/webcomponents/p-26a06008.entry.js +0 -277
  478. package/dist/webcomponents/p-39a05b09.entry.js +0 -105
  479. package/dist/webcomponents/p-4904fcbd.entry.js +0 -255
  480. package/dist/webcomponents/p-5ba2ffff.entry.js +0 -258
  481. package/dist/webcomponents/p-5c6f6d89.entry.js +0 -145
  482. package/dist/webcomponents/p-5c6f6d89.entry.js.map +0 -1
  483. package/dist/webcomponents/p-6e345cc1.entry.js +0 -164
  484. package/dist/webcomponents/p-74a30dda.entry.js +0 -145
  485. package/dist/webcomponents/p-8073b5fe.entry.js +0 -376
  486. package/dist/webcomponents/p-82421cdf.entry.js +0 -108
  487. package/dist/webcomponents/p-8525c0c3.entry.js +0 -149
  488. package/dist/webcomponents/p-86a0426b.entry.js +0 -111
  489. package/dist/webcomponents/p-86a0426b.entry.js.map +0 -1
  490. package/dist/webcomponents/p-ba1a8a96.entry.js +0 -141
  491. package/dist/webcomponents/p-c0c4e877.entry.js +0 -88
  492. package/dist/webcomponents/p-c9d64f24.entry.js +0 -169
  493. package/dist/webcomponents/p-c9d64f24.entry.js.map +0 -1
  494. package/dist/webcomponents/p-cb6a0614.entry.js +0 -153
  495. package/dist/webcomponents/p-e2ea234c.entry.js +0 -460
  496. package/dist/webcomponents/p-e2ea234c.entry.js.map +0 -1
  497. package/dist/webcomponents/p-e3880c54.entry.js +0 -167
  498. package/dist/webcomponents/p-e9979a59.entry.js +0 -2369
  499. package/dist/webcomponents/p-e9979a59.entry.js.map +0 -1
  500. package/dist/webcomponents/p-ebe00c81.entry.js +0 -297
  501. package/dist/webcomponents/p-fddc4ef2.entry.js +0 -399
  502. package/dist/webcomponents/p-fddc4ef2.entry.js.map +0 -1
  503. /package/dist/components/{p-D8kzJA95.js.map → p-6zXKXi1G.js.map} +0 -0
  504. /package/dist/components/{p-CyMSBO1R.js.map → p-BBbnZnbw.js.map} +0 -0
  505. /package/dist/components/{p-UBBZzYz0.js.map → p-BccYWJTM.js.map} +0 -0
  506. /package/dist/components/{p-BnUE1zRr.js.map → p-C69qzP4f.js.map} +0 -0
  507. /package/dist/webcomponents/{p-6e345cc1.entry.js.map → p-0d558b53.entry.js.map} +0 -0
  508. /package/dist/webcomponents/{p-266fd1cc.entry.js.map → p-2c34874f.entry.js.map} +0 -0
  509. /package/dist/webcomponents/{p-e3880c54.entry.js.map → p-329b8988.entry.js.map} +0 -0
  510. /package/dist/webcomponents/{p-cb6a0614.entry.js.map → p-3565a60d.entry.js.map} +0 -0
  511. /package/dist/webcomponents/{p-8525c0c3.entry.js.map → p-39b2018d.entry.js.map} +0 -0
  512. /package/dist/webcomponents/{p-74a30dda.entry.js.map → p-3dede3fc.entry.js.map} +0 -0
  513. /package/dist/webcomponents/{p-8073b5fe.entry.js.map → p-43d52598.entry.js.map} +0 -0
  514. /package/dist/webcomponents/{p-4904fcbd.entry.js.map → p-4a7f95ce.entry.js.map} +0 -0
  515. /package/dist/webcomponents/{p-5ba2ffff.entry.js.map → p-62527cde.entry.js.map} +0 -0
  516. /package/dist/webcomponents/{p-042418c1.entry.js.map → p-7e15d753.entry.js.map} +0 -0
  517. /package/dist/webcomponents/{p-ebe00c81.entry.js.map → p-8939b230.entry.js.map} +0 -0
  518. /package/dist/webcomponents/{p-c0c4e877.entry.js.map → p-9c435cb9.entry.js.map} +0 -0
  519. /package/dist/webcomponents/{p-26a06008.entry.js.map → p-c473e6fd.entry.js.map} +0 -0
  520. /package/dist/webcomponents/{p-39a05b09.entry.js.map → p-ccbd8201.entry.js.map} +0 -0
  521. /package/dist/webcomponents/{p-82421cdf.entry.js.map → p-d8efe09f.entry.js.map} +0 -0
  522. /package/dist/webcomponents/{p-ba1a8a96.entry.js.map → p-e267327f.entry.js.map} +0 -0
@@ -3,7 +3,7 @@
3
3
  * © https://serpro.gov.br/ - MIT License.
4
4
  */
5
5
  import { h, Host } from "@stencil/core";
6
- // import { CssClassMap } from '../../utils/interfaces'
6
+ import Helpers from "../../utils/helpers";
7
7
  /**
8
8
  * O componente `br-collapse` pode ser utilizado em dois cenários principais: collapse simples ou accordion.
9
9
  *
@@ -24,68 +24,132 @@ export class Collapse {
24
24
  * Identificador único.
25
25
  * Caso não seja fornecido, um ID gerado automaticamente será usado.
26
26
  */
27
- customId = `br-collapse-${collapseId++}`;
28
- /** Define se o item está inicialmente aberto */
27
+ customId = Helpers.generateUniqueId('clp');
28
+ /**
29
+ * Define se o collapse está aberto ou fechado.
30
+ * @default false
31
+ */
29
32
  open = false;
30
- /** Define se o collapse faz parte de um accordion */
31
- accordionGroup;
32
- /** Classe CSS para o ícone de expansão */
33
+ /**
34
+ * Define se o collapse faz parte de um accordion
35
+ * @default null
36
+ */
37
+ accordionGroup = null;
38
+ /**
39
+ * Classe CSS para o ícone de expansão
40
+ * @default 'fa6-solid:chevron-down'
41
+ */
33
42
  iconToShow = 'fa6-solid:chevron-down';
34
- /** Classe CSS para o ícone de recolhimento */
43
+ /**
44
+ * Classe CSS para o ícone de recolhimento
45
+ * @default 'fa6-solid:chevron-up'
46
+ */
35
47
  iconToHide = 'fa6-solid:chevron-up';
36
- /** Define a posição do ícone: 'left' ou 'right' */
48
+ /**
49
+ * Define a posição do ícone: 'left' ou 'right'
50
+ * @default 'right'
51
+ */
37
52
  iconPosition = 'right';
38
- /** Evento emitido ao expandir */
53
+ /**
54
+ * Evento emitido ao expandir.
55
+ */
39
56
  brDidOpen;
40
- /** Evento emitido ao recolher */
57
+ /**
58
+ * Evento emitido ao recolher.
59
+ */
41
60
  brDidClose;
61
+ /**
62
+ * Evento disparado quando o componente é aberto.
63
+ * @param event Evento disparado quando o componente é aberto.
64
+ */
65
+ /**
66
+ * Handler para o evento de abertura do componente.
67
+ * Fecha o collapse atual se ele não for parte do mesmo grupo de accordion.
68
+ * @param event Evento disparado quando o componente é aberto.
69
+ */
70
+ handleOpen(event) {
71
+ if (this.accordionGroup &&
72
+ this.accordionGroup === event.detail.accordionGroup &&
73
+ event.detail.id !== this.customId) {
74
+ this.closeCollapse();
75
+ }
76
+ }
77
+ /**
78
+ * Ciclo de vida do componente. Chamado uma vez logo após o componente ser adicionado ao DOM.
79
+ */
42
80
  componentWillLoad() {
43
81
  this.syncDetailsWithOpen();
44
82
  }
83
+ /**
84
+ * Ciclo de vida do componente. Chamado quando o componente é removido do DOM.
85
+ */
86
+ disconnectedCallback() {
87
+ const details = this.el.shadowRoot?.querySelector('details');
88
+ if (details !== null) {
89
+ details.removeEventListener('toggle', this.handleCollapse);
90
+ }
91
+ }
92
+ /**
93
+ * Sincroniza o estado do elemento <details> com a propriedade open.
94
+ * Isso garante que o estado visual do componente corresponda ao estado interno.
95
+ */
45
96
  syncDetailsWithOpen() {
46
97
  const details = this.el.shadowRoot?.querySelector('details');
47
98
  if (details !== null) {
48
99
  details.open = this.open;
49
100
  }
50
101
  }
102
+ /**
103
+ * Método chamado quando o elemento <details> é aberto ou fechado.
104
+ * Atualiza o estado interno do componente e emite eventos apropriados.
105
+ * @param event O evento de toggle do elemento <details>.
106
+ */
51
107
  handleCollapse = (event) => {
52
108
  const details = event.target;
53
109
  const isOpen = details.open;
54
- if (this.accordionGroup && isOpen) {
55
- const allItems = document.querySelectorAll(`br-collapse[accordion-group="${this.accordionGroup}"]`);
56
- allItems.forEach((item) => {
57
- if (item !== this.el) {
58
- ;
59
- item.closeCollapse();
60
- }
61
- });
62
- }
63
110
  this.open = isOpen;
64
111
  if (this.open) {
65
- this.brDidOpen.emit({ id: this.customId });
112
+ this.brDidOpen.emit({ id: this.customId, accordionGroup: this.accordionGroup });
66
113
  }
67
114
  else {
68
- this.brDidClose.emit({ id: this.customId });
115
+ this.brDidClose.emit({ id: this.customId, accordionGroup: this.accordionGroup });
69
116
  }
70
117
  };
71
- /** Método público para abrir */
118
+ /**
119
+ * Método público para abrir.
120
+ * Este método pode ser chamado externamente para abrir o componente.
121
+ */
72
122
  async openCollapse() {
73
123
  this.open = true;
74
124
  this.syncDetailsWithOpen();
75
- this.brDidOpen.emit({ id: this.customId });
125
+ this.brDidOpen.emit({ id: this.customId, accordionGroup: this.accordionGroup });
76
126
  }
77
- /** Método público para fechar */
127
+ /**
128
+ * Método público para fechar.
129
+ * Este método pode ser chamado externamente para fechar o componente.
130
+ */
78
131
  async closeCollapse() {
79
132
  this.open = false;
80
133
  this.syncDetailsWithOpen();
81
- this.brDidClose.emit({ id: this.customId });
134
+ this.brDidClose.emit({ id: this.customId, accordionGroup: this.accordionGroup });
82
135
  }
136
+ /**
137
+ * Renderiza o ícone de acordo com o estado do collapse.
138
+ * Se o collapse estiver aberto, renderiza o ícone para ocultar.
139
+ * Caso contrário, renderiza o ícone para mostrar.
140
+ * @returns JSX do ícone
141
+ */
83
142
  renderIcon() {
84
143
  return h("br-icon", { "icon-name": this.open ? this.iconToHide : this.iconToShow });
85
144
  }
145
+ /**
146
+ * Renderiza o componente.
147
+ * O componente é renderizado como um elemento <details> com um <summary> que contém o acionador.
148
+ * @returns JSX do componente.
149
+ */
86
150
  render() {
87
151
  const itemCount = this.el.querySelectorAll('br-item').length;
88
- return (h(Host, { key: '62c90e824797ab96f034afce5d0cb91bf051011a' }, h("details", { key: '6f5c7d43b287fa1a2dfb26ff690ce1e699f32262', class: "br-collapse", open: this.open, onToggle: this.handleCollapse, id: this.customId }, h("summary", { key: 'bc99fc79459ef51aa6e4ce17d7828af5cea6a412', class: "trigger", role: "button", "aria-expanded": String(this.open), "aria-controls": `content-${this.customId}`, "aria-labelledby": `label-${this.customId}`, tabindex: "0", "aria-live": "polite" }, this.iconPosition === 'left' && this.renderIcon(), h("div", { key: 'd29985da0b06f0eb9a38df08a950a9b863548cc9', class: "trigger-content", id: `label-${this.customId}` }, h("slot", { key: '9650b3455288883c0d361a182927c96f4c38ffa1', name: "trigger" })), this.iconPosition === 'right' && this.renderIcon()), h("div", { key: 'f5811bee8ca7dc4babf2a3d610af00a7678398d9', class: "content", id: `content-${this.customId}`, "aria-live": "polite", "aria-labelledby": `label-${this.customId}` }, this.open && itemCount > 0 && (h("div", { key: '1bee5db1e91e46174aa809fa08380c6b969cf1b3', class: "visually-hidden" }, itemCount, " ", itemCount === 1 ? 'item' : 'itens', " na lista")), h("slot", { key: 'acc03f9518fb738f6fb0b3f7d3afc9ad41d08c9e' })))));
152
+ return (h(Host, { key: '1a832a24006eb9f9a430783b5ba5f76e647b4ced' }, h("details", { key: 'c3daa16f5d23b0c9074b2c090b6c24db26bc36dc', class: "br-collapse", open: this.open, onToggle: this.handleCollapse, id: this.customId }, h("summary", { key: '1477adb677338705749b7fa5e6a0dd12e4cd1d3b', class: "trigger", role: "button", "aria-expanded": String(this.open), "aria-controls": `content-${this.customId}`, "aria-labelledby": `label-${this.customId}`, tabindex: "0", "aria-live": "polite" }, this.iconPosition === 'left' && this.renderIcon(), h("div", { key: '5478d4af34f5d76c6944fb164b7046f92fd92abc', class: "trigger-content", id: `label-${this.customId}` }, h("slot", { key: 'cc9b393aa5555e23037926f6d7fb3bd7a897b47b', name: "trigger" })), this.iconPosition === 'right' && this.renderIcon()), h("div", { key: 'b5b53ae0a57a603795e5ed3ee848c6325431d829', class: "content", id: `content-${this.customId}`, "aria-live": "polite", "aria-labelledby": `label-${this.customId}` }, this.open && itemCount > 0 && (h("div", { key: 'c394cf7b1d2f15ace669aecb5c1d1b9374cd77d9', class: "visually-hidden" }, itemCount, " ", itemCount === 1 ? 'item' : 'itens', " na lista")), h("slot", { key: 'ecbc97ea6ba79611b03c4d81103913ab7693c18c' })))));
89
153
  }
90
154
  static get is() { return "br-collapse"; }
91
155
  static get encapsulation() { return "shadow"; }
@@ -120,7 +184,7 @@ export class Collapse {
120
184
  "setter": false,
121
185
  "attribute": "custom-id",
122
186
  "reflect": true,
123
- "defaultValue": "`br-collapse-${collapseId++}`"
187
+ "defaultValue": "Helpers.generateUniqueId('clp')"
124
188
  },
125
189
  "open": {
126
190
  "type": "boolean",
@@ -133,8 +197,11 @@ export class Collapse {
133
197
  "required": false,
134
198
  "optional": false,
135
199
  "docs": {
136
- "tags": [],
137
- "text": "Define se o item est\u00E1 inicialmente aberto"
200
+ "tags": [{
201
+ "name": "default",
202
+ "text": "false"
203
+ }],
204
+ "text": "Define se o collapse est\u00E1 aberto ou fechado."
138
205
  },
139
206
  "getter": false,
140
207
  "setter": false,
@@ -153,13 +220,17 @@ export class Collapse {
153
220
  "required": false,
154
221
  "optional": true,
155
222
  "docs": {
156
- "tags": [],
223
+ "tags": [{
224
+ "name": "default",
225
+ "text": "null"
226
+ }],
157
227
  "text": "Define se o collapse faz parte de um accordion"
158
228
  },
159
229
  "getter": false,
160
230
  "setter": false,
161
231
  "attribute": "accordion-group",
162
- "reflect": false
232
+ "reflect": false,
233
+ "defaultValue": "null"
163
234
  },
164
235
  "iconToShow": {
165
236
  "type": "string",
@@ -172,7 +243,10 @@ export class Collapse {
172
243
  "required": false,
173
244
  "optional": false,
174
245
  "docs": {
175
- "tags": [],
246
+ "tags": [{
247
+ "name": "default",
248
+ "text": "'fa6-solid:chevron-down'"
249
+ }],
176
250
  "text": "Classe CSS para o \u00EDcone de expans\u00E3o"
177
251
  },
178
252
  "getter": false,
@@ -192,7 +266,10 @@ export class Collapse {
192
266
  "required": false,
193
267
  "optional": false,
194
268
  "docs": {
195
- "tags": [],
269
+ "tags": [{
270
+ "name": "default",
271
+ "text": "'fa6-solid:chevron-up'"
272
+ }],
196
273
  "text": "Classe CSS para o \u00EDcone de recolhimento"
197
274
  },
198
275
  "getter": false,
@@ -212,7 +289,10 @@ export class Collapse {
212
289
  "required": false,
213
290
  "optional": false,
214
291
  "docs": {
215
- "tags": [],
292
+ "tags": [{
293
+ "name": "default",
294
+ "text": "'right'"
295
+ }],
216
296
  "text": "Define a posi\u00E7\u00E3o do \u00EDcone: 'left' ou 'right'"
217
297
  },
218
298
  "getter": false,
@@ -232,11 +312,11 @@ export class Collapse {
232
312
  "composed": true,
233
313
  "docs": {
234
314
  "tags": [],
235
- "text": "Evento emitido ao expandir"
315
+ "text": "Evento emitido ao expandir."
236
316
  },
237
317
  "complexType": {
238
- "original": "{ id: string }",
239
- "resolved": "{ id: string; }",
318
+ "original": "{ id: string; accordionGroup: string }",
319
+ "resolved": "{ id: string; accordionGroup: string; }",
240
320
  "references": {}
241
321
  }
242
322
  }, {
@@ -247,11 +327,11 @@ export class Collapse {
247
327
  "composed": true,
248
328
  "docs": {
249
329
  "tags": [],
250
- "text": "Evento emitido ao recolher"
330
+ "text": "Evento emitido ao recolher."
251
331
  },
252
332
  "complexType": {
253
- "original": "{ id: string }",
254
- "resolved": "{ id: string; }",
333
+ "original": "{ id: string; accordionGroup: string }",
334
+ "resolved": "{ id: string; accordionGroup: string; }",
255
335
  "references": {}
256
336
  }
257
337
  }];
@@ -271,7 +351,7 @@ export class Collapse {
271
351
  "return": "Promise<void>"
272
352
  },
273
353
  "docs": {
274
- "text": "M\u00E9todo p\u00FAblico para abrir",
354
+ "text": "M\u00E9todo p\u00FAblico para abrir.\nEste m\u00E9todo pode ser chamado externamente para abrir o componente.",
275
355
  "tags": []
276
356
  }
277
357
  },
@@ -288,14 +368,22 @@ export class Collapse {
288
368
  "return": "Promise<void>"
289
369
  },
290
370
  "docs": {
291
- "text": "M\u00E9todo p\u00FAblico para fechar",
371
+ "text": "M\u00E9todo p\u00FAblico para fechar.\nEste m\u00E9todo pode ser chamado externamente para fechar o componente.",
292
372
  "tags": []
293
373
  }
294
374
  }
295
375
  };
296
376
  }
297
377
  static get elementRef() { return "el"; }
378
+ static get listeners() {
379
+ return [{
380
+ "name": "brDidOpen",
381
+ "method": "handleOpen",
382
+ "target": "document",
383
+ "capture": false,
384
+ "passive": false
385
+ }];
386
+ }
298
387
  static get attachInternalsMemberName() { return "elementInternals"; }
299
388
  }
300
- let collapseId = 0;
301
389
  //# sourceMappingURL=collapse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collapse.js","sourceRoot":"","sources":["../../../../../../packages/webcomponents/src/components/collapse/collapse.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Method, Prop } from '@stencil/core'\n// import { CssClassMap } from '../../utils/interfaces'\n\n/**\n * O componente `br-collapse` pode ser utilizado em dois cenários principais: collapse simples ou accordion.\n *\n * - Collapse simples: Cada instância funciona de forma independente, permitindo abrir ou fechar o conteúdo conforme necessário, sem impactar outros componentes na página.\n * - Accordion: Quando configurado com a propriedade `accordionGroup`, múltiplos componentes `br-collapse` são agrupados. Nesse caso, apenas um item pode estar expandido por vez. Ao abrir um novo item, o anteriormente expandido será automaticamente fechado.\n *\n * @slot default - O conteúdo expansível mostrado/ocultado dinamicamente.\n * @slot trigger - Permite personalizar o conteúdo do acionador (texto, imagens, etc.).\n */\n@Component({\n tag: 'br-collapse',\n styleUrl: 'collapse.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Collapse {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrCollapseElement\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 = `br-collapse-${collapseId++}`\n\n /** Define se o item está inicialmente aberto */\n @Prop({ reflect: true, mutable: true }) open: boolean = false\n\n /** Define se o collapse faz parte de um accordion */\n @Prop() accordionGroup?: string\n\n /** Classe CSS para o ícone de expansão */\n @Prop() iconToShow: string = 'fa6-solid:chevron-down'\n\n /** Classe CSS para o ícone de recolhimento */\n @Prop() iconToHide: string = 'fa6-solid:chevron-up'\n\n /** Define a posição do ícone: 'left' ou 'right' */\n @Prop() iconPosition: 'left' | 'right' = 'right'\n\n /** Evento emitido ao expandir */\n @Event() brDidOpen: EventEmitter<{ id: string }>\n\n /** Evento emitido ao recolher */\n @Event() brDidClose: EventEmitter<{ id: string }>\n\n componentWillLoad() {\n this.syncDetailsWithOpen()\n }\n\n private syncDetailsWithOpen() {\n const details = this.el.shadowRoot?.querySelector('details')\n if (details !== null) {\n details.open = this.open\n }\n }\n\n private handleCollapse = (event: Event) => {\n const details = event.target as HTMLDetailsElement\n const isOpen = details.open\n\n if (this.accordionGroup && isOpen) {\n const allItems = document.querySelectorAll(`br-collapse[accordion-group=\"${this.accordionGroup}\"]`)\n allItems.forEach((item) => {\n if (item !== this.el) {\n ;(item as HTMLBrCollapseElement).closeCollapse()\n }\n })\n }\n this.open = isOpen\n if (this.open) {\n this.brDidOpen.emit({ id: this.customId })\n } else {\n this.brDidClose.emit({ id: this.customId })\n }\n }\n\n /** Método público para abrir */\n @Method()\n async openCollapse() {\n this.open = true\n this.syncDetailsWithOpen()\n this.brDidOpen.emit({ id: this.customId })\n }\n\n /** Método público para fechar */\n @Method()\n async closeCollapse() {\n this.open = false\n this.syncDetailsWithOpen()\n this.brDidClose.emit({ id: this.customId })\n }\n\n private renderIcon() {\n return <br-icon icon-name={this.open ? this.iconToHide : this.iconToShow}></br-icon>\n }\n\n render() {\n const itemCount = this.el.querySelectorAll('br-item').length\n\n return (\n <Host>\n <details class=\"br-collapse\" open={this.open} onToggle={this.handleCollapse} id={this.customId}>\n <summary\n class=\"trigger\"\n role=\"button\"\n aria-expanded={String(this.open)}\n aria-controls={`content-${this.customId}`}\n aria-labelledby={`label-${this.customId}`}\n tabindex=\"0\"\n aria-live=\"polite\"\n >\n {this.iconPosition === 'left' && this.renderIcon()}\n <div class=\"trigger-content\" id={`label-${this.customId}`}>\n <slot name=\"trigger\"></slot>\n </div>\n {this.iconPosition === 'right' && this.renderIcon()}\n </summary>\n\n <div\n class=\"content\"\n id={`content-${this.customId}`}\n aria-live=\"polite\"\n aria-labelledby={`label-${this.customId}`}\n >\n {this.open && itemCount > 0 && (\n <div class=\"visually-hidden\">\n {itemCount} {itemCount === 1 ? 'item' : 'itens'} na lista\n </div>\n )}\n <slot></slot>\n </div>\n </details>\n </Host>\n )\n }\n}\n\nlet collapseId = 0\n"]}
1
+ {"version":3,"file":"collapse.js","sourceRoot":"","sources":["../../../../../../packages/webcomponents/src/components/collapse/collapse.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEvH,OAAO,OAAO,MAAM,qBAAqB,CAAA;AAEzC;;;;;;;;GAQG;AAOH,MAAM,OAAO,QAAQ;IACnB;;;OAGG;IACQ,EAAE,CAAuB;IAEjB,gBAAgB,CAAkB;IAErD;;;OAGG;IAC+B,QAAQ,GAAW,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;IAEpF;;;OAGG;IACqC,IAAI,GAAY,KAAK,CAAA;IAE7D;;;OAGG;IACK,cAAc,GAAY,IAAI,CAAA;IAEtC;;;OAGG;IACK,UAAU,GAAW,wBAAwB,CAAA;IAErD;;;OAGG;IACK,UAAU,GAAW,sBAAsB,CAAA;IAEnD;;;OAGG;IACK,YAAY,GAAqB,OAAO,CAAA;IAEhD;;OAEG;IACM,SAAS,CAAsD;IAExE;;OAEG;IACM,UAAU,CAAsD;IAEzE;;;OAGG;IAEH;;;;OAIG;IACH,UAAU,CAAC,KAAkB;QAC3B,IACE,IAAI,CAAC,cAAc;YACnB,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,MAAM,CAAC,cAAc;YACnD,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,EACjC,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,CAAA;QACtB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,IAAI,CAAC,mBAAmB,EAAE,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;QAC5D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,mBAAmB;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;QAC5D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QAC1B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,cAAc,GAAG,CAAC,KAAY,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,KAAK,CAAC,MAA4B,CAAA;QAClD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAA;QAE3B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;QAClB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;QACjF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;QAClF,CAAC;IACH,CAAC,CAAA;IAED;;;OAGG;IAEH,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;IACjF,CAAC;IAED;;;OAGG;IAEH,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;QACjB,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;IAClF,CAAC;IAED;;;;;OAKG;IACK,UAAU;QAChB,OAAO,4BAAoB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAY,CAAA;IACtF,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAA;QAE5D,OAAO,CACL,EAAC,IAAI;YACH,gEAAS,KAAK,EAAC,aAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ;gBAC5F,gEACE,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,QAAQ,mBACE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBACjB,WAAW,IAAI,CAAC,QAAQ,EAAE,qBACxB,SAAS,IAAI,CAAC,QAAQ,EAAE,EACzC,QAAQ,EAAC,GAAG,eACF,QAAQ;oBAEjB,IAAI,CAAC,YAAY,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE;oBAClD,4DAAK,KAAK,EAAC,iBAAiB,EAAC,EAAE,EAAE,SAAS,IAAI,CAAC,QAAQ,EAAE;wBACvD,6DAAM,IAAI,EAAC,SAAS,GAAQ,CACxB;oBACL,IAAI,CAAC,YAAY,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,CAC3C;gBAEV,4DACE,KAAK,EAAC,SAAS,EACf,EAAE,EAAE,WAAW,IAAI,CAAC,QAAQ,EAAE,eACpB,QAAQ,qBACD,SAAS,IAAI,CAAC,QAAQ,EAAE;oBAExC,IAAI,CAAC,IAAI,IAAI,SAAS,GAAG,CAAC,IAAI,CAC7B,4DAAK,KAAK,EAAC,iBAAiB;wBACzB,SAAS;;wBAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oCAC3C,CACP;oBACD,8DAAa,CACT,CACE,CACL,CACR,CAAA;IACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop } from '@stencil/core'\n\nimport Helpers from '../../utils/helpers'\n\n/**\n * O componente `br-collapse` pode ser utilizado em dois cenários principais: collapse simples ou accordion.\n *\n * - Collapse simples: Cada instância funciona de forma independente, permitindo abrir ou fechar o conteúdo conforme necessário, sem impactar outros componentes na página.\n * - Accordion: Quando configurado com a propriedade `accordionGroup`, múltiplos componentes `br-collapse` são agrupados. Nesse caso, apenas um item pode estar expandido por vez. Ao abrir um novo item, o anteriormente expandido será automaticamente fechado.\n *\n * @slot default - O conteúdo expansível mostrado/ocultado dinamicamente.\n * @slot trigger - Permite personalizar o conteúdo do acionador (texto, imagens, etc.).\n */\n@Component({\n tag: 'br-collapse',\n styleUrl: 'collapse.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Collapse {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrCollapseElement\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('clp')\n\n /**\n * Define se o collapse está aberto ou fechado.\n * @default false\n */\n @Prop({ reflect: true, mutable: true }) open: boolean = false\n\n /**\n * Define se o collapse faz parte de um accordion\n * @default null\n */\n @Prop() accordionGroup?: string = null\n\n /**\n * Classe CSS para o ícone de expansão\n * @default 'fa6-solid:chevron-down'\n */\n @Prop() iconToShow: string = 'fa6-solid:chevron-down'\n\n /**\n * Classe CSS para o ícone de recolhimento\n * @default 'fa6-solid:chevron-up'\n */\n @Prop() iconToHide: string = 'fa6-solid:chevron-up'\n\n /**\n * Define a posição do ícone: 'left' ou 'right'\n * @default 'right'\n */\n @Prop() iconPosition: 'left' | 'right' = 'right'\n\n /**\n * Evento emitido ao expandir.\n */\n @Event() brDidOpen: EventEmitter<{ id: string; accordionGroup: string }>\n\n /**\n * Evento emitido ao recolher.\n */\n @Event() brDidClose: EventEmitter<{ id: string; accordionGroup: string }>\n\n /**\n * Evento disparado quando o componente é aberto.\n * @param event Evento disparado quando o componente é aberto.\n */\n @Listen('brDidOpen', { target: 'document' })\n /**\n * Handler para o evento de abertura do componente.\n * Fecha o collapse atual se ele não for parte do mesmo grupo de accordion.\n * @param event Evento disparado quando o componente é aberto.\n */\n handleOpen(event: CustomEvent) {\n if (\n this.accordionGroup &&\n this.accordionGroup === event.detail.accordionGroup &&\n event.detail.id !== this.customId\n ) {\n this.closeCollapse()\n }\n }\n\n /**\n * Ciclo de vida do componente. Chamado uma vez logo após o componente ser adicionado ao DOM.\n */\n componentWillLoad() {\n this.syncDetailsWithOpen()\n }\n\n /**\n * Ciclo de vida do componente. Chamado quando o componente é removido do DOM.\n */\n disconnectedCallback() {\n const details = this.el.shadowRoot?.querySelector('details')\n if (details !== null) {\n details.removeEventListener('toggle', this.handleCollapse)\n }\n }\n\n /**\n * Sincroniza o estado do elemento <details> com a propriedade open.\n * Isso garante que o estado visual do componente corresponda ao estado interno.\n */\n private syncDetailsWithOpen() {\n const details = this.el.shadowRoot?.querySelector('details')\n if (details !== null) {\n details.open = this.open\n }\n }\n\n /**\n * Método chamado quando o elemento <details> é aberto ou fechado.\n * Atualiza o estado interno do componente e emite eventos apropriados.\n * @param event O evento de toggle do elemento <details>.\n */\n private handleCollapse = (event: Event) => {\n const details = event.target as HTMLDetailsElement\n const isOpen = details.open\n\n this.open = isOpen\n if (this.open) {\n this.brDidOpen.emit({ id: this.customId, accordionGroup: this.accordionGroup })\n } else {\n this.brDidClose.emit({ id: this.customId, accordionGroup: this.accordionGroup })\n }\n }\n\n /**\n * Método público para abrir.\n * Este método pode ser chamado externamente para abrir o componente.\n */\n @Method()\n async openCollapse() {\n this.open = true\n this.syncDetailsWithOpen()\n this.brDidOpen.emit({ id: this.customId, accordionGroup: this.accordionGroup })\n }\n\n /**\n * Método público para fechar.\n * Este método pode ser chamado externamente para fechar o componente.\n */\n @Method()\n async closeCollapse() {\n this.open = false\n this.syncDetailsWithOpen()\n this.brDidClose.emit({ id: this.customId, accordionGroup: this.accordionGroup })\n }\n\n /**\n * Renderiza o ícone de acordo com o estado do collapse.\n * Se o collapse estiver aberto, renderiza o ícone para ocultar.\n * Caso contrário, renderiza o ícone para mostrar.\n * @returns JSX do ícone\n */\n private renderIcon() {\n return <br-icon icon-name={this.open ? this.iconToHide : this.iconToShow}></br-icon>\n }\n\n /**\n * Renderiza o componente.\n * O componente é renderizado como um elemento <details> com um <summary> que contém o acionador.\n * @returns JSX do componente.\n */\n render() {\n const itemCount = this.el.querySelectorAll('br-item').length\n\n return (\n <Host>\n <details class=\"br-collapse\" open={this.open} onToggle={this.handleCollapse} id={this.customId}>\n <summary\n class=\"trigger\"\n role=\"button\"\n aria-expanded={String(this.open)}\n aria-controls={`content-${this.customId}`}\n aria-labelledby={`label-${this.customId}`}\n tabindex=\"0\"\n aria-live=\"polite\"\n >\n {this.iconPosition === 'left' && this.renderIcon()}\n <div class=\"trigger-content\" id={`label-${this.customId}`}>\n <slot name=\"trigger\"></slot>\n </div>\n {this.iconPosition === 'right' && this.renderIcon()}\n </summary>\n\n <div\n class=\"content\"\n id={`content-${this.customId}`}\n aria-live=\"polite\"\n aria-labelledby={`label-${this.customId}`}\n >\n {this.open && itemCount > 0 && (\n <div class=\"visually-hidden\">\n {itemCount} {itemCount === 1 ? 'item' : 'itens'} na lista\n </div>\n )}\n <slot></slot>\n </div>\n </details>\n </Host>\n )\n }\n}\n"]}