@govbr-ds/webcomponents 2.0.0-next.21 → 2.0.0-next.22

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 (355) hide show
  1. package/dist/cjs/br-avatar.cjs.entry.js +2 -2
  2. package/dist/cjs/br-avatar.cjs.entry.js.map +1 -1
  3. package/dist/cjs/br-button_2.cjs.entry.js +175 -56
  4. package/dist/cjs/br-button_2.cjs.entry.js.map +1 -1
  5. package/dist/cjs/br-checkbox.cjs.entry.js +76 -0
  6. package/dist/cjs/br-checkbox.cjs.entry.js.map +1 -0
  7. package/dist/cjs/br-checkgroup.cjs.entry.js +101 -0
  8. package/dist/cjs/br-checkgroup.cjs.entry.js.map +1 -0
  9. package/dist/cjs/br-dropdown.cjs.entry.js +3 -3
  10. package/dist/cjs/br-dropdown.cjs.entry.js.map +1 -1
  11. package/dist/cjs/br-input_3.cjs.entry.js +284 -0
  12. package/dist/cjs/br-input_3.cjs.entry.js.map +1 -0
  13. package/dist/cjs/br-item.cjs.entry.js +40 -20
  14. package/dist/cjs/br-item.cjs.entry.js.map +1 -1
  15. package/dist/cjs/br-loading.cjs.entry.js +3 -3
  16. package/dist/cjs/br-loading.cjs.entry.js.map +1 -1
  17. package/dist/cjs/br-message.cjs.entry.js +3 -3
  18. package/dist/cjs/br-message.cjs.entry.js.map +1 -1
  19. package/dist/cjs/br-select.cjs.entry.js +4 -4
  20. package/dist/cjs/br-select.cjs.entry.js.map +1 -1
  21. package/dist/cjs/br-switch.cjs.entry.js +9 -6
  22. package/dist/cjs/br-switch.cjs.entry.js.map +1 -1
  23. package/dist/cjs/br-tag.cjs.entry.js +3 -3
  24. package/dist/cjs/br-tag.cjs.entry.js.map +1 -1
  25. package/dist/cjs/br-textarea.cjs.entry.js +3 -3
  26. package/dist/cjs/br-textarea.cjs.entry.js.map +1 -1
  27. package/dist/cjs/br-upload.cjs.entry.js +3 -3
  28. package/dist/cjs/br-upload.cjs.entry.js.map +1 -1
  29. package/dist/cjs/{index-86e7422e.js → index-4fc1aab1.js} +856 -621
  30. package/dist/cjs/index-4fc1aab1.js.map +1 -0
  31. package/dist/cjs/loader.cjs.js +2 -2
  32. package/dist/cjs/webcomponents.cjs.js +3 -3
  33. package/dist/cjs/webcomponents.cjs.js.map +1 -1
  34. package/dist/collection/collection-manifest.json +2 -1
  35. package/dist/collection/components/avatar/avatar.css +8 -0
  36. package/dist/collection/components/avatar/avatar.js +16 -0
  37. package/dist/collection/components/avatar/avatar.js.map +1 -1
  38. package/dist/collection/components/button/button.css +8 -0
  39. package/dist/collection/components/button/button.js +18 -0
  40. package/dist/collection/components/button/button.js.map +1 -1
  41. package/dist/collection/components/checkbox/checkbox.css +8 -0
  42. package/dist/collection/components/checkbox/checkbox.js +18 -0
  43. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  44. package/dist/collection/components/checkgroup/checkgroup.css +605 -0
  45. package/dist/collection/components/checkgroup/checkgroup.js +197 -0
  46. package/dist/collection/components/checkgroup/checkgroup.js.map +1 -0
  47. package/dist/collection/components/dropdown/dropdown.css +8 -0
  48. package/dist/collection/components/dropdown/dropdown.js +3 -1
  49. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  50. package/dist/collection/components/icon/icon.css +8 -0
  51. package/dist/collection/components/icon/icon.js +15 -1
  52. package/dist/collection/components/icon/icon.js.map +1 -1
  53. package/dist/collection/components/input/input.css +8 -0
  54. package/dist/collection/components/input/input.js +47 -1
  55. package/dist/collection/components/input/input.js.map +1 -1
  56. package/dist/collection/components/item/item.css +8 -0
  57. package/dist/collection/components/item/item.js +65 -19
  58. package/dist/collection/components/item/item.js.map +1 -1
  59. package/dist/collection/components/list/list.css +8 -0
  60. package/dist/collection/components/list/list.js +7 -1
  61. package/dist/collection/components/list/list.js.map +1 -1
  62. package/dist/collection/components/loading/loading.css +8 -0
  63. package/dist/collection/components/loading/loading.js +9 -1
  64. package/dist/collection/components/loading/loading.js.map +1 -1
  65. package/dist/collection/components/message/message.css +8 -0
  66. package/dist/collection/components/message/message.js +15 -1
  67. package/dist/collection/components/message/message.js.map +1 -1
  68. package/dist/collection/components/radio/radio.css +8 -0
  69. package/dist/collection/components/radio/radio.js +17 -1
  70. package/dist/collection/components/radio/radio.js.map +1 -1
  71. package/dist/collection/components/select/select.css +8 -0
  72. package/dist/collection/components/select/select.js +20 -2
  73. package/dist/collection/components/select/select.js.map +1 -1
  74. package/dist/collection/components/switch/switch.css +8 -0
  75. package/dist/collection/components/switch/switch.js +30 -5
  76. package/dist/collection/components/switch/switch.js.map +1 -1
  77. package/dist/collection/components/tag/tag.css +8 -0
  78. package/dist/collection/components/tag/tag.js +17 -1
  79. package/dist/collection/components/tag/tag.js.map +1 -1
  80. package/dist/collection/components/textarea/textarea.css +8 -0
  81. package/dist/collection/components/textarea/textarea.js +19 -1
  82. package/dist/collection/components/textarea/textarea.js.map +1 -1
  83. package/dist/collection/components/upload/upload.css +8 -0
  84. package/dist/collection/components/upload/upload.js +13 -3
  85. package/dist/collection/components/upload/upload.js.map +1 -1
  86. package/dist/collection/index.js.map +1 -1
  87. package/dist/collection/pages/components/checkgroup/index.js +20 -0
  88. package/dist/collection/pages/components/item/index.js +1 -1
  89. package/dist/collection/pages/components/switch/index.js +1 -1
  90. package/dist/collection/pages/scripts/menu.js +17 -2
  91. package/dist/collection/utils/inherited-attributes.js.map +1 -1
  92. package/dist/collection/utils/interfaces.js.map +1 -1
  93. package/dist/collection/utils/unique-id-generator.js.map +1 -1
  94. package/dist/components/br-avatar.js +1 -1
  95. package/dist/components/br-avatar.js.map +1 -1
  96. package/dist/components/br-button.js +1 -1
  97. package/dist/components/br-checkbox.js +1 -1
  98. package/dist/components/br-checkgroup.d.ts +11 -0
  99. package/dist/components/br-checkgroup.js +6 -0
  100. package/dist/components/br-checkgroup.js.map +1 -0
  101. package/dist/components/br-dropdown.js +1 -1
  102. package/dist/components/br-dropdown.js.map +1 -1
  103. package/dist/components/br-icon.js +1 -1
  104. package/dist/components/br-input.js +1 -1
  105. package/dist/components/br-item.js +1 -1
  106. package/dist/components/br-item.js.map +1 -1
  107. package/dist/components/br-list.js +1 -1
  108. package/dist/components/br-loading.js +1 -1
  109. package/dist/components/br-loading.js.map +1 -1
  110. package/dist/components/br-message.js +1 -1
  111. package/dist/components/br-message.js.map +1 -1
  112. package/dist/components/br-radio.js +1 -1
  113. package/dist/components/br-select.js +1 -1
  114. package/dist/components/br-select.js.map +1 -1
  115. package/dist/components/br-switch.js +1 -1
  116. package/dist/components/br-switch.js.map +1 -1
  117. package/dist/components/br-tag.js +1 -1
  118. package/dist/components/br-tag.js.map +1 -1
  119. package/dist/components/br-textarea.js +1 -1
  120. package/dist/components/br-textarea.js.map +1 -1
  121. package/dist/components/br-upload.js +1 -1
  122. package/dist/components/br-upload.js.map +1 -1
  123. package/dist/components/index.js +1 -1
  124. package/dist/components/p-126ad66d.js +17 -0
  125. package/dist/components/p-126ad66d.js.map +1 -0
  126. package/dist/components/p-184a3074.js +6 -0
  127. package/dist/components/p-184a3074.js.map +1 -0
  128. package/dist/components/p-5cb170a7.js +6 -0
  129. package/dist/components/p-5cb170a7.js.map +1 -0
  130. package/dist/components/p-65616dbd.js +7 -0
  131. package/dist/components/p-65616dbd.js.map +1 -0
  132. package/dist/components/p-65c54cc8.js +6 -0
  133. package/dist/components/p-65c54cc8.js.map +1 -0
  134. package/dist/components/p-a6dcabb0.js +6 -0
  135. package/dist/components/{p-62776355.js.map → p-a6dcabb0.js.map} +1 -1
  136. package/dist/components/p-ace62688.js +6 -0
  137. package/dist/components/p-ace62688.js.map +1 -0
  138. package/dist/esm/br-avatar.entry.js +2 -2
  139. package/dist/esm/br-avatar.entry.js.map +1 -1
  140. package/dist/esm/br-button_2.entry.js +175 -56
  141. package/dist/esm/br-button_2.entry.js.map +1 -1
  142. package/dist/esm/br-checkbox.entry.js +72 -0
  143. package/dist/esm/br-checkbox.entry.js.map +1 -0
  144. package/dist/esm/br-checkgroup.entry.js +97 -0
  145. package/dist/esm/br-checkgroup.entry.js.map +1 -0
  146. package/dist/esm/br-dropdown.entry.js +3 -3
  147. package/dist/esm/br-dropdown.entry.js.map +1 -1
  148. package/dist/esm/br-input_3.entry.js +278 -0
  149. package/dist/esm/br-input_3.entry.js.map +1 -0
  150. package/dist/esm/br-item.entry.js +40 -20
  151. package/dist/esm/br-item.entry.js.map +1 -1
  152. package/dist/esm/br-loading.entry.js +3 -3
  153. package/dist/esm/br-loading.entry.js.map +1 -1
  154. package/dist/esm/br-message.entry.js +3 -3
  155. package/dist/esm/br-message.entry.js.map +1 -1
  156. package/dist/esm/br-select.entry.js +4 -4
  157. package/dist/esm/br-select.entry.js.map +1 -1
  158. package/dist/esm/br-switch.entry.js +9 -6
  159. package/dist/esm/br-switch.entry.js.map +1 -1
  160. package/dist/esm/br-tag.entry.js +3 -3
  161. package/dist/esm/br-tag.entry.js.map +1 -1
  162. package/dist/esm/br-textarea.entry.js +3 -3
  163. package/dist/esm/br-textarea.entry.js.map +1 -1
  164. package/dist/esm/br-upload.entry.js +3 -3
  165. package/dist/esm/br-upload.entry.js.map +1 -1
  166. package/dist/esm/{index-14721f44.js → index-45af9b53.js} +856 -621
  167. package/dist/esm/index-45af9b53.js.map +1 -0
  168. package/dist/esm/loader.js +3 -3
  169. package/dist/esm/webcomponents.js +4 -4
  170. package/dist/esm/webcomponents.js.map +1 -1
  171. package/dist/esm-es5/br-avatar.entry.js +1 -1
  172. package/dist/esm-es5/br-avatar.entry.js.map +1 -1
  173. package/dist/esm-es5/br-button_2.entry.js +4 -4
  174. package/dist/esm-es5/br-button_2.entry.js.map +1 -1
  175. package/dist/esm-es5/br-checkbox.entry.js +6 -0
  176. package/dist/esm-es5/br-checkbox.entry.js.map +1 -0
  177. package/dist/esm-es5/br-checkgroup.entry.js +6 -0
  178. package/dist/esm-es5/br-checkgroup.entry.js.map +1 -0
  179. package/dist/esm-es5/br-dropdown.entry.js +2 -2
  180. package/dist/esm-es5/br-dropdown.entry.js.map +1 -1
  181. package/dist/esm-es5/br-input_3.entry.js +6 -0
  182. package/dist/esm-es5/br-input_3.entry.js.map +1 -0
  183. package/dist/esm-es5/br-item.entry.js +1 -1
  184. package/dist/esm-es5/br-item.entry.js.map +1 -1
  185. package/dist/esm-es5/br-loading.entry.js +1 -1
  186. package/dist/esm-es5/br-loading.entry.js.map +1 -1
  187. package/dist/esm-es5/br-message.entry.js +1 -1
  188. package/dist/esm-es5/br-message.entry.js.map +1 -1
  189. package/dist/esm-es5/br-select.entry.js +1 -1
  190. package/dist/esm-es5/br-select.entry.js.map +1 -1
  191. package/dist/esm-es5/br-switch.entry.js +1 -1
  192. package/dist/esm-es5/br-switch.entry.js.map +1 -1
  193. package/dist/esm-es5/br-tag.entry.js +1 -1
  194. package/dist/esm-es5/br-tag.entry.js.map +1 -1
  195. package/dist/esm-es5/br-textarea.entry.js +2 -2
  196. package/dist/esm-es5/br-textarea.entry.js.map +1 -1
  197. package/dist/esm-es5/br-upload.entry.js +1 -1
  198. package/dist/esm-es5/br-upload.entry.js.map +1 -1
  199. package/dist/esm-es5/index-45af9b53.js +6 -0
  200. package/dist/esm-es5/index-45af9b53.js.map +1 -0
  201. package/dist/esm-es5/loader.js +2 -2
  202. package/dist/esm-es5/loader.js.map +1 -1
  203. package/dist/esm-es5/webcomponents.js +2 -2
  204. package/dist/esm-es5/webcomponents.js.map +1 -1
  205. package/dist/types/components/checkgroup/checkgroup.d.ts +52 -0
  206. package/dist/types/components/item/item.d.ts +5 -3
  207. package/dist/types/components/switch/switch.d.ts +2 -1
  208. package/dist/types/components/upload/upload.d.ts +2 -2
  209. package/dist/types/components.d.ts +63 -6
  210. package/dist/webcomponents/p-04a3d24e.system.entry.js +6 -0
  211. package/dist/webcomponents/{p-64f4ecea.system.entry.js.map → p-04a3d24e.system.entry.js.map} +1 -1
  212. package/dist/webcomponents/p-057dcb7c.system.entry.js +6 -0
  213. package/dist/webcomponents/p-057dcb7c.system.entry.js.map +1 -0
  214. package/dist/webcomponents/p-19b77f11.entry.js +6 -0
  215. package/dist/webcomponents/{p-b6af61ad.entry.js.map → p-19b77f11.entry.js.map} +1 -1
  216. package/dist/webcomponents/p-1acbc680.entry.js +6 -0
  217. package/dist/webcomponents/p-1acbc680.entry.js.map +1 -0
  218. package/dist/webcomponents/p-25d82c85.system.entry.js +6 -0
  219. package/dist/webcomponents/p-25d82c85.system.entry.js.map +1 -0
  220. package/dist/webcomponents/p-27b820ac.system.entry.js +6 -0
  221. package/dist/webcomponents/p-27b820ac.system.entry.js.map +1 -0
  222. package/dist/webcomponents/p-2b0430f4.entry.js +6 -0
  223. package/dist/webcomponents/p-2b0430f4.entry.js.map +1 -0
  224. package/dist/webcomponents/p-2ff5f694.system.entry.js +6 -0
  225. package/dist/webcomponents/p-2ff5f694.system.entry.js.map +1 -0
  226. package/dist/webcomponents/p-357e1105.system.entry.js +6 -0
  227. package/dist/webcomponents/p-357e1105.system.entry.js.map +1 -0
  228. package/dist/webcomponents/p-35f07e4b.entry.js +6 -0
  229. package/dist/webcomponents/p-35f07e4b.entry.js.map +1 -0
  230. package/dist/webcomponents/p-3e449bd5.system.entry.js +6 -0
  231. package/dist/webcomponents/p-3e449bd5.system.entry.js.map +1 -0
  232. package/dist/webcomponents/p-46a75920.system.js +6 -0
  233. package/dist/webcomponents/p-46a75920.system.js.map +1 -0
  234. package/dist/webcomponents/p-491cdd00.entry.js +6 -0
  235. package/dist/webcomponents/p-491cdd00.entry.js.map +1 -0
  236. package/dist/webcomponents/p-52e5bcdd.entry.js +6 -0
  237. package/dist/webcomponents/p-52e5bcdd.entry.js.map +1 -0
  238. package/dist/webcomponents/p-60879543.system.entry.js +6 -0
  239. package/dist/webcomponents/{p-36e48582.system.entry.js.map → p-60879543.system.entry.js.map} +1 -1
  240. package/dist/webcomponents/p-6bfb8eb6.entry.js +6 -0
  241. package/dist/webcomponents/{p-aaa17439.entry.js.map → p-6bfb8eb6.entry.js.map} +1 -1
  242. package/dist/webcomponents/p-6d0d2846.system.js +7 -0
  243. package/dist/webcomponents/p-6d0d2846.system.js.map +1 -0
  244. package/dist/webcomponents/p-7c3554a7.system.entry.js +17 -0
  245. package/dist/webcomponents/p-7c3554a7.system.entry.js.map +1 -0
  246. package/dist/webcomponents/p-8fd11f97.system.entry.js +6 -0
  247. package/dist/webcomponents/p-8fd11f97.system.entry.js.map +1 -0
  248. package/dist/webcomponents/p-907fab5d.entry.js +6 -0
  249. package/dist/webcomponents/p-907fab5d.entry.js.map +1 -0
  250. package/dist/webcomponents/p-929db2b8.entry.js +17 -0
  251. package/dist/webcomponents/p-929db2b8.entry.js.map +1 -0
  252. package/dist/webcomponents/p-98e6f0c1.system.entry.js +6 -0
  253. package/dist/webcomponents/p-98e6f0c1.system.entry.js.map +1 -0
  254. package/dist/webcomponents/p-9b0f20d7.entry.js +6 -0
  255. package/dist/webcomponents/p-9b0f20d7.entry.js.map +1 -0
  256. package/dist/webcomponents/p-ad5a7b8b.system.entry.js +6 -0
  257. package/dist/webcomponents/p-ad5a7b8b.system.entry.js.map +1 -0
  258. package/dist/webcomponents/p-c3811f09.js +7 -0
  259. package/dist/webcomponents/p-c3811f09.js.map +1 -0
  260. package/dist/webcomponents/p-c6a9c8ac.entry.js +6 -0
  261. package/dist/webcomponents/p-c6a9c8ac.entry.js.map +1 -0
  262. package/dist/webcomponents/p-d46495d5.system.entry.js +6 -0
  263. package/dist/webcomponents/p-d46495d5.system.entry.js.map +1 -0
  264. package/dist/webcomponents/p-dc3d284a.entry.js +6 -0
  265. package/dist/webcomponents/p-dc3d284a.entry.js.map +1 -0
  266. package/dist/webcomponents/p-e98418a4.entry.js +6 -0
  267. package/dist/webcomponents/p-e98418a4.entry.js.map +1 -0
  268. package/dist/webcomponents/p-ef89bcc9.system.entry.js +6 -0
  269. package/dist/webcomponents/p-ef89bcc9.system.entry.js.map +1 -0
  270. package/dist/webcomponents/p-fc11eac9.entry.js +6 -0
  271. package/dist/webcomponents/p-fc11eac9.entry.js.map +1 -0
  272. package/dist/webcomponents/webcomponents.esm.js +1 -1
  273. package/dist/webcomponents/webcomponents.esm.js.map +1 -1
  274. package/dist/webcomponents/webcomponents.js +1 -1
  275. package/hydrate/index.js +1081 -586
  276. package/hydrate/index.mjs +1081 -586
  277. package/package.json +2 -2
  278. package/vscode-data.json +27 -2
  279. package/dist/cjs/br-checkbox_4.cjs.entry.js +0 -346
  280. package/dist/cjs/br-checkbox_4.cjs.entry.js.map +0 -1
  281. package/dist/cjs/index-86e7422e.js.map +0 -1
  282. package/dist/collection/scripts/menu.js +0 -151
  283. package/dist/components/p-22068d3c.js +0 -6
  284. package/dist/components/p-22068d3c.js.map +0 -1
  285. package/dist/components/p-62776355.js +0 -6
  286. package/dist/components/p-67617725.js +0 -6
  287. package/dist/components/p-67617725.js.map +0 -1
  288. package/dist/components/p-7882cb21.js +0 -6
  289. package/dist/components/p-7882cb21.js.map +0 -1
  290. package/dist/components/p-7aca304a.js +0 -6
  291. package/dist/components/p-7aca304a.js.map +0 -1
  292. package/dist/components/p-b4b55ab7.js +0 -17
  293. package/dist/components/p-b4b55ab7.js.map +0 -1
  294. package/dist/components/p-fabd9bdd.js +0 -7
  295. package/dist/components/p-fabd9bdd.js.map +0 -1
  296. package/dist/esm/br-checkbox_4.entry.js +0 -339
  297. package/dist/esm/br-checkbox_4.entry.js.map +0 -1
  298. package/dist/esm/index-14721f44.js.map +0 -1
  299. package/dist/esm-es5/br-checkbox_4.entry.js +0 -6
  300. package/dist/esm-es5/br-checkbox_4.entry.js.map +0 -1
  301. package/dist/esm-es5/index-14721f44.js +0 -6
  302. package/dist/esm-es5/index-14721f44.js.map +0 -1
  303. package/dist/playwright.config.js +0 -39
  304. package/dist/playwright.config.js.map +0 -1
  305. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/packages/webcomponents/.stencil/playwright.config.d.ts +0 -5
  306. package/dist/webcomponents/p-11e8c72f.entry.js +0 -6
  307. package/dist/webcomponents/p-11e8c72f.entry.js.map +0 -1
  308. package/dist/webcomponents/p-1accc2ab.system.entry.js +0 -6
  309. package/dist/webcomponents/p-1accc2ab.system.entry.js.map +0 -1
  310. package/dist/webcomponents/p-36e48582.system.entry.js +0 -6
  311. package/dist/webcomponents/p-37440256.entry.js +0 -6
  312. package/dist/webcomponents/p-37440256.entry.js.map +0 -1
  313. package/dist/webcomponents/p-44554246.system.entry.js +0 -6
  314. package/dist/webcomponents/p-44554246.system.entry.js.map +0 -1
  315. package/dist/webcomponents/p-55f80a96.system.entry.js +0 -6
  316. package/dist/webcomponents/p-55f80a96.system.entry.js.map +0 -1
  317. package/dist/webcomponents/p-563bea26.entry.js +0 -6
  318. package/dist/webcomponents/p-563bea26.entry.js.map +0 -1
  319. package/dist/webcomponents/p-58d37ac2.entry.js +0 -6
  320. package/dist/webcomponents/p-58d37ac2.entry.js.map +0 -1
  321. package/dist/webcomponents/p-64f4ecea.system.entry.js +0 -6
  322. package/dist/webcomponents/p-703a633a.system.js +0 -6
  323. package/dist/webcomponents/p-703a633a.system.js.map +0 -1
  324. package/dist/webcomponents/p-76326737.system.entry.js +0 -6
  325. package/dist/webcomponents/p-76326737.system.entry.js.map +0 -1
  326. package/dist/webcomponents/p-797376a2.system.entry.js +0 -17
  327. package/dist/webcomponents/p-797376a2.system.entry.js.map +0 -1
  328. package/dist/webcomponents/p-7f8c5016.entry.js +0 -6
  329. package/dist/webcomponents/p-7f8c5016.entry.js.map +0 -1
  330. package/dist/webcomponents/p-a44ad074.entry.js +0 -6
  331. package/dist/webcomponents/p-a44ad074.entry.js.map +0 -1
  332. package/dist/webcomponents/p-aaa17439.entry.js +0 -6
  333. package/dist/webcomponents/p-aaca726d.system.js +0 -7
  334. package/dist/webcomponents/p-aaca726d.system.js.map +0 -1
  335. package/dist/webcomponents/p-aec894fa.system.entry.js +0 -6
  336. package/dist/webcomponents/p-aec894fa.system.entry.js.map +0 -1
  337. package/dist/webcomponents/p-b16b1de5.entry.js +0 -6
  338. package/dist/webcomponents/p-b16b1de5.entry.js.map +0 -1
  339. package/dist/webcomponents/p-b6af61ad.entry.js +0 -6
  340. package/dist/webcomponents/p-c696c385.entry.js +0 -17
  341. package/dist/webcomponents/p-c696c385.entry.js.map +0 -1
  342. package/dist/webcomponents/p-d1e0a8ff.entry.js +0 -6
  343. package/dist/webcomponents/p-d1e0a8ff.entry.js.map +0 -1
  344. package/dist/webcomponents/p-d31732da.system.entry.js +0 -6
  345. package/dist/webcomponents/p-d31732da.system.entry.js.map +0 -1
  346. package/dist/webcomponents/p-db4b272c.system.entry.js +0 -6
  347. package/dist/webcomponents/p-db4b272c.system.entry.js.map +0 -1
  348. package/dist/webcomponents/p-dbd35139.js +0 -7
  349. package/dist/webcomponents/p-dbd35139.js.map +0 -1
  350. package/dist/webcomponents/p-e76f7113.system.entry.js +0 -6
  351. package/dist/webcomponents/p-e76f7113.system.entry.js.map +0 -1
  352. package/dist/webcomponents/p-f05d11f7.entry.js +0 -6
  353. package/dist/webcomponents/p-f05d11f7.entry.js.map +0 -1
  354. package/dist/webcomponents/p-f5412db6.system.entry.js +0 -6
  355. package/dist/webcomponents/p-f5412db6.system.entry.js.map +0 -1
@@ -0,0 +1,72 @@
1
+ /*!
2
+ * Construído com @govbr-ds/webcomponents
3
+ * Padrão Digital de Governo.
4
+ */
5
+ import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-45af9b53.js';
6
+ import { i as inheritAriaAttributes } from './inherited-attributes-553a7c36.js';
7
+ import { v as v4 } from './v4-c99c1585.js';
8
+
9
+ const checkboxCss = "*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{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}a{background-color:transparent}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}[hidden]{display:none}.d-flex{display:-ms-flexbox !important;display:flex !important}.align-items-center{-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.container{--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:-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{--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))}}@media (min-width: 992px){.container{--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{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base) * -1) !important}.ml-2{margin-left:var(--spacing-scale-base) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.mr-auto{margin-right: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}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);color:var(--interactive);text-decoration:none}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)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}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)}::-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}::-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}:-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}::-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}.text-primary-default{color:var(--color-primary-default) !important}.bg-support-01{--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);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.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)}.br-checkbox{--checkbox-padding:var(--spacing-scale-base);--checkbox-size:24px;display:-ms-flexbox;display:flex;position:relative}.br-checkbox+.br-checkbox{margin-top:var(--spacing-scale-base)}.br-checkbox input{margin:0;opacity:0;position:absolute}.br-checkbox input+label{cursor:pointer;display:inline-block;margin-bottom:0;min-height:var(--checkbox-size);min-width:var(--checkbox-size);padding-left:calc(var(--spacing-scale-base) + var(--checkbox-size));position:relative}.br-checkbox input+label::before{background:var(--background-light);border:1px solid var(--border-color);border-radius:4px;content:\"\";height:var(--checkbox-size);left:0;position:absolute;width:var(--checkbox-size)}.br-checkbox input+label:empty{padding:0}.br-checkbox label{font-weight:var(--font-weight-medium)}.br-checkbox.hidden-label label{padding-left:calc(var(--checkbox-size) + var(--surface-width-md) * 2);text-indent:-10000px;white-space:nowrap;width:0}.br-checkbox input:checked+label::after,.br-checkbox input:indeterminate+label::after{border:solid var(--selected);border-width:0 3px 3px 0;content:\"\";height:var(--icon-size-sm);left:8px;position:absolute;top:4px;-webkit-transform:rotate(45deg);transform:rotate(45deg);width:8px}.br-checkbox input[indeterminate]+label::before,.br-checkbox input:indeterminate+label::before{--interactive-rgb:var(--color-rgb);background:var(--selected);border-color:var(--selected)}.br-checkbox input[indeterminate]:hover:not(:disabled)+label::before,.br-checkbox input:indeterminate:hover:not(:disabled)+label::before{--interactive-rgb:var(--color-dark-rgb)}.br-checkbox input[indeterminate]:checked+label::after,.br-checkbox input[indeterminate]+label::after,.br-checkbox input:indeterminate:checked+label::after,.br-checkbox input:indeterminate+label::after{border-color:var(--background-light);border-width:0 0 3px;top:2px;-webkit-transform:none;transform:none}.br-checkbox.invalid input+label::before,.br-checkbox[invalid] input+label::before{--border-color:var(--danger)}.br-checkbox.invalid input:focus-visible:checked+label::before,.br-checkbox.invalid input:focus-visible+label::before,.br-checkbox[invalid] input:focus-visible:checked+label::before,.br-checkbox[invalid] input:focus-visible+label::before{--border-color:var(--focus-color)}.br-checkbox.invalid input:checked+label::before,.br-checkbox[invalid] input:checked+label::before{--border-color:var(--danger)}.br-checkbox.valid input+label::before,.br-checkbox[valid] input+label::before{--border-color:var(--success)}.br-checkbox.valid input:focus-visible:checked+label::before,.br-checkbox.valid input:focus-visible+label::before,.br-checkbox[valid] input:focus-visible:checked+label::before,.br-checkbox[valid] input:focus-visible+label::before{--border-color:var(--focus-color)}.br-checkbox.valid input:checked+label::before,.br-checkbox[valid] input:checked+label::before{--border-color:var(--success)}.br-checkbox.small input+label,.br-checkbox[small] input+label{line-height:var(--spacing-scale-2xh);min-height:var(--spacing-scale-2xh)}.br-checkbox.small input+label::before,.br-checkbox[small] input+label::before{height:var(--spacing-scale-2xh);width:var(--spacing-scale-2xh)}.br-checkbox.small input:checked+label::after,.br-checkbox[small] input:checked+label::after{border-width:0 2px 2px 0;height:var(--icon-size-sm);left:7px;top:4px;width:6px}.br-checkbox.small input[indeterminate]+label::after,.br-checkbox.small input:indeterminate+label::after,.br-checkbox[small] input[indeterminate]+label::after,.br-checkbox[small] input:indeterminate+label::after{border-color:var(--background-light);border-width:0 0 3px;left:7px;top:1px;-webkit-transform:none;transform:none;width:6px}.br-checkbox input:invalid+label::before{--border-color:var(--danger)}.br-checkbox input:focus-visible:checked+label::before,.br-checkbox input:focus-visible+label::before{border-color:var(--focus) !important;-webkit-box-shadow:0 0 0 var(--surface-width-md) var(--focus);box-shadow:0 0 0 var(--surface-width-md) var(--focus);outline:none}.br-checkbox input:hover:not(:disabled)+label::before{--interactive-rgb:var(--interactive-light-rgb);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)))}.br-checkbox:not(.disabled) input:disabled+label{cursor:not-allowed;opacity:var(--disabled)}.br-checkbox:not(.disabled) input:disabled+label *{pointer-events:none}.br-checkbox.dark-mode,.br-checkbox.dark-mode label{color:var(--color-dark)}:host{display:block}";
10
+ const BrCheckboxStyle0 = checkboxCss;
11
+
12
+ const Checkbox = class {
13
+ constructor(hostRef) {
14
+ registerInstance(this, hostRef);
15
+ this.brDidCheckedChange = createEvent(this, "brDidCheckedChange", 7);
16
+ if (hostRef.$hostElement$["s-ei"]) {
17
+ this.elementInternals = hostRef.$hostElement$["s-ei"];
18
+ }
19
+ else {
20
+ this.elementInternals = hostRef.$hostElement$.attachInternals();
21
+ hostRef.$hostElement$["s-ei"] = this.elementInternals;
22
+ }
23
+ this.inheritedAttributes = {};
24
+ this.handleCheckedChange = (event) => {
25
+ this.checked = event.target.checked;
26
+ this.brDidCheckedChange.emit(this.checked);
27
+ };
28
+ this.indeterminate = false;
29
+ this.checked = false;
30
+ this.customId = `br-input-${v4()}`;
31
+ this.disabled = false;
32
+ this.hasHiddenLabel = false;
33
+ this.label = undefined;
34
+ this.name = undefined;
35
+ this.state = undefined;
36
+ this.value = undefined;
37
+ this._slotDefault = false;
38
+ }
39
+ componentWillLoad() {
40
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
41
+ this.hasSlotContentDefault();
42
+ }
43
+ hasSlotContentDefault() {
44
+ this._slotDefault = this.el.innerHTML !== '';
45
+ }
46
+ getCssClassMap() {
47
+ return {
48
+ 'br-checkbox': true,
49
+ valid: this.state === 'valid',
50
+ invalid: this.state === 'invalid',
51
+ disabled: this.disabled,
52
+ 'hidden-label': this.hasHiddenLabel,
53
+ };
54
+ }
55
+ /**
56
+ * Inverte o valor da prop `checked`
57
+ */
58
+ async toggleChecked() {
59
+ this.checked = !this.checked;
60
+ this.brDidCheckedChange.emit(this.checked);
61
+ }
62
+ render() {
63
+ return (h(Host, { key: 'a4a2241b6ebf30cb2a443bea2c5d8b0a1b28f2c5' }, h("div", { key: 'b21dda9eee24e48f9c5fbbc85cbb1419f24897f7', class: this.getCssClassMap() }, h("input", Object.assign({ key: '1ebffc2b476181f66f1e5ade165a1b6b087d9040', type: "checkbox", id: this.customId, name: this.name, checked: this.checked, disabled: this.disabled, indeterminate: this.indeterminate, value: this.value, onChange: this.handleCheckedChange }, this.inheritedAttributes)), h("label", { key: '8d2f67677ee74c4ff8a833ba46013286dff25f45', htmlFor: this.customId }, this._slotDefault ? h("slot", null) : this.label))));
64
+ }
65
+ static get formAssociated() { return true; }
66
+ get el() { return getElement(this); }
67
+ };
68
+ Checkbox.style = BrCheckboxStyle0;
69
+
70
+ export { Checkbox as br_checkbox };
71
+
72
+ //# sourceMappingURL=br-checkbox.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"br-checkbox.entry.js","mappings":";;;;;;;;AAAA,MAAM,WAAW,GAAG,0jcAA0jc,CAAC;AAC/kc,yBAAe,WAAW;;MCeb,QAAQ;;;;;;;;;;;QAwFX,wBAAmB,GAAe,EAAE,CAAA;QAM3B,wBAAmB,GAAG,CAAC,KAAY;YAClD,IAAI,CAAC,OAAO,GAAI,KAAK,CAAC,MAA2B,CAAC,OAAO,CAAA;YACzD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SAC3C,CAAA;6BAnFiD,KAAK;uBAMI,KAAK;wBAMH,YAAYA,EAAM,EAAE,EAAE;wBAKtC,KAAK;8BAMC,KAAK;;;;;4BA8BvB,KAAK;;IAEtC,iBAAiB;QACf,IAAI,CAAC,mBAAmB,GAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACzD,IAAI,CAAC,qBAAqB,EAAE,CAAA;KAC7B;IAEO,qBAAqB;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,KAAK,EAAE,CAAA;KAC7C;IAEO,cAAc;QACpB,OAAO;YACL,aAAa,EAAE,IAAI;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,OAAO;YAC7B,OAAO,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAA;KACF;;;;IAiBD,MAAM,aAAa;QACjB,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAA;QAC5B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KAC3C;IAED,MAAM;QACJ,QACE,EAAC,IAAI,uDACH,4DAAK,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAC/B,4EACE,IAAI,EAAC,UAAU,EACf,EAAE,EAAE,IAAI,CAAC,QAAQ,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,mBAAmB,IAC9B,IAAI,CAAC,mBAAmB,EAC5B,EACF,8DAAO,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAG,IAAI,CAAC,YAAY,GAAG,eAAa,GAAG,IAAI,CAAC,KAAK,CAAS,CACnF,CACD,EACR;KACF;;;;;;;;","names":["uuidv4"],"sources":["src/components/checkbox/checkbox.scss?tag=br-checkbox&encapsulation=shadow","src/components/checkbox/checkbox.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/checkbox/checkbox.scss\";\n\n:host {\n display: block;\n}\n\n","import { AttachInternals, Component, Element, Event, EventEmitter, Host, Method, Prop, State, h } from '@stencil/core'\nimport { v4 as uuidv4 } from 'uuid'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/checkbox?tab=designer).\n *\n * @slot default - O texto descritivo pode ser passado por propriedade (label) ou por slot.\n */\n@Component({\n tag: 'br-checkbox',\n styleUrl: 'checkbox.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Checkbox {\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: HTMLBrCheckboxElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o estado intermediário do checkbox.\n * Se definido como verdadeiro, o checkbox exibirá um estado intermediário, que é um estado visual que indica que a opção está parcialmente selecionada.\n * Este estado é útil quando o checkbox faz parte de um grupo com seleção parcial.\n */\n @Prop({ reflect: true }) indeterminate: boolean = false\n\n /**\n * Define o estado de seleção do checkbox.\n * Se definido como verdadeiro, o checkbox estará marcado. Caso contrário, estará desmarcado.\n */\n @Prop({ reflect: true, mutable: true }) checked: boolean = false\n\n /**\n * Identificador único do input.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true, attribute: 'id' }) customId: string = `br-input-${uuidv4()}`\n\n /**\n * Desativa o checkbox, tornando-o não interativo.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * Define se o label associado ao checkbox deve ser oculto.\n * Se definido como verdadeiro, o texto do label será oculto, mas o checkbox ainda estará visível e funcional.\n */\n @Prop({ reflect: true }) hasHiddenLabel: boolean = false\n\n /**\n * Texto descritivo exibido à direita do checkbox.\n * Caso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado.\n */\n @Prop({ reflect: true }) label: string\n\n /**\n * Define o nome do checkbox, que é utilizado para agrupar checkboxes em formulários e identificar o campo.\n * O valor é obrigatório e deve ser fornecido para garantir o correto funcionamento em formulários.\n */\n @Prop({ reflect: true }) name!: string\n\n /**\n * Indica a validade do checkbox.\n * Valores possíveis:\n * 'valid': O checkbox é considerado válido.\n * 'invalid': O checkbox é considerado inválido.\n * Se não for especificado, o valor padrão é `null`, indicando que a validade não foi definida.\n */\n @Prop({ reflect: true }) state: 'valid' | 'invalid'\n\n /**\n * Define o valor associado ao checkbox quando ele faz parte de um formulário nativo (`<form>`).\n * Esse valor é enviado com o formulário quando o checkbox está selecionado.\n * **Nota:** Esta propriedade não deve ser utilizada para determinar se o checkbox está selecionado; para verificar o estado de seleção, use a propriedade `checked`.\n */\n @Prop({ reflect: true }) value: any\n\n @State() _slotDefault: boolean = false\n\n componentWillLoad() {\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n this.hasSlotContentDefault()\n }\n\n private hasSlotContentDefault(): any {\n this._slotDefault = this.el.innerHTML !== ''\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-checkbox': true,\n valid: this.state === 'valid',\n invalid: this.state === 'invalid',\n disabled: this.disabled,\n 'hidden-label': this.hasHiddenLabel,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n /**\n * Disparado depois que o valor do `checked` foi alterado\n */\n @Event() brDidCheckedChange: EventEmitter<boolean>\n private readonly handleCheckedChange = (event: Event) => {\n this.checked = (event.target as HTMLInputElement).checked\n this.brDidCheckedChange.emit(this.checked)\n }\n\n /**\n * Inverte o valor da prop `checked`\n */\n @Method()\n async toggleChecked() {\n this.checked = !this.checked\n this.brDidCheckedChange.emit(this.checked)\n }\n\n render() {\n return (\n <Host>\n <div class={this.getCssClassMap()}>\n <input\n type=\"checkbox\"\n id={this.customId}\n name={this.name}\n checked={this.checked}\n disabled={this.disabled}\n indeterminate={this.indeterminate}\n value={this.value}\n onChange={this.handleCheckedChange}\n {...this.inheritedAttributes}\n />\n <label htmlFor={this.customId}>{this._slotDefault ? <slot></slot> : this.label}</label>\n </div>\n </Host>\n )\n }\n}\n"],"version":3}
@@ -0,0 +1,97 @@
1
+ /*!
2
+ * Construído com @govbr-ds/webcomponents
3
+ * Padrão Digital de Governo.
4
+ */
5
+ import { r as registerInstance, h, a as Host, g as getElement } from './index-45af9b53.js';
6
+ import { i as inheritAriaAttributes } from './inherited-attributes-553a7c36.js';
7
+ import { v as v4 } from './v4-c99c1585.js';
8
+
9
+ const checkgroupCss = "*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{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}a{background-color:transparent}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}[hidden]{display:none}.d-flex{display:-ms-flexbox !important;display:flex !important}.align-items-center{-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.container{--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:-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{--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))}}@media (min-width: 992px){.container{--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{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base) * -1) !important}.ml-2{margin-left:var(--spacing-scale-base) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.mr-auto{margin-right: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}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);color:var(--interactive);text-decoration:none}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)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}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)}::-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}::-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}:-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}::-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}.text-primary-default{color:var(--color-primary-default) !important}.bg-support-01{--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);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.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)}.br-checkbox{--checkbox-padding:var(--spacing-scale-base);--checkbox-size:24px;display:-ms-flexbox;display:flex;position:relative}.br-checkbox+.br-checkbox{margin-top:var(--spacing-scale-base)}.br-checkbox input{margin:0;opacity:0;position:absolute}.br-checkbox input+label{cursor:pointer;display:inline-block;margin-bottom:0;min-height:var(--checkbox-size);min-width:var(--checkbox-size);padding-left:calc(var(--spacing-scale-base) + var(--checkbox-size));position:relative}.br-checkbox input+label::before{background:var(--background-light);border:1px solid var(--border-color);border-radius:4px;content:\"\";height:var(--checkbox-size);left:0;position:absolute;width:var(--checkbox-size)}.br-checkbox input+label:empty{padding:0}.br-checkbox label{font-weight:var(--font-weight-medium)}.br-checkbox.hidden-label label{padding-left:calc(var(--checkbox-size) + var(--surface-width-md) * 2);text-indent:-10000px;white-space:nowrap;width:0}.br-checkbox input:checked+label::after,.br-checkbox input:indeterminate+label::after{border:solid var(--selected);border-width:0 3px 3px 0;content:\"\";height:var(--icon-size-sm);left:8px;position:absolute;top:4px;-webkit-transform:rotate(45deg);transform:rotate(45deg);width:8px}.br-checkbox input[indeterminate]+label::before,.br-checkbox input:indeterminate+label::before{--interactive-rgb:var(--color-rgb);background:var(--selected);border-color:var(--selected)}.br-checkbox input[indeterminate]:hover:not(:disabled)+label::before,.br-checkbox input:indeterminate:hover:not(:disabled)+label::before{--interactive-rgb:var(--color-dark-rgb)}.br-checkbox input[indeterminate]:checked+label::after,.br-checkbox input[indeterminate]+label::after,.br-checkbox input:indeterminate:checked+label::after,.br-checkbox input:indeterminate+label::after{border-color:var(--background-light);border-width:0 0 3px;top:2px;-webkit-transform:none;transform:none}.br-checkbox.invalid input+label::before,.br-checkbox[invalid] input+label::before{--border-color:var(--danger)}.br-checkbox.invalid input:focus-visible:checked+label::before,.br-checkbox.invalid input:focus-visible+label::before,.br-checkbox[invalid] input:focus-visible:checked+label::before,.br-checkbox[invalid] input:focus-visible+label::before{--border-color:var(--focus-color)}.br-checkbox.invalid input:checked+label::before,.br-checkbox[invalid] input:checked+label::before{--border-color:var(--danger)}.br-checkbox.valid input+label::before,.br-checkbox[valid] input+label::before{--border-color:var(--success)}.br-checkbox.valid input:focus-visible:checked+label::before,.br-checkbox.valid input:focus-visible+label::before,.br-checkbox[valid] input:focus-visible:checked+label::before,.br-checkbox[valid] input:focus-visible+label::before{--border-color:var(--focus-color)}.br-checkbox.valid input:checked+label::before,.br-checkbox[valid] input:checked+label::before{--border-color:var(--success)}.br-checkbox.small input+label,.br-checkbox[small] input+label{line-height:var(--spacing-scale-2xh);min-height:var(--spacing-scale-2xh)}.br-checkbox.small input+label::before,.br-checkbox[small] input+label::before{height:var(--spacing-scale-2xh);width:var(--spacing-scale-2xh)}.br-checkbox.small input:checked+label::after,.br-checkbox[small] input:checked+label::after{border-width:0 2px 2px 0;height:var(--icon-size-sm);left:7px;top:4px;width:6px}.br-checkbox.small input[indeterminate]+label::after,.br-checkbox.small input:indeterminate+label::after,.br-checkbox[small] input[indeterminate]+label::after,.br-checkbox[small] input:indeterminate+label::after{border-color:var(--background-light);border-width:0 0 3px;left:7px;top:1px;-webkit-transform:none;transform:none;width:6px}.br-checkbox input:invalid+label::before{--border-color:var(--danger)}.br-checkbox input:focus-visible:checked+label::before,.br-checkbox input:focus-visible+label::before{border-color:var(--focus) !important;-webkit-box-shadow:0 0 0 var(--surface-width-md) var(--focus);box-shadow:0 0 0 var(--surface-width-md) var(--focus);outline:none}.br-checkbox input:hover:not(:disabled)+label::before{--interactive-rgb:var(--interactive-light-rgb);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)))}.br-checkbox:not(.disabled) input:disabled+label{cursor:not-allowed;opacity:var(--disabled)}.br-checkbox:not(.disabled) input:disabled+label *{pointer-events:none}.br-checkbox.dark-mode,.br-checkbox.dark-mode label{color:var(--color-dark)}:host{display:block}";
10
+ const BrCheckgroupStyle0 = checkgroupCss;
11
+
12
+ const Checkgroup = class {
13
+ constructor(hostRef) {
14
+ registerInstance(this, hostRef);
15
+ if (hostRef.$hostElement$["s-ei"]) {
16
+ this.elementInternals = hostRef.$hostElement$["s-ei"];
17
+ }
18
+ else {
19
+ this.elementInternals = hostRef.$hostElement$.attachInternals();
20
+ hostRef.$hostElement$["s-ei"] = this.elementInternals;
21
+ }
22
+ /**
23
+ * Contém o id gerado aleatoriamente
24
+ */
25
+ this.idDefault = `${v4()}`;
26
+ this.inheritedAttributes = {};
27
+ this.handleAllCheckboxChange = () => {
28
+ var _a;
29
+ let checkListAll = Array.from(this.el.querySelectorAll('br-checkbox'));
30
+ checkListAll.forEach((item) => {
31
+ item.checked = this.checked;
32
+ item.indeterminate = false;
33
+ });
34
+ const parentCheckbox = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('br-checkbox');
35
+ if (parentCheckbox) {
36
+ parentCheckbox.indeterminate = false;
37
+ }
38
+ };
39
+ this.label = undefined;
40
+ this.labelSelecionado = 'Desselecionar tudo';
41
+ this.labelDesselecionado = 'Selecionar tudo';
42
+ this.indeterminate = false;
43
+ this.checked = false;
44
+ this.isIndeterminate = false;
45
+ }
46
+ componentWillLoad() {
47
+ this.isIndeterminate = this.el.hasAttribute('indeterminate');
48
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
49
+ this.updateGroupState();
50
+ }
51
+ getCssClassMap() {
52
+ return {
53
+ 'br-checkgroup': true,
54
+ };
55
+ }
56
+ handleChange(event) {
57
+ const target = event.target;
58
+ if (this.isParentCheckbox(target)) {
59
+ this.checked = !this.checked;
60
+ this.handleAllCheckboxChange();
61
+ }
62
+ else {
63
+ this.updateGroupState();
64
+ }
65
+ }
66
+ isParentCheckbox(target) {
67
+ var _a;
68
+ return target === ((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('br-checkbox'));
69
+ }
70
+ updateGroupState() {
71
+ const checkListAll = Array.from(this.el.querySelectorAll('br-checkbox'));
72
+ const allChecked = checkListAll.every((item) => item.checked);
73
+ const noneChecked = checkListAll.every((item) => !item.checked);
74
+ if (allChecked) {
75
+ this.checked = true;
76
+ this.isIndeterminate = false;
77
+ }
78
+ else if (noneChecked) {
79
+ this.checked = false;
80
+ this.isIndeterminate = false;
81
+ }
82
+ else {
83
+ this.checked = false;
84
+ this.isIndeterminate = true;
85
+ }
86
+ }
87
+ render() {
88
+ return (h(Host, { key: '7edcada2c8dc6074bc8c911960d8f4d1ce765683' }, h("div", Object.assign({ key: 'e7abe8ed6ca4b49869212ece845c13576b38e702', class: this.getCssClassMap() }, this.inheritedAttributes, { style: { width: '100%' } }), this.label && h("label", { key: '6b95576472b6ab7bce56f6419acb944d681acc1b' }, this.label), h("div", { key: 'a55f84bc3119d4cfebba10ab142e4e1a4833c544', class: "mb-1" }, h("div", { key: 'b60382c83b410da74a38b4bca95b5cedea31245b', class: "checkgroup-example" }, h("br-checkbox", { key: '72a2054e69dcb6b99cd2ff0e04023ba449ac52e2', name: `checkgroup-${this.idDefault}`, checked: this.checked, indeterminate: this.isIndeterminate, label: this.checked ? this.labelDesselecionado : this.labelSelecionado, "aria-label": this.checked ? this.labelDesselecionado : this.labelSelecionado, onBrDidCheckedChange: this.handleChange.bind(this) }))), h("div", { key: '60e166d6caab796fe0fbf22d1bdfb296ff8bad28', class: "mb-1 ml-2" }, h("slot", { key: '21355b734eedc5a9818b4bd1ac8e310450c8c017' })))));
89
+ }
90
+ static get formAssociated() { return true; }
91
+ get el() { return getElement(this); }
92
+ };
93
+ Checkgroup.style = BrCheckgroupStyle0;
94
+
95
+ export { Checkgroup as br_checkgroup };
96
+
97
+ //# sourceMappingURL=br-checkgroup.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"br-checkgroup.entry.js","mappings":";;;;;;;;AAAA,MAAM,aAAa,GAAG,0jcAA0jc,CAAC;AACjlc,2BAAe,aAAa;;MCwBf,UAAU;;;;;;;;;;;;;QAkCF,cAAS,GAAG,GAAGA,EAAM,EAAE,EAAE,CAAA;QA0BpC,wBAAmB,GAAe,EAAE,CAAA;QAqB3B,4BAAuB,GAAG;;YACzC,IAAI,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;YAEvE,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI;gBACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAC5B,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,MAAA,IAAI,CAAC,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,aAAa,CAAC,CAAC;YACxE,IAAI,cAAc,EAAE;gBAClB,cAAc,CAAC,aAAa,GAAG,KAAK,CAAC;aACtC;SACF,CAAA;;gCA5EmD,oBAAoB;mCAKjB,iBAAiB;6BAOtB,KAAK;uBAW3B,KAAK;+BAKG,KAAK;;IAEzC,iBAAiB;QACf,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;QAC5D,IAAI,CAAC,mBAAmB,GAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEzD,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAEO,cAAc;QACpB,OAAO;YACL,eAAe,EAAE,IAAI;SACtB,CAAA;KACF;IAOD,YAAY,CAAC,KAAY;QAEvB,MAAM,MAAM,GAAG,KAAK,CAAC,MAA+B,CAAC;QAErD,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;YACjC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;KACF;IAEO,gBAAgB,CAAC,MAA6B;;QACpD,OAAO,MAAM,MAAK,MAAA,IAAI,CAAC,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,aAAa,CAAC,CAAA,CAAC;KACpE;IAgBO,gBAAgB;QACtB,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhE,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAC9B;aAAM,IAAI,WAAW,EAAE;YACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;KACF;IAED,MAAM;QACJ,QACE,EAAC,IAAI,uDACH,0EACE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IACxB,IAAI,CAAC,mBAAmB,IAC5B,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAEvB,IAAI,CAAC,KAAK,IAAI,gEAAQ,IAAI,CAAC,KAAK,CAAS,EAC1C,4DAAK,KAAK,EAAC,MAAM,IACf,4DAAK,KAAK,EAAC,oBAAoB,IAC7B,oEACE,IAAI,EAAE,cAAc,IAAI,CAAC,SAAS,EAAE,EACpC,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,aAAa,EAAE,IAAI,CAAC,eAAe,EACnC,KAAK,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,gBAC1D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,EAC3E,oBAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GACrC,CACX,CACF,EACN,4DAAK,KAAK,EAAC,WAAW,IACpB,8DAAa,CACT,CACF,CACD,EACR;KACF;;;;;;;;","names":["uuidv4"],"sources":["src/components/checkgroup/checkgroup.scss?tag=br-checkgroup&encapsulation=shadow","src/components/checkgroup/checkgroup.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/checkbox/checkbox.scss\";\n\n:host {\n display: block;\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Host,\n h,\n Listen,\n Prop,\n State,\n} from '@stencil/core'\nimport { v4 as uuidv4 } from 'uuid';\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/utilitarios/js/checkgroup?tab=desenvolvedor).\n *\n * @slot default - Slot para adicionar os checkboxes que serão controlados pelo checkgroup.\n */\n@Component({\n tag: 'br-checkgroup',\n styleUrl: 'checkgroup.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Checkgroup {\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: HTMLBrCheckgroupElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Texto descritivo do grupo.\n */\n @Prop() label: string\n\n /**\n * Define o texto do label quando o checkbox está marcado.\n */\n @Prop({ reflect: true }) labelSelecionado: string = 'Desselecionar tudo'\n\n /**\n * Define o texto do label quando o checkbox está desmarcado.\n */\n @Prop({ reflect: true }) labelDesselecionado: string = 'Selecionar tudo'\n\n /**\n * Define o estado intermediário do checkbox.\n * Se definido como verdadeiro, o checkbox exibirá um estado intermediário, que é um estado visual que indica que a opção está parcialmente selecionada.\n * Este estado é útil quando o checkbox faz parte de um grupo com seleção parcial.\n */\n @Prop({ reflect: true }) indeterminate: boolean = false\n\n /**\n * Contém o id gerado aleatoriamente\n */\n private readonly idDefault = `${uuidv4()}`\n\n /**\n * Define o estado de seleção do checkbox.\n * Se definido como verdadeiro, o checkbox estará marcado. Caso contrário, estará desmarcado.\n */\n @State() checked: boolean = false\n\n /**\n * Indica se o grupo de checkboxes está indeterminado\n */\n @State() isIndeterminate: boolean = false\n\n componentWillLoad() {\n this.isIndeterminate = this.el.hasAttribute('indeterminate')\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n\n this.updateGroupState();\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-checkgroup': true,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n @Listen('brDidCheckedChange', {\n target: 'document',\n })\n handleChange(event: Event) {\n\n const target = event.target as HTMLBrCheckboxElement;\n\n if (this.isParentCheckbox(target)) {\n this.checked = !this.checked;\n this.handleAllCheckboxChange();\n } else {\n this.updateGroupState();\n }\n }\n\n private isParentCheckbox(target: HTMLBrCheckboxElement): boolean {\n return target === this.el.shadowRoot?.querySelector('br-checkbox');\n }\n\n private readonly handleAllCheckboxChange = () => {\n let checkListAll = Array.from(this.el.querySelectorAll('br-checkbox'));\n\n checkListAll.forEach((item) => {\n item.checked = this.checked;\n item.indeterminate = false;\n });\n\n const parentCheckbox = this.el.shadowRoot?.querySelector('br-checkbox');\n if (parentCheckbox) {\n parentCheckbox.indeterminate = false;\n }\n }\n\n private updateGroupState() {\n const checkListAll = Array.from(this.el.querySelectorAll('br-checkbox'));\n const allChecked = checkListAll.every((item) => item.checked);\n const noneChecked = checkListAll.every((item) => !item.checked);\n\n if (allChecked) {\n this.checked = true;\n this.isIndeterminate = false;\n } else if (noneChecked) {\n this.checked = false;\n this.isIndeterminate = false;\n } else {\n this.checked = false;\n this.isIndeterminate = true;\n }\n }\n\n render() {\n return (\n <Host>\n <div\n class={this.getCssClassMap()}\n {...this.inheritedAttributes}\n style={{ width: '100%' }}\n >\n {this.label && <label>{this.label}</label>}\n <div class=\"mb-1\">\n <div class=\"checkgroup-example\">\n <br-checkbox\n name={`checkgroup-${this.idDefault}`}\n checked={this.checked}\n indeterminate={this.isIndeterminate}\n label={this.checked ? this.labelDesselecionado : this.labelSelecionado}\n aria-label={this.checked ? this.labelDesselecionado : this.labelSelecionado}\n onBrDidCheckedChange={this.handleChange.bind(this)}\n ></br-checkbox>\n </div>\n </div>\n <div class=\"mb-1 ml-2\">\n <slot></slot>\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"version":3}
@@ -2,10 +2,10 @@
2
2
  * Construído com @govbr-ds/webcomponents
3
3
  * Padrão Digital de Governo.
4
4
  */
5
- import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-14721f44.js';
5
+ import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-45af9b53.js';
6
6
  import { i as inheritAriaAttributes } from './inherited-attributes-553a7c36.js';
7
7
 
8
- const dropdownCss = "*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{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}a{background-color:transparent}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}[hidden]{display:none}.d-flex{display:-ms-flexbox !important;display:flex !important}.align-items-center{-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.container{--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:-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{--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))}}@media (min-width: 992px){.container{--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{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base) * -1) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.mr-auto{margin-right: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}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);color:var(--interactive);text-decoration:none}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)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}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)}::-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}::-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}:-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}::-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}.text-primary-default{color:var(--color-primary-default) !important}.bg-support-01{--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);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.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)}:host{display:block;position:relative}:host #trigger{display:inline-block;cursor:pointer}:host #target{display:none;position:absolute;top:100%;left:0}:host([is-open]) #target{display:block}";
8
+ const dropdownCss = "*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{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}a{background-color:transparent}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}[hidden]{display:none}.d-flex{display:-ms-flexbox !important;display:flex !important}.align-items-center{-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.container{--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:-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{--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))}}@media (min-width: 992px){.container{--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{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base) * -1) !important}.ml-2{margin-left:var(--spacing-scale-base) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.mr-auto{margin-right: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}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);color:var(--interactive);text-decoration:none}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)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}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)}::-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}::-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}:-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}::-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}.text-primary-default{color:var(--color-primary-default) !important}.bg-support-01{--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);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.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)}:host{display:block;position:relative}:host #trigger{display:inline-block;cursor:pointer}:host #target{display:none;position:absolute;top:100%;left:0}:host([is-open]) #target{display:block}";
9
9
  const BrDropdownStyle0 = dropdownCss;
10
10
 
11
11
  const Dropdown = class {
@@ -81,7 +81,7 @@ const Dropdown = class {
81
81
  return { isOpen: this.isOpen }; // Retorna o novo estado
82
82
  }
83
83
  render() {
84
- return (h(Host, { key: '5a14d5ee59bb7b245085cac751c6b3ca2964c313', "is-open": this.isOpen }, h("div", Object.assign({ key: '7e1ef66474efe1fc9916cfcd623520d6dd6a4cd6', class: this.getCssClassMap() }, this.inheritedAttributes), h("div", { key: 'e7e75bde235c6ee16eca052733b0183842a6d0fd', id: "trigger", onClick: this.toggle, "aria-controls": "target", "aria-haspopup": "true", "aria-expanded": this.isOpen }, h("slot", { key: 'dfd29202462c590e31c302a1a6c73aa5013e6d4d', name: "trigger" })), h("div", { key: '6481087ab2204e956e526049ecb8702a6f2c6c49', id: "target", "aria-hidden": !this.isOpen }, h("slot", { key: 'fd4b9c9f029b45f0c5b5fafb4803421e959fa6fd', name: "target" })))));
84
+ return (h(Host, { key: '1f9920cb3da62d43e35c0cc5fd25f1cf66a0d04c', "is-open": this.isOpen }, h("div", Object.assign({ key: '255b9239a88e3aade90175e14a4a60f36d6f2e5f', class: this.getCssClassMap() }, this.inheritedAttributes), h("div", { key: '3dd1404997a97f9357ec5aca71a98b95c52ad1b2', id: "trigger", onClick: this.toggle, "aria-controls": "target", "aria-haspopup": "true", "aria-expanded": this.isOpen }, h("slot", { key: '585d766af3334d6ceb58e7f31e93fb748a52e3ac', name: "trigger" })), h("div", { key: '21eecf44f455e9d67081633d70dcdd790e9e2cd2', id: "target", "aria-hidden": !this.isOpen }, h("slot", { key: 'e506ff60614dabc87a953a9bf9d35ba4b048845f', name: "target" })))));
85
85
  }
86
86
  static get formAssociated() { return true; }
87
87
  get el() { return getElement(this); }
@@ -1 +1 @@
1
- {"file":"br-dropdown.entry.js","mappings":";;;;;;;AAAA,MAAM,WAAW,GAAG,6kTAA6kT,CAAC;AAClmT,yBAAe,WAAW;;MCeb,QAAQ;;;;;;;;;;;;;;QAmDF,WAAM,GAAG,CAAC,KAAY;YACrC,KAAK,CAAC,eAAe,EAAE,CAAA;YACvB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAA;SAC3B,CAAA;QAsCO,wBAAmB,GAAe,EAAE,CAAA;sBA9Ec,KAAK;;;;;;IAO/D,aAAa;QACX,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;KACzD;IAED,iBAAiB;QACf,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;KACnE;IAED,iBAAiB;QACf,IAAI,CAAC,mBAAmB,GAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;KAC1D;IAED,oBAAoB;QAClB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;KACtE;IAOO,cAAc;QACpB,OAAO;YACL,aAAa,EAAE,IAAI;SACpB,CAAA;KACF;;;;;;IAeO,cAAc,CAAC,KAAiB;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,CAAA;QACjC,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAEnE,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;YACtD,IAAI,CAAC,IAAI,EAAE,CAAA;SACZ;KACF;;;;;;IAQD,MAAM,IAAI;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;KAC/B;;;;;;IAQD,MAAM,IAAI;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;KAC/B;IAID,MAAM;QACJ,QACE,EAAC,IAAI,gEAAU,IAAI,CAAC,MAAM,IACxB,0EAAK,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAM,IAAI,CAAC,mBAAmB,GAC7D,4DACE,EAAE,EAAC,SAAS,EACZ,OAAO,EAAE,IAAI,CAAC,MAAM,mBACN,QAAQ,mBACR,MAAM,mBACL,IAAI,CAAC,MAAM,IAE1B,6DAAM,IAAI,EAAC,SAAS,GAAQ,CACxB,EACN,4DAAK,EAAE,EAAC,QAAQ,iBAAc,CAAC,IAAI,CAAC,MAAM,IACxC,6DAAM,IAAI,EAAC,QAAQ,GAAQ,CACvB,CACF,CACD,EACR;KACF;;;;;;;;;;;","names":[],"sources":["src/components/dropdown/dropdown.scss?tag=br-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.tsx"],"sourcesContent":[":host {\n display: block;\n position: relative;\n\n #trigger {\n display: inline-block;\n cursor: pointer;\n }\n\n #target {\n display: none;\n position: absolute;\n top: 100%;\n left: 0;\n }\n}\n\n:host([is-open]) {\n #target {\n display: block;\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, Host, Method, Prop, Watch, h } from '@stencil/core'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/dropdown?tab=designer).\n *\n * @slot trigger - Slot que recebe o elemento acionador\n * @slot target - Slot que recebe o elemento alvo\n */\n@Component({\n tag: 'br-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Dropdown {\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: HTMLBrDropdownElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Indica se o dropdown está aberto ou fechado.\n * Esta propriedade é refletida no DOM e pode ser alterada externamente.\n * O valor padrão é falso (fechado).\n */\n @Prop({ reflect: true, mutable: true }) isOpen: boolean = false\n\n /**\n * Método chamado sempre que a propriedade `isOpen` muda.\n * Emite um evento com o novo estado do dropdown.\n */\n @Watch('isOpen')\n isOpenChanged() {\n this.brDropdownChange.emit({ 'is-opened': this.isOpen })\n }\n\n connectedCallback() {\n document.addEventListener('click', this.onClickOutside.bind(this))\n }\n\n componentWillLoad() {\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.onClickOutside.bind(this))\n }\n\n /**\n * Evento emitido quando o estado do dropdown muda.\n */\n @Event() brDropdownChange: EventEmitter<{ 'is-opened': boolean }>\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-dropdown': true,\n }\n }\n\n /**\n * Alterna o estado do dropdown entre aberto e fechado.\n */\n private readonly toggle = (event: Event) => {\n event.stopPropagation()\n this.isOpen = !this.isOpen\n }\n\n /**\n * Método que lida com cliques fora do dropdown.\n *\n * @param {MouseEvent} event - O evento de clique que ocorreu.\n */\n private onClickOutside(event: MouseEvent) {\n const path = event.composedPath()\n const dropdownElement = this.el.shadowRoot.querySelector('#target')\n\n if (dropdownElement && !path.includes(dropdownElement)) {\n this.hide()\n }\n }\n\n /**\n * Abre o dropdown.\n * Define a propriedade `isOpen` como verdadeira e retorna o novo estado.\n * Este método é marcado com @Method() para que possa ser chamado externamente.\n */\n @Method()\n async open(): Promise<{ isOpen: boolean }> {\n this.isOpen = true\n return { isOpen: this.isOpen } // Retorna o novo estado\n }\n\n /**\n * Esconde o dropdown.\n * Define a propriedade `isOpen` como falsa e retorna o novo estado.\n * Este método é marcado com @Method() para que possa ser chamado externamente.\n */\n @Method()\n async hide(): Promise<{ isOpen: boolean }> {\n this.isOpen = false\n return { isOpen: this.isOpen } // Retorna o novo estado\n }\n\n private inheritedAttributes: Attributes = {}\n\n render() {\n return (\n <Host is-open={this.isOpen}>\n <div class={this.getCssClassMap()} {...this.inheritedAttributes}>\n <div\n id=\"trigger\"\n onClick={this.toggle}\n aria-controls=\"target\"\n aria-haspopup=\"true\"\n aria-expanded={this.isOpen}\n >\n <slot name=\"trigger\"></slot>\n </div>\n <div id=\"target\" aria-hidden={!this.isOpen}>\n <slot name=\"target\"></slot>\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"version":3}
1
+ {"file":"br-dropdown.entry.js","mappings":";;;;;;;AAAA,MAAM,WAAW,GAAG,6rTAA6rT,CAAC;AACltT,yBAAe,WAAW;;MCeb,QAAQ;;;;;;;;;;;;;;QAmDF,WAAM,GAAG,CAAC,KAAY;YACrC,KAAK,CAAC,eAAe,EAAE,CAAA;YACvB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAA;SAC3B,CAAA;QAsCO,wBAAmB,GAAe,EAAE,CAAA;sBA9Ec,KAAK;;;;;;IAO/D,aAAa;QACX,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;KACzD;IAED,iBAAiB;QACf,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;KACnE;IAED,iBAAiB;QACf,IAAI,CAAC,mBAAmB,GAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;KAC1D;IAED,oBAAoB;QAClB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;KACtE;IAOO,cAAc;QACpB,OAAO;YACL,aAAa,EAAE,IAAI;SACpB,CAAA;KACF;;;;;;IAeO,cAAc,CAAC,KAAiB;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,CAAA;QACjC,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAEnE,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;YACtD,IAAI,CAAC,IAAI,EAAE,CAAA;SACZ;KACF;;;;;;IAQD,MAAM,IAAI;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;KAC/B;;;;;;IAQD,MAAM,IAAI;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;KAC/B;IAID,MAAM;QACJ,QACE,EAAC,IAAI,gEAAU,IAAI,CAAC,MAAM,IACxB,0EAAK,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAM,IAAI,CAAC,mBAAmB,GAC7D,4DACE,EAAE,EAAC,SAAS,EACZ,OAAO,EAAE,IAAI,CAAC,MAAM,mBACN,QAAQ,mBACR,MAAM,mBACL,IAAI,CAAC,MAAM,IAE1B,6DAAM,IAAI,EAAC,SAAS,GAAQ,CACxB,EACN,4DAAK,EAAE,EAAC,QAAQ,iBAAc,CAAC,IAAI,CAAC,MAAM,IACxC,6DAAM,IAAI,EAAC,QAAQ,GAAQ,CACvB,CACF,CACD,EACR;KACF;;;;;;;;;;;","names":[],"sources":["src/components/dropdown/dropdown.scss?tag=br-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.tsx"],"sourcesContent":[":host {\n display: block;\n position: relative;\n\n #trigger {\n display: inline-block;\n cursor: pointer;\n }\n\n #target {\n display: none;\n position: absolute;\n top: 100%;\n left: 0;\n }\n}\n\n:host([is-open]) {\n #target {\n display: block;\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, Host, Method, Prop, Watch, h } from '@stencil/core'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/dropdown?tab=designer).\n *\n * @slot trigger - Slot que recebe o elemento acionador\n * @slot target - Slot que recebe o elemento alvo\n */\n@Component({\n tag: 'br-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Dropdown {\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: HTMLBrDropdownElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Indica se o dropdown está aberto ou fechado.\n * Esta propriedade é refletida no DOM e pode ser alterada externamente.\n * O valor padrão é falso (fechado).\n */\n @Prop({ reflect: true, mutable: true }) isOpen: boolean = false\n\n /**\n * Método chamado sempre que a propriedade `isOpen` muda.\n * Emite um evento com o novo estado do dropdown.\n */\n @Watch('isOpen')\n isOpenChanged() {\n this.brDropdownChange.emit({ 'is-opened': this.isOpen })\n }\n\n connectedCallback() {\n document.addEventListener('click', this.onClickOutside.bind(this))\n }\n\n componentWillLoad() {\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.onClickOutside.bind(this))\n }\n\n /**\n * Evento emitido quando o estado do dropdown muda.\n */\n @Event() brDropdownChange: EventEmitter<{ 'is-opened': boolean }>\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-dropdown': true,\n }\n }\n\n /**\n * Alterna o estado do dropdown entre aberto e fechado.\n */\n private readonly toggle = (event: Event) => {\n event.stopPropagation()\n this.isOpen = !this.isOpen\n }\n\n /**\n * Método que lida com cliques fora do dropdown.\n *\n * @param {MouseEvent} event - O evento de clique que ocorreu.\n */\n private onClickOutside(event: MouseEvent) {\n const path = event.composedPath()\n const dropdownElement = this.el.shadowRoot.querySelector('#target')\n\n if (dropdownElement && !path.includes(dropdownElement)) {\n this.hide()\n }\n }\n\n /**\n * Abre o dropdown.\n * Define a propriedade `isOpen` como verdadeira e retorna o novo estado.\n * Este método é marcado com @Method() para que possa ser chamado externamente.\n */\n @Method()\n async open(): Promise<{ isOpen: boolean }> {\n this.isOpen = true\n return { isOpen: this.isOpen } // Retorna o novo estado\n }\n\n /**\n * Esconde o dropdown.\n * Define a propriedade `isOpen` como falsa e retorna o novo estado.\n * Este método é marcado com @Method() para que possa ser chamado externamente.\n */\n @Method()\n async hide(): Promise<{ isOpen: boolean }> {\n this.isOpen = false\n return { isOpen: this.isOpen } // Retorna o novo estado\n }\n\n private inheritedAttributes: Attributes = {}\n\n render() {\n return (\n <Host is-open={this.isOpen}>\n <div class={this.getCssClassMap()} {...this.inheritedAttributes}>\n <div\n id=\"trigger\"\n onClick={this.toggle}\n aria-controls=\"target\"\n aria-haspopup=\"true\"\n aria-expanded={this.isOpen}\n >\n <slot name=\"trigger\"></slot>\n </div>\n <div id=\"target\" aria-hidden={!this.isOpen}>\n <slot name=\"target\"></slot>\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"version":3}