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

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 (382) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +193 -97
  3. package/dist/cjs/app-globals-77a217c6.js +11 -0
  4. package/dist/cjs/app-globals-77a217c6.js.map +1 -0
  5. package/dist/cjs/br-avatar.cjs.entry.js +77 -0
  6. package/dist/cjs/br-avatar.cjs.entry.js.map +1 -0
  7. package/dist/cjs/br-button_2.cjs.entry.js +2491 -0
  8. package/dist/cjs/br-button_2.cjs.entry.js.map +1 -0
  9. package/dist/cjs/br-checkbox_4.cjs.entry.js +346 -0
  10. package/dist/cjs/br-checkbox_4.cjs.entry.js.map +1 -0
  11. package/dist/cjs/br-dropdown.cjs.entry.js +100 -0
  12. package/dist/cjs/br-dropdown.cjs.entry.js.map +1 -0
  13. package/dist/cjs/br-item.cjs.entry.js +146 -0
  14. package/dist/cjs/br-item.cjs.entry.js.map +1 -0
  15. package/dist/cjs/br-loading.cjs.entry.js +43 -0
  16. package/dist/cjs/br-loading.cjs.entry.js.map +1 -0
  17. package/dist/cjs/br-message.cjs.entry.js +68 -0
  18. package/dist/cjs/br-message.cjs.entry.js.map +1 -0
  19. package/dist/cjs/br-select.cjs.entry.js +281 -0
  20. package/dist/cjs/br-select.cjs.entry.js.map +1 -0
  21. package/dist/cjs/br-switch.cjs.entry.js +81 -0
  22. package/dist/cjs/br-switch.cjs.entry.js.map +1 -0
  23. package/dist/cjs/br-tag.cjs.entry.js +88 -0
  24. package/dist/cjs/br-tag.cjs.entry.js.map +1 -0
  25. package/dist/cjs/br-textarea.cjs.entry.js +102 -0
  26. package/dist/cjs/br-textarea.cjs.entry.js.map +1 -0
  27. package/dist/cjs/br-upload.cjs.entry.js +168 -0
  28. package/dist/cjs/br-upload.cjs.entry.js.map +1 -0
  29. package/dist/cjs/index-86e7422e.js +1856 -0
  30. package/dist/cjs/index-86e7422e.js.map +1 -0
  31. package/dist/cjs/index.cjs.js +8 -0
  32. package/dist/cjs/index.cjs.js.map +1 -0
  33. package/dist/cjs/inherited-attributes-16f7d388.js +107 -0
  34. package/dist/cjs/inherited-attributes-16f7d388.js.map +1 -0
  35. package/dist/cjs/loader.cjs.js +21 -0
  36. package/dist/cjs/loader.cjs.js.map +1 -0
  37. package/dist/cjs/v4-2a0fe526.js +74 -0
  38. package/dist/cjs/v4-2a0fe526.js.map +1 -0
  39. package/dist/cjs/webcomponents.cjs.js +52 -0
  40. package/dist/cjs/webcomponents.cjs.js.map +1 -0
  41. package/dist/collection/collection-manifest.json +27 -0
  42. package/dist/collection/components/avatar/avatar.css +540 -0
  43. package/dist/collection/components/avatar/avatar.js +222 -0
  44. package/dist/collection/components/avatar/avatar.js.map +1 -0
  45. package/dist/collection/components/button/button.css +802 -0
  46. package/dist/collection/components/button/button.js +236 -0
  47. package/dist/collection/components/button/button.js.map +1 -0
  48. package/dist/collection/components/checkbox/checkbox.css +597 -0
  49. package/dist/collection/components/checkbox/checkbox.js +279 -0
  50. package/dist/collection/components/checkbox/checkbox.js.map +1 -0
  51. package/dist/collection/components/dropdown/dropdown.css +467 -0
  52. package/dist/collection/components/dropdown/dropdown.js +185 -0
  53. package/dist/collection/components/dropdown/dropdown.js.map +1 -0
  54. package/dist/collection/components/icon/icon.css +452 -0
  55. package/dist/collection/components/icon/icon.js +176 -0
  56. package/dist/collection/components/icon/icon.js.map +1 -0
  57. package/dist/collection/components/input/input.css +673 -0
  58. package/dist/collection/components/input/input.js +580 -0
  59. package/dist/collection/components/input/input.js.map +1 -0
  60. package/dist/collection/components/item/item.css +662 -0
  61. package/dist/collection/components/item/item.js +376 -0
  62. package/dist/collection/components/item/item.js.map +1 -0
  63. package/dist/collection/components/list/list.css +564 -0
  64. package/dist/collection/components/list/list.js +138 -0
  65. package/dist/collection/components/list/list.js.map +1 -0
  66. package/dist/collection/components/loading/loading.css +653 -0
  67. package/dist/collection/components/loading/loading.js +119 -0
  68. package/dist/collection/components/loading/loading.js.map +1 -0
  69. package/dist/collection/components/message/message.css +600 -0
  70. package/dist/collection/components/message/message.js +211 -0
  71. package/dist/collection/components/message/message.js.map +1 -0
  72. package/dist/collection/components/radio/radio.css +552 -0
  73. package/dist/collection/components/radio/radio.js +247 -0
  74. package/dist/collection/components/radio/radio.js.map +1 -0
  75. package/dist/collection/components/select/select.css +857 -0
  76. package/dist/collection/components/select/select.js +491 -0
  77. package/dist/collection/components/select/select.js.map +1 -0
  78. package/dist/collection/components/switch/switch.css +623 -0
  79. package/dist/collection/components/switch/switch.js +320 -0
  80. package/dist/collection/components/switch/switch.js.map +1 -0
  81. package/dist/collection/components/tag/tag.css +645 -0
  82. package/dist/collection/components/tag/tag.js +256 -0
  83. package/dist/collection/components/tag/tag.js.map +1 -0
  84. package/dist/collection/components/textarea/textarea.css +518 -0
  85. package/dist/collection/components/textarea/textarea.js +298 -0
  86. package/dist/collection/components/textarea/textarea.js.map +1 -0
  87. package/dist/collection/components/upload/upload.css +562 -0
  88. package/dist/collection/components/upload/upload.js +469 -0
  89. package/dist/collection/components/upload/upload.js.map +1 -0
  90. package/dist/collection/index.js +2 -0
  91. package/dist/collection/index.js.map +1 -0
  92. package/dist/collection/pages/components/button/index.js +18 -0
  93. package/dist/collection/pages/components/checkbox/index.js +18 -0
  94. package/dist/collection/pages/components/dropdown/index.js +18 -0
  95. package/dist/collection/pages/components/icon/index.js +18 -0
  96. package/dist/collection/pages/components/input/index.js +27 -0
  97. package/dist/collection/pages/components/item/index.js +18 -0
  98. package/dist/collection/pages/components/list/index.js +19 -0
  99. package/dist/collection/pages/components/message/index.js +18 -0
  100. package/dist/collection/pages/components/radio/index.js +18 -0
  101. package/dist/collection/pages/components/select/index.js +18 -0
  102. package/dist/collection/pages/components/switch/index.js +18 -0
  103. package/dist/collection/pages/components/tag/index.js +18 -0
  104. package/dist/collection/pages/components/textarea/index.js +19 -0
  105. package/dist/collection/pages/components/upload/index.js +19 -0
  106. package/dist/collection/pages/scripts/menu.js +226 -0
  107. package/dist/collection/pages/scripts/pageLoader.js +180 -0
  108. package/dist/collection/scripts/menu.js +151 -0
  109. package/dist/collection/utils/inherited-attributes.js +102 -0
  110. package/dist/collection/utils/inherited-attributes.js.map +1 -0
  111. package/dist/collection/utils/interfaces.js +2 -0
  112. package/dist/collection/utils/interfaces.js.map +1 -0
  113. package/dist/collection/utils/unique-id-generator.js +13 -0
  114. package/dist/collection/utils/unique-id-generator.js.map +1 -0
  115. package/dist/components/br-avatar.d.ts +11 -0
  116. package/dist/components/br-avatar.js +6 -0
  117. package/dist/components/br-avatar.js.map +1 -0
  118. package/dist/components/br-button.d.ts +11 -0
  119. package/dist/components/br-button.js +6 -0
  120. package/dist/components/br-button.js.map +1 -0
  121. package/dist/components/br-checkbox.d.ts +11 -0
  122. package/dist/components/br-checkbox.js +6 -0
  123. package/dist/components/br-checkbox.js.map +1 -0
  124. package/dist/components/br-dropdown.d.ts +11 -0
  125. package/dist/components/br-dropdown.js +6 -0
  126. package/dist/components/br-dropdown.js.map +1 -0
  127. package/dist/components/br-icon.d.ts +11 -0
  128. package/dist/components/br-icon.js +6 -0
  129. package/dist/components/br-icon.js.map +1 -0
  130. package/dist/components/br-input.d.ts +11 -0
  131. package/dist/components/br-input.js +6 -0
  132. package/dist/components/br-input.js.map +1 -0
  133. package/dist/components/br-item.d.ts +11 -0
  134. package/dist/components/br-item.js +6 -0
  135. package/dist/components/br-item.js.map +1 -0
  136. package/dist/components/br-list.d.ts +11 -0
  137. package/dist/components/br-list.js +6 -0
  138. package/dist/components/br-list.js.map +1 -0
  139. package/dist/components/br-loading.d.ts +11 -0
  140. package/dist/components/br-loading.js +6 -0
  141. package/dist/components/br-loading.js.map +1 -0
  142. package/dist/components/br-message.d.ts +11 -0
  143. package/dist/components/br-message.js +6 -0
  144. package/dist/components/br-message.js.map +1 -0
  145. package/dist/components/br-radio.d.ts +11 -0
  146. package/dist/components/br-radio.js +6 -0
  147. package/dist/components/br-radio.js.map +1 -0
  148. package/dist/components/br-select.d.ts +11 -0
  149. package/dist/components/br-select.js +6 -0
  150. package/dist/components/br-select.js.map +1 -0
  151. package/dist/components/br-switch.d.ts +11 -0
  152. package/dist/components/br-switch.js +6 -0
  153. package/dist/components/br-switch.js.map +1 -0
  154. package/dist/components/br-tag.d.ts +11 -0
  155. package/dist/components/br-tag.js +6 -0
  156. package/dist/components/br-tag.js.map +1 -0
  157. package/dist/components/br-textarea.d.ts +11 -0
  158. package/dist/components/br-textarea.js +6 -0
  159. package/dist/components/br-textarea.js.map +1 -0
  160. package/dist/components/br-upload.d.ts +11 -0
  161. package/dist/components/br-upload.js +6 -0
  162. package/dist/components/br-upload.js.map +1 -0
  163. package/dist/components/index.d.ts +33 -0
  164. package/dist/components/index.js +6 -0
  165. package/dist/components/index.js.map +1 -0
  166. package/dist/components/p-22068d3c.js +6 -0
  167. package/dist/components/p-22068d3c.js.map +1 -0
  168. package/dist/components/p-62776355.js +6 -0
  169. package/dist/components/p-62776355.js.map +1 -0
  170. package/dist/components/p-67617725.js +6 -0
  171. package/dist/components/p-67617725.js.map +1 -0
  172. package/dist/components/p-74a4eb38.js +6 -0
  173. package/dist/components/p-74a4eb38.js.map +1 -0
  174. package/dist/components/p-7882cb21.js +6 -0
  175. package/dist/components/p-7882cb21.js.map +1 -0
  176. package/dist/components/p-7aca304a.js +6 -0
  177. package/dist/components/p-7aca304a.js.map +1 -0
  178. package/dist/components/p-b4b55ab7.js +17 -0
  179. package/dist/components/p-b4b55ab7.js.map +1 -0
  180. package/dist/components/p-d5a8d30c.js +6 -0
  181. package/dist/components/p-d5a8d30c.js.map +1 -0
  182. package/dist/components/p-fabd9bdd.js +7 -0
  183. package/dist/components/p-fabd9bdd.js.map +1 -0
  184. package/dist/esm/app-globals-72548b13.js +9 -0
  185. package/dist/esm/app-globals-72548b13.js.map +1 -0
  186. package/dist/esm/br-avatar.entry.js +73 -0
  187. package/dist/esm/br-avatar.entry.js.map +1 -0
  188. package/dist/esm/br-button_2.entry.js +2486 -0
  189. package/dist/esm/br-button_2.entry.js.map +1 -0
  190. package/dist/esm/br-checkbox_4.entry.js +339 -0
  191. package/dist/esm/br-checkbox_4.entry.js.map +1 -0
  192. package/dist/esm/br-dropdown.entry.js +96 -0
  193. package/dist/esm/br-dropdown.entry.js.map +1 -0
  194. package/dist/esm/br-item.entry.js +142 -0
  195. package/dist/esm/br-item.entry.js.map +1 -0
  196. package/dist/esm/br-loading.entry.js +39 -0
  197. package/dist/esm/br-loading.entry.js.map +1 -0
  198. package/dist/esm/br-message.entry.js +64 -0
  199. package/dist/esm/br-message.entry.js.map +1 -0
  200. package/dist/esm/br-select.entry.js +277 -0
  201. package/dist/esm/br-select.entry.js.map +1 -0
  202. package/dist/esm/br-switch.entry.js +77 -0
  203. package/dist/esm/br-switch.entry.js.map +1 -0
  204. package/dist/esm/br-tag.entry.js +84 -0
  205. package/dist/esm/br-tag.entry.js.map +1 -0
  206. package/dist/esm/br-textarea.entry.js +98 -0
  207. package/dist/esm/br-textarea.entry.js.map +1 -0
  208. package/dist/esm/br-upload.entry.js +164 -0
  209. package/dist/esm/br-upload.entry.js.map +1 -0
  210. package/dist/esm/index-14721f44.js +1826 -0
  211. package/dist/esm/index-14721f44.js.map +1 -0
  212. package/dist/esm/index.js +6 -0
  213. package/dist/esm/index.js.map +1 -0
  214. package/dist/esm/inherited-attributes-553a7c36.js +105 -0
  215. package/dist/esm/inherited-attributes-553a7c36.js.map +1 -0
  216. package/dist/esm/loader.js +17 -0
  217. package/dist/esm/loader.js.map +1 -0
  218. package/dist/esm/polyfills/core-js.js +11 -0
  219. package/dist/esm/polyfills/dom.js +79 -0
  220. package/dist/esm/polyfills/es5-html-element.js +1 -0
  221. package/dist/esm/polyfills/index.js +34 -0
  222. package/dist/esm/polyfills/system.js +6 -0
  223. package/dist/esm/v4-c99c1585.js +72 -0
  224. package/dist/esm/v4-c99c1585.js.map +1 -0
  225. package/dist/esm/webcomponents.js +47 -0
  226. package/dist/esm/webcomponents.js.map +1 -0
  227. package/dist/esm-es5/app-globals-72548b13.js +6 -0
  228. package/dist/esm-es5/app-globals-72548b13.js.map +1 -0
  229. package/dist/esm-es5/br-avatar.entry.js +6 -0
  230. package/dist/esm-es5/br-avatar.entry.js.map +1 -0
  231. package/dist/esm-es5/br-button_2.entry.js +17 -0
  232. package/dist/esm-es5/br-button_2.entry.js.map +1 -0
  233. package/dist/esm-es5/br-checkbox_4.entry.js +6 -0
  234. package/dist/esm-es5/br-checkbox_4.entry.js.map +1 -0
  235. package/dist/esm-es5/br-dropdown.entry.js +6 -0
  236. package/dist/esm-es5/br-dropdown.entry.js.map +1 -0
  237. package/dist/esm-es5/br-item.entry.js +6 -0
  238. package/dist/esm-es5/br-item.entry.js.map +1 -0
  239. package/dist/esm-es5/br-loading.entry.js +6 -0
  240. package/dist/esm-es5/br-loading.entry.js.map +1 -0
  241. package/dist/esm-es5/br-message.entry.js +6 -0
  242. package/dist/esm-es5/br-message.entry.js.map +1 -0
  243. package/dist/esm-es5/br-select.entry.js +6 -0
  244. package/dist/esm-es5/br-select.entry.js.map +1 -0
  245. package/dist/esm-es5/br-switch.entry.js +6 -0
  246. package/dist/esm-es5/br-switch.entry.js.map +1 -0
  247. package/dist/esm-es5/br-tag.entry.js +6 -0
  248. package/dist/esm-es5/br-tag.entry.js.map +1 -0
  249. package/dist/esm-es5/br-textarea.entry.js +6 -0
  250. package/dist/esm-es5/br-textarea.entry.js.map +1 -0
  251. package/dist/esm-es5/br-upload.entry.js +6 -0
  252. package/dist/esm-es5/br-upload.entry.js.map +1 -0
  253. package/dist/esm-es5/index-14721f44.js +6 -0
  254. package/dist/esm-es5/index-14721f44.js.map +1 -0
  255. package/dist/esm-es5/index.js +5 -0
  256. package/dist/esm-es5/index.js.map +1 -0
  257. package/dist/esm-es5/inherited-attributes-553a7c36.js +6 -0
  258. package/dist/esm-es5/inherited-attributes-553a7c36.js.map +1 -0
  259. package/dist/esm-es5/loader.js +6 -0
  260. package/dist/esm-es5/loader.js.map +1 -0
  261. package/dist/esm-es5/v4-c99c1585.js +6 -0
  262. package/dist/esm-es5/v4-c99c1585.js.map +1 -0
  263. package/dist/esm-es5/webcomponents.js +6 -0
  264. package/dist/esm-es5/webcomponents.js.map +1 -0
  265. package/dist/index.cjs.js +1 -0
  266. package/dist/index.js +1 -0
  267. package/dist/playwright.config.js +39 -0
  268. package/dist/playwright.config.js.map +1 -0
  269. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/packages/webcomponents/.stencil/playwright.config.d.ts +5 -0
  270. package/dist/types/components/avatar/avatar.d.ts +60 -0
  271. package/dist/types/components/button/button.d.ts +64 -0
  272. package/dist/types/components/checkbox/checkbox.d.ts +78 -0
  273. package/dist/types/components/dropdown/dropdown.d.ts +64 -0
  274. package/dist/types/components/icon/icon.d.ts +58 -0
  275. package/dist/types/components/input/input.d.ts +151 -0
  276. package/dist/types/components/item/item.d.ts +96 -0
  277. package/dist/types/components/list/list.d.ts +34 -0
  278. package/dist/types/components/loading/loading.d.ts +34 -0
  279. package/dist/types/components/message/message.d.ts +62 -0
  280. package/dist/types/components/radio/radio.d.ts +75 -0
  281. package/dist/types/components/select/select.d.ts +98 -0
  282. package/dist/types/components/switch/switch.d.ts +78 -0
  283. package/dist/types/components/tag/tag.d.ts +73 -0
  284. package/dist/types/components/textarea/textarea.d.ts +66 -0
  285. package/dist/types/components/upload/upload.d.ts +160 -0
  286. package/dist/types/components.d.ts +1790 -0
  287. package/dist/types/index.d.ts +10 -0
  288. package/dist/types/stencil-public-runtime.d.ts +1680 -0
  289. package/dist/types/utils/inherited-attributes.d.ts +20 -0
  290. package/dist/types/utils/interfaces.d.ts +3 -0
  291. package/dist/types/utils/unique-id-generator.d.ts +1 -0
  292. package/dist/webcomponents/index.esm.js +6 -0
  293. package/dist/webcomponents/index.esm.js.map +1 -0
  294. package/dist/webcomponents/p-11e8c72f.entry.js +6 -0
  295. package/dist/webcomponents/p-11e8c72f.entry.js.map +1 -0
  296. package/dist/webcomponents/p-1accc2ab.system.entry.js +6 -0
  297. package/dist/webcomponents/p-1accc2ab.system.entry.js.map +1 -0
  298. package/dist/webcomponents/p-254a2b7c.js +6 -0
  299. package/dist/webcomponents/p-254a2b7c.js.map +1 -0
  300. package/dist/webcomponents/p-36e48582.system.entry.js +6 -0
  301. package/dist/webcomponents/p-36e48582.system.entry.js.map +1 -0
  302. package/dist/webcomponents/p-37440256.entry.js +6 -0
  303. package/dist/webcomponents/p-37440256.entry.js.map +1 -0
  304. package/dist/webcomponents/p-44554246.system.entry.js +6 -0
  305. package/dist/webcomponents/p-44554246.system.entry.js.map +1 -0
  306. package/dist/webcomponents/p-55f80a96.system.entry.js +6 -0
  307. package/dist/webcomponents/p-55f80a96.system.entry.js.map +1 -0
  308. package/dist/webcomponents/p-563bea26.entry.js +6 -0
  309. package/dist/webcomponents/p-563bea26.entry.js.map +1 -0
  310. package/dist/webcomponents/p-58d37ac2.entry.js +6 -0
  311. package/dist/webcomponents/p-58d37ac2.entry.js.map +1 -0
  312. package/dist/webcomponents/p-64f4ecea.system.entry.js +6 -0
  313. package/dist/webcomponents/p-64f4ecea.system.entry.js.map +1 -0
  314. package/dist/webcomponents/p-6e286eba.system.js +6 -0
  315. package/dist/webcomponents/p-6e286eba.system.js.map +1 -0
  316. package/dist/webcomponents/p-703a633a.system.js +6 -0
  317. package/dist/webcomponents/p-703a633a.system.js.map +1 -0
  318. package/dist/webcomponents/p-74a4eb38.js +6 -0
  319. package/dist/webcomponents/p-74a4eb38.js.map +1 -0
  320. package/dist/webcomponents/p-76326737.system.entry.js +6 -0
  321. package/dist/webcomponents/p-76326737.system.entry.js.map +1 -0
  322. package/dist/webcomponents/p-797376a2.system.entry.js +17 -0
  323. package/dist/webcomponents/p-797376a2.system.entry.js.map +1 -0
  324. package/dist/webcomponents/p-7f8c5016.entry.js +6 -0
  325. package/dist/webcomponents/p-7f8c5016.entry.js.map +1 -0
  326. package/dist/webcomponents/p-90e2e623.system.js +6 -0
  327. package/dist/webcomponents/p-90e2e623.system.js.map +1 -0
  328. package/dist/webcomponents/p-a44ad074.entry.js +6 -0
  329. package/dist/webcomponents/p-a44ad074.entry.js.map +1 -0
  330. package/dist/webcomponents/p-a71689a5.system.js +6 -0
  331. package/dist/webcomponents/p-a71689a5.system.js.map +1 -0
  332. package/dist/webcomponents/p-aaa17439.entry.js +6 -0
  333. package/dist/webcomponents/p-aaa17439.entry.js.map +1 -0
  334. package/dist/webcomponents/p-aaca726d.system.js +7 -0
  335. package/dist/webcomponents/p-aaca726d.system.js.map +1 -0
  336. package/dist/webcomponents/p-aec894fa.system.entry.js +6 -0
  337. package/dist/webcomponents/p-aec894fa.system.entry.js.map +1 -0
  338. package/dist/webcomponents/p-b16b1de5.entry.js +6 -0
  339. package/dist/webcomponents/p-b16b1de5.entry.js.map +1 -0
  340. package/dist/webcomponents/p-b6af61ad.entry.js +6 -0
  341. package/dist/webcomponents/p-b6af61ad.entry.js.map +1 -0
  342. package/dist/webcomponents/p-c696c385.entry.js +17 -0
  343. package/dist/webcomponents/p-c696c385.entry.js.map +1 -0
  344. package/dist/webcomponents/p-d1e0a8ff.entry.js +6 -0
  345. package/dist/webcomponents/p-d1e0a8ff.entry.js.map +1 -0
  346. package/dist/webcomponents/p-d31732da.system.entry.js +6 -0
  347. package/dist/webcomponents/p-d31732da.system.entry.js.map +1 -0
  348. package/dist/webcomponents/p-d5a8d30c.js +6 -0
  349. package/dist/webcomponents/p-d5a8d30c.js.map +1 -0
  350. package/dist/webcomponents/p-db4b272c.system.entry.js +6 -0
  351. package/dist/webcomponents/p-db4b272c.system.entry.js.map +1 -0
  352. package/dist/webcomponents/p-dbd35139.js +7 -0
  353. package/dist/webcomponents/p-dbd35139.js.map +1 -0
  354. package/dist/webcomponents/p-e751c991.system.js +6 -0
  355. package/dist/webcomponents/p-e751c991.system.js.map +1 -0
  356. package/dist/webcomponents/p-e76f7113.system.entry.js +6 -0
  357. package/dist/webcomponents/p-e76f7113.system.entry.js.map +1 -0
  358. package/dist/webcomponents/p-f05d11f7.entry.js +6 -0
  359. package/dist/webcomponents/p-f05d11f7.entry.js.map +1 -0
  360. package/dist/webcomponents/p-f5412db6.system.entry.js +6 -0
  361. package/dist/webcomponents/p-f5412db6.system.entry.js.map +1 -0
  362. package/dist/webcomponents/webcomponents.esm.js +6 -0
  363. package/dist/webcomponents/webcomponents.esm.js.map +1 -0
  364. package/dist/webcomponents/webcomponents.js +127 -0
  365. package/hydrate/index.d.ts +242 -0
  366. package/hydrate/index.js +22414 -0
  367. package/hydrate/index.mjs +22406 -0
  368. package/hydrate/package.json +12 -0
  369. package/loader/cdn.js +6 -0
  370. package/loader/index.cjs.js +6 -0
  371. package/loader/index.d.ts +24 -0
  372. package/loader/index.es2017.js +6 -0
  373. package/loader/index.js +7 -0
  374. package/loader/package.json +11 -0
  375. package/package.json +54 -89
  376. package/vscode-data.json +960 -0
  377. package/dist/webcomponents.common.js +0 -23958
  378. package/dist/webcomponents.common.js.map +0 -1
  379. package/dist/webcomponents.umd.js +0 -23969
  380. package/dist/webcomponents.umd.js.map +0 -1
  381. package/dist/webcomponents.umd.min.js +0 -8
  382. package/dist/webcomponents.umd.min.js.map +0 -1
@@ -0,0 +1,467 @@
1
+ *,
2
+ *::before,
3
+ *::after {
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ html {
8
+ line-height: var(--font-line-height-medium);
9
+ -webkit-text-size-adjust: 100%;
10
+ -moz-text-size-adjust: 100%;
11
+ text-size-adjust: 100%;
12
+ }
13
+
14
+ body {
15
+ margin: 0;
16
+ }
17
+
18
+ a {
19
+ background-color: transparent;
20
+ }
21
+
22
+
23
+ strong {
24
+ font-weight: bolder;
25
+ }
26
+
27
+ small {
28
+ font-size: 80%;
29
+ }
30
+
31
+ img {
32
+ border-style: none;
33
+ }
34
+
35
+ button,
36
+ input,
37
+ select,
38
+ textarea {
39
+ font-family: inherit;
40
+ font-size: 100%;
41
+ line-height: var(--font-line-height-medium);
42
+ margin: 0;
43
+ }
44
+
45
+ button,
46
+ input {
47
+ overflow: visible;
48
+ }
49
+
50
+ button,
51
+ select {
52
+ text-transform: none;
53
+ }
54
+
55
+ button,
56
+ [type=button],
57
+ [type=reset],
58
+ [type=submit] {
59
+ -webkit-appearance: button;
60
+ -moz-appearance: button;
61
+ appearance: button;
62
+ }
63
+
64
+ button::-moz-focus-inner,
65
+ [type=button]::-moz-focus-inner,
66
+ [type=reset]::-moz-focus-inner,
67
+ [type=submit]::-moz-focus-inner {
68
+ border-style: none;
69
+ padding: 0;
70
+ }
71
+
72
+ button:-moz-focusring,
73
+ [type=button]:-moz-focusring,
74
+ [type=reset]:-moz-focusring,
75
+ [type=submit]:-moz-focusring {
76
+ outline: 1px dotted ButtonText;
77
+ }
78
+
79
+ progress {
80
+ vertical-align: baseline;
81
+ }
82
+
83
+ textarea {
84
+ overflow: auto;
85
+ }
86
+
87
+ [type=checkbox],
88
+ [type=radio] {
89
+ box-sizing: border-box;
90
+ padding: 0;
91
+ }
92
+
93
+ [type=number]::-webkit-inner-spin-button,
94
+ [type=number]::-webkit-outer-spin-button {
95
+ height: auto;
96
+ }
97
+
98
+ [type=search] {
99
+ -webkit-appearance: textfield;
100
+ -moz-appearance: textfield;
101
+ appearance: textfield;
102
+ outline-offset: -2px;
103
+ }
104
+
105
+ [type=search]::-webkit-search-decoration {
106
+ -webkit-appearance: none;
107
+ appearance: none;
108
+ }
109
+
110
+ ::-webkit-file-upload-button {
111
+ -webkit-appearance: button;
112
+ appearance: button;
113
+ font: inherit;
114
+ }
115
+
116
+ [hidden] {
117
+ display: none;
118
+ }
119
+
120
+ .d-flex {
121
+ display: flex !important;
122
+ }
123
+
124
+ .align-items-center {
125
+ align-items: center !important;
126
+ }
127
+ .col,
128
+ [class*=col-] {
129
+ padding-left: calc(var(--grid-gutter) * 0.5);
130
+ padding-right: calc(var(--grid-gutter) * 0.5);
131
+ width: 100%;
132
+ }
133
+
134
+ .col {
135
+ flex: 1 0 0%;
136
+ min-width: 8.3333333333%;
137
+ }
138
+
139
+ .col-auto {
140
+ flex: 0 0 auto;
141
+ width: auto;
142
+ }
143
+
144
+ .container {
145
+ --grid-margin: var(--grid-portrait-margin);
146
+ --grid-maxwidth: var(--grid-portrait-maxwidth);
147
+ margin-left: auto;
148
+ margin-right: auto;
149
+ max-width: var(--grid-maxwidth);
150
+ padding-left: var(--grid-margin);
151
+ padding-right: var(--grid-margin);
152
+ width: 100%;
153
+ }
154
+
155
+ .row {
156
+ --grid-gutter: var(--grid-portrait-gutter);
157
+ display: flex;
158
+ flex-wrap: wrap;
159
+ margin-left: calc(var(--grid-gutter) * -0.5);
160
+ margin-right: calc(var(--grid-gutter) * -0.5);
161
+ }
162
+
163
+ @media (min-width: 576px) {
164
+ .container {
165
+ --grid-margin: var(--grid-tablet-margin);
166
+ }
167
+ .row {
168
+ --grid-gutter: var(--grid-tablet-gutter);
169
+ }
170
+ .container {
171
+ --grid-maxwidth: calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin));
172
+ }
173
+ }
174
+ @media (min-width: 992px) {
175
+ .container {
176
+ --grid-margin: var(--grid-tablet-margin);
177
+ }
178
+ .row {
179
+ --grid-gutter: var(--grid-tablet-gutter);
180
+ }
181
+ .container {
182
+ --grid-maxwidth: calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin));
183
+ }
184
+ }
185
+ @media (min-width: 1280px) {
186
+ .container {
187
+ --grid-margin: var(--grid-desktop-margin);
188
+ }
189
+ .row {
190
+ --grid-gutter: var(--grid-desktop-gutter);
191
+ }
192
+ .container {
193
+ --grid-maxwidth: calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin));
194
+ }
195
+ }
196
+ @media (min-width: 1600px) {
197
+ .container {
198
+ --grid-margin: var(--grid-tv-margin);
199
+ }
200
+ .row {
201
+ --grid-gutter: var(--grid-tv-gutter);
202
+ }
203
+ .container {
204
+ --grid-maxwidth: calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin));
205
+ }
206
+ }
207
+
208
+ .mt-1 {
209
+ margin-top: var(--spacing-scale-half) !important;
210
+ }
211
+
212
+ .mr-1 {
213
+ margin-right: var(--spacing-scale-half) !important;
214
+ }
215
+
216
+ .mr-2 {
217
+ margin-right: var(--spacing-scale-base) !important;
218
+ }
219
+
220
+ .mr-n2 {
221
+ margin-right: calc(var(--spacing-scale-base) * -1) !important;
222
+ }
223
+
224
+ .mb-3 {
225
+ margin-bottom: var(--spacing-scale-2x) !important;
226
+ }
227
+
228
+ .mr-auto {
229
+ margin-right: auto !important;
230
+ }
231
+
232
+ .pt-half {
233
+ padding-top: var(--spacing-scale-half) !important;
234
+ }
235
+
236
+ .py-3 {
237
+ padding-bottom: var(--spacing-scale-2x) !important;
238
+ padding-top: var(--spacing-scale-2x) !important;
239
+ }
240
+
241
+ .py-4 {
242
+ padding-bottom: var(--spacing-scale-3x) !important;
243
+ padding-top: var(--spacing-scale-3x) !important;
244
+ }
245
+ body {
246
+ --bg-color: var(--background);
247
+ --bg-color-rgb: var(--background-rgb);
248
+ --bg-color-hsl: var(--background-hsl);
249
+ --font-size: var(--font-size-scale-base);
250
+ --font-weight: var(--font-weight-regular);
251
+ --link-color: var(--interactive);
252
+ --link-color-rgb: var(--interactive-rgb);
253
+ --link-color-hsl: var(--interactive-hsl);
254
+ --line-height: var(--font-line-height-medium);
255
+ --text-color: var(--color);
256
+ --text-color-rgb: var(--color-rgb);
257
+ --text-color-hsl: var(--color-hsl);
258
+ background: var(--bg-color);
259
+ color: var(--text-color);
260
+ font-family: var(--font-family-base);
261
+ font-size: var(--font-size);
262
+ font-weight: var(--font-weight);
263
+ line-height: var(--line-height);
264
+ }
265
+
266
+ p {
267
+ color: var(--color);
268
+ font-size: var(--font-size-scale-base);
269
+ font-weight: var(--font-weight-regular);
270
+ line-height: var(--font-line-height-medium);
271
+ margin-bottom: var(--spacing-scale-2x);
272
+ margin-top: 0;
273
+ }
274
+ p a {
275
+ text-decoration: underline;
276
+ }
277
+
278
+ @media (min-width: 576px) {
279
+ p {
280
+ font-size: var(--font-size-scale-up-01);
281
+ }
282
+ }
283
+ a {
284
+ --focus-offset: var(--spacing-scale-half);
285
+ color: var(--interactive);
286
+ text-decoration: none;
287
+ }
288
+ a:focus {
289
+ outline: none;
290
+ }
291
+ a:focus-visible {
292
+ outline-color: var(--focus);
293
+ outline-offset: var(--focus-offset);
294
+ outline-style: var(--focus-style);
295
+ outline-width: var(--focus-width);
296
+ }
297
+ a:not(:disabled):hover {
298
+ background-image: linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)));
299
+ }
300
+ a:not(:disabled):active {
301
+ background-image: linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)));
302
+ }
303
+
304
+ button {
305
+ cursor: pointer;
306
+ }
307
+
308
+ img {
309
+ max-width: 100%;
310
+ vertical-align: middle;
311
+ }
312
+ ul {
313
+ margin-bottom: var(--spacing-scale-2x);
314
+ margin-top: 0;
315
+ padding: 0 0 0 var(--spacing-scale-5x);
316
+ }
317
+
318
+ label,
319
+ .label {
320
+ color: var(--color);
321
+ font-size: var(--font-size-scale-base);
322
+ font-weight: var(--font-weight-semi-bold);
323
+ line-height: var(--font-line-height-medium);
324
+ margin-bottom: var(--spacing-scale-half);
325
+ }
326
+
327
+ ::-moz-placeholder {
328
+ color: var(--color-light);
329
+ font-size: var(--font-size-scale-base);
330
+ font-style: italic;
331
+ font-weight: var(--font-weight-regular);
332
+ line-height: var(--font-line-height-medium);
333
+ margin-bottom: var(--spacing-scale-half);
334
+ margin-top: var(--spacing-scale-half);
335
+ opacity: 1;
336
+ }
337
+
338
+ ::placeholder,
339
+ .placeholder {
340
+ color: var(--color-light);
341
+ font-size: var(--font-size-scale-base);
342
+ font-style: italic;
343
+ font-weight: var(--font-weight-regular);
344
+ line-height: var(--font-line-height-medium);
345
+ margin-bottom: var(--spacing-scale-half);
346
+ margin-top: var(--spacing-scale-half);
347
+ opacity: 1;
348
+ }
349
+
350
+ input,
351
+ textarea,
352
+ .input {
353
+ color: var(--color-light);
354
+ font-size: var(--font-size-scale-up-01);
355
+ font-weight: var(--font-weight-medium);
356
+ line-height: var(--font-line-height-low);
357
+ margin-bottom: var(--spacing-scale-half);
358
+ }
359
+
360
+ .text-pure-0 {
361
+ color: var(--pure-0) !important;
362
+ }
363
+
364
+ .text-primary-default {
365
+ color: var(--color-primary-default) !important;
366
+ }
367
+
368
+ .bg-support-01 {
369
+ --color: var(--color-dark);
370
+ --color-rgb: var(--color-dark-rgb);
371
+ --text-color: var(--color-dark);
372
+ --interactive: var(--interactive-dark);
373
+ --interactive-rgb: var(--interactive-dark-rgb);
374
+ --visited: var(--visited-dark);
375
+ --hover: var(--hover-dark);
376
+ --pressed: var(--pressed-dark);
377
+ --focus-color: var(--focus-color-dark);
378
+ --focus: var(--focus-color-dark);
379
+ background: var(--color-support-01) !important;
380
+ }
381
+
382
+ .text-nowrap {
383
+ white-space: nowrap !important;
384
+ }
385
+
386
+ .text-base {
387
+ font-size: var(--font-size-scale-base) !important;
388
+ }
389
+
390
+ .highlight {
391
+ background: var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));
392
+ color: var(--status-highlight-text);
393
+ padding: 0 var(--spacing-scale-half);
394
+ }
395
+
396
+ [disabled],
397
+ .disabled {
398
+ cursor: not-allowed;
399
+ opacity: var(--disabled);
400
+ }
401
+ [disabled] *,
402
+ .disabled * {
403
+ pointer-events: none;
404
+ }
405
+
406
+ [data-toggle=dropdown] + * {
407
+ position: absolute;
408
+ }
409
+
410
+ .dropdown {
411
+ position: relative;
412
+ }
413
+ .dropdown [data-toggle=dropdown] + * {
414
+ box-shadow: var(--surface-shadow-sm);
415
+ left: 0;
416
+ position: absolute;
417
+ top: 100%;
418
+ }
419
+ .dropdown .br-item {
420
+ --color: var(--color-light);
421
+ --color-rgb: var(--color-light-rgb);
422
+ --text-color: var(--color-light);
423
+ --interactive: var(--interactive-light);
424
+ --interactive-rgb: var(--color-rgb);
425
+ --visited: var(--visited-light);
426
+ --hover: var(--hover-light);
427
+ --pressed: var(--pressed-light);
428
+ --focus-color: var(--focus-color-light);
429
+ --focus: var(--focus-color-light);
430
+ --item-padding-y: var(--spacing-scale-2x);
431
+ background-color: var(--background-light);
432
+ color: var(--color);
433
+ }
434
+ .dropdown .br-item:not(:last-child) {
435
+ border-bottom: 1px solid var(--border-color);
436
+ }
437
+ .dropdown .br-item.selected {
438
+ --color: var(--color-dark);
439
+ --color-rgb: var(--color-dark-rgb);
440
+ --text-color: var(--color-dark);
441
+ --interactive: var(--interactive-dark);
442
+ --interactive-rgb: var(--interactive-dark-rgb);
443
+ --visited: var(--visited-dark);
444
+ --hover: var(--hover-dark);
445
+ --pressed: var(--pressed-dark);
446
+ --focus-color: var(--focus-color-dark);
447
+ --focus: var(--focus-color-dark);
448
+ }
449
+
450
+ :host {
451
+ display: block;
452
+ position: relative;
453
+ }
454
+ :host #trigger {
455
+ display: inline-block;
456
+ cursor: pointer;
457
+ }
458
+ :host #target {
459
+ display: none;
460
+ position: absolute;
461
+ top: 100%;
462
+ left: 0;
463
+ }
464
+
465
+ :host([is-open]) #target {
466
+ display: block;
467
+ }
@@ -0,0 +1,185 @@
1
+ /*!
2
+ * Construído com @govbr-ds/webcomponents
3
+ * Padrão Digital de Governo.
4
+ */
5
+ import { Host, h } from "@stencil/core";
6
+ import { inheritAriaAttributes } from "../../utils/inherited-attributes";
7
+ /**
8
+ * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/dropdown?tab=designer).
9
+ *
10
+ * @slot trigger - Slot que recebe o elemento acionador
11
+ * @slot target - Slot que recebe o elemento alvo
12
+ */
13
+ export class Dropdown {
14
+ constructor() {
15
+ /**
16
+ * Alterna o estado do dropdown entre aberto e fechado.
17
+ */
18
+ this.toggle = (event) => {
19
+ event.stopPropagation();
20
+ this.isOpen = !this.isOpen;
21
+ };
22
+ this.inheritedAttributes = {};
23
+ this.isOpen = false;
24
+ }
25
+ /**
26
+ * Método chamado sempre que a propriedade `isOpen` muda.
27
+ * Emite um evento com o novo estado do dropdown.
28
+ */
29
+ isOpenChanged() {
30
+ this.brDropdownChange.emit({ 'is-opened': this.isOpen });
31
+ }
32
+ connectedCallback() {
33
+ document.addEventListener('click', this.onClickOutside.bind(this));
34
+ }
35
+ componentWillLoad() {
36
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
37
+ }
38
+ disconnectedCallback() {
39
+ document.removeEventListener('click', this.onClickOutside.bind(this));
40
+ }
41
+ getCssClassMap() {
42
+ return {
43
+ 'br-dropdown': true,
44
+ };
45
+ }
46
+ /**
47
+ * Método que lida com cliques fora do dropdown.
48
+ *
49
+ * @param {MouseEvent} event - O evento de clique que ocorreu.
50
+ */
51
+ onClickOutside(event) {
52
+ const path = event.composedPath();
53
+ const dropdownElement = this.el.shadowRoot.querySelector('#target');
54
+ if (dropdownElement && !path.includes(dropdownElement)) {
55
+ this.hide();
56
+ }
57
+ }
58
+ /**
59
+ * Abre o dropdown.
60
+ * Define a propriedade `isOpen` como verdadeira e retorna o novo estado.
61
+ * Este método é marcado com @Method() para que possa ser chamado externamente.
62
+ */
63
+ async open() {
64
+ this.isOpen = true;
65
+ return { isOpen: this.isOpen }; // Retorna o novo estado
66
+ }
67
+ /**
68
+ * Esconde o dropdown.
69
+ * Define a propriedade `isOpen` como falsa e retorna o novo estado.
70
+ * Este método é marcado com @Method() para que possa ser chamado externamente.
71
+ */
72
+ async hide() {
73
+ this.isOpen = false;
74
+ return { isOpen: this.isOpen }; // Retorna o novo estado
75
+ }
76
+ render() {
77
+ 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" })))));
78
+ }
79
+ static get is() { return "br-dropdown"; }
80
+ static get encapsulation() { return "shadow"; }
81
+ static get formAssociated() { return true; }
82
+ static get originalStyleUrls() {
83
+ return {
84
+ "$": ["dropdown.scss"]
85
+ };
86
+ }
87
+ static get styleUrls() {
88
+ return {
89
+ "$": ["dropdown.css"]
90
+ };
91
+ }
92
+ static get properties() {
93
+ return {
94
+ "isOpen": {
95
+ "type": "boolean",
96
+ "mutable": true,
97
+ "complexType": {
98
+ "original": "boolean",
99
+ "resolved": "boolean",
100
+ "references": {}
101
+ },
102
+ "required": false,
103
+ "optional": false,
104
+ "docs": {
105
+ "tags": [],
106
+ "text": "Indica se o dropdown est\u00E1 aberto ou fechado.\nEsta propriedade \u00E9 refletida no DOM e pode ser alterada externamente.\nO valor padr\u00E3o \u00E9 falso (fechado)."
107
+ },
108
+ "attribute": "is-open",
109
+ "reflect": true,
110
+ "defaultValue": "false"
111
+ }
112
+ };
113
+ }
114
+ static get events() {
115
+ return [{
116
+ "method": "brDropdownChange",
117
+ "name": "brDropdownChange",
118
+ "bubbles": true,
119
+ "cancelable": true,
120
+ "composed": true,
121
+ "docs": {
122
+ "tags": [],
123
+ "text": "Evento emitido quando o estado do dropdown muda."
124
+ },
125
+ "complexType": {
126
+ "original": "{ 'is-opened': boolean }",
127
+ "resolved": "{ 'is-opened': boolean; }",
128
+ "references": {}
129
+ }
130
+ }];
131
+ }
132
+ static get methods() {
133
+ return {
134
+ "open": {
135
+ "complexType": {
136
+ "signature": "() => Promise<{ isOpen: boolean; }>",
137
+ "parameters": [],
138
+ "references": {
139
+ "Promise": {
140
+ "location": "global",
141
+ "id": "global::Promise"
142
+ }
143
+ },
144
+ "return": "Promise<{ isOpen: boolean; }>"
145
+ },
146
+ "docs": {
147
+ "text": "Abre o dropdown.\nDefine a propriedade `isOpen` como verdadeira e retorna o novo estado.\nEste m\u00E9todo \u00E9 marcado com",
148
+ "tags": [{
149
+ "name": "Method",
150
+ "text": "() para que possa ser chamado externamente."
151
+ }]
152
+ }
153
+ },
154
+ "hide": {
155
+ "complexType": {
156
+ "signature": "() => Promise<{ isOpen: boolean; }>",
157
+ "parameters": [],
158
+ "references": {
159
+ "Promise": {
160
+ "location": "global",
161
+ "id": "global::Promise"
162
+ }
163
+ },
164
+ "return": "Promise<{ isOpen: boolean; }>"
165
+ },
166
+ "docs": {
167
+ "text": "Esconde o dropdown.\nDefine a propriedade `isOpen` como falsa e retorna o novo estado.\nEste m\u00E9todo \u00E9 marcado com",
168
+ "tags": [{
169
+ "name": "Method",
170
+ "text": "() para que possa ser chamado externamente."
171
+ }]
172
+ }
173
+ }
174
+ };
175
+ }
176
+ static get elementRef() { return "el"; }
177
+ static get watchers() {
178
+ return [{
179
+ "propName": "isOpen",
180
+ "methodName": "isOpenChanged"
181
+ }];
182
+ }
183
+ static get attachInternalsMemberName() { return "elementInternals"; }
184
+ }
185
+ //# sourceMappingURL=dropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../../../src/components/dropdown/dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,eAAe,CAAA;AACtH,OAAO,EAAc,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAGpF;;;;;GAKG;AAOH,MAAM,OAAO,QAAQ;;QAgDnB;;WAEG;QACc,WAAM,GAAG,CAAC,KAAY,EAAE,EAAE;YACzC,KAAK,CAAC,eAAe,EAAE,CAAA;YACvB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAA;QAC5B,CAAC,CAAA;QAsCO,wBAAmB,GAAe,EAAE,CAAA;sBA9Ec,KAAK;;IAE/D;;;OAGG;IAEH,aAAa;QACX,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,iBAAiB;QACf,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACpE,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,mBAAmB,GAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,oBAAoB;QAClB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACvE,CAAC;IAOO,cAAc;QACpB,OAAO;YACL,aAAa,EAAE,IAAI;SACpB,CAAA;IACH,CAAC;IAUD;;;;OAIG;IACK,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,CAAC;YACvD,IAAI,CAAC,IAAI,EAAE,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;OAIG;IAEH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA,CAAC,wBAAwB;IACzD,CAAC;IAED;;;;OAIG;IAEH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA,CAAC,wBAAwB;IACzD,CAAC;IAID,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,gEAAU,IAAI,CAAC,MAAM;YACxB,0EAAK,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAM,IAAI,CAAC,mBAAmB;gBAC7D,4DACE,EAAE,EAAC,SAAS,EACZ,OAAO,EAAE,IAAI,CAAC,MAAM,mBACN,QAAQ,mBACR,MAAM,mBACL,IAAI,CAAC,MAAM;oBAE1B,6DAAM,IAAI,EAAC,SAAS,GAAQ,CACxB;gBACN,4DAAK,EAAE,EAAC,QAAQ,iBAAc,CAAC,IAAI,CAAC,MAAM;oBACxC,6DAAM,IAAI,EAAC,QAAQ,GAAQ,CACvB,CACF,CACD,CACR,CAAA;IACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}