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

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 (386) 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.cjs.entry.js +76 -0
  10. package/dist/cjs/br-checkbox.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-input.cjs.entry.js +150 -0
  14. package/dist/cjs/br-input.cjs.entry.js.map +1 -0
  15. package/dist/cjs/br-item.cjs.entry.js +146 -0
  16. package/dist/cjs/br-item.cjs.entry.js.map +1 -0
  17. package/dist/cjs/br-list.cjs.entry.js +82 -0
  18. package/dist/cjs/br-list.cjs.entry.js.map +1 -0
  19. package/dist/cjs/br-loading.cjs.entry.js +43 -0
  20. package/dist/cjs/br-loading.cjs.entry.js.map +1 -0
  21. package/dist/cjs/br-message.cjs.entry.js +68 -0
  22. package/dist/cjs/br-message.cjs.entry.js.map +1 -0
  23. package/dist/cjs/br-radio.cjs.entry.js +79 -0
  24. package/dist/cjs/br-radio.cjs.entry.js.map +1 -0
  25. package/dist/cjs/br-switch.cjs.entry.js +81 -0
  26. package/dist/cjs/br-switch.cjs.entry.js.map +1 -0
  27. package/dist/cjs/br-tag.cjs.entry.js +88 -0
  28. package/dist/cjs/br-tag.cjs.entry.js.map +1 -0
  29. package/dist/cjs/br-textarea.cjs.entry.js +102 -0
  30. package/dist/cjs/br-textarea.cjs.entry.js.map +1 -0
  31. package/dist/cjs/br-upload.cjs.entry.js +168 -0
  32. package/dist/cjs/br-upload.cjs.entry.js.map +1 -0
  33. package/dist/cjs/index-81c11ce2.js +1864 -0
  34. package/dist/cjs/index-81c11ce2.js.map +1 -0
  35. package/dist/cjs/index.cjs.js +8 -0
  36. package/dist/cjs/index.cjs.js.map +1 -0
  37. package/dist/cjs/inherited-attributes-16f7d388.js +107 -0
  38. package/dist/cjs/inherited-attributes-16f7d388.js.map +1 -0
  39. package/dist/cjs/loader.cjs.js +21 -0
  40. package/dist/cjs/loader.cjs.js.map +1 -0
  41. package/dist/cjs/v4-2a0fe526.js +74 -0
  42. package/dist/cjs/v4-2a0fe526.js.map +1 -0
  43. package/dist/cjs/webcomponents.cjs.js +52 -0
  44. package/dist/cjs/webcomponents.cjs.js.map +1 -0
  45. package/dist/collection/collection-manifest.json +26 -0
  46. package/dist/collection/components/avatar/avatar.css +538 -0
  47. package/dist/collection/components/avatar/avatar.js +222 -0
  48. package/dist/collection/components/avatar/avatar.js.map +1 -0
  49. package/dist/collection/components/button/button.css +800 -0
  50. package/dist/collection/components/button/button.js +236 -0
  51. package/dist/collection/components/button/button.js.map +1 -0
  52. package/dist/collection/components/checkbox/checkbox.css +595 -0
  53. package/dist/collection/components/checkbox/checkbox.js +279 -0
  54. package/dist/collection/components/checkbox/checkbox.js.map +1 -0
  55. package/dist/collection/components/dropdown/dropdown.css +465 -0
  56. package/dist/collection/components/dropdown/dropdown.js +185 -0
  57. package/dist/collection/components/dropdown/dropdown.js.map +1 -0
  58. package/dist/collection/components/icon/icon.css +450 -0
  59. package/dist/collection/components/icon/icon.js +176 -0
  60. package/dist/collection/components/icon/icon.js.map +1 -0
  61. package/dist/collection/components/input/input.css +671 -0
  62. package/dist/collection/components/input/input.js +580 -0
  63. package/dist/collection/components/input/input.js.map +1 -0
  64. package/dist/collection/components/item/item.css +660 -0
  65. package/dist/collection/components/item/item.js +376 -0
  66. package/dist/collection/components/item/item.js.map +1 -0
  67. package/dist/collection/components/list/list.css +562 -0
  68. package/dist/collection/components/list/list.js +138 -0
  69. package/dist/collection/components/list/list.js.map +1 -0
  70. package/dist/collection/components/loading/loading.css +651 -0
  71. package/dist/collection/components/loading/loading.js +119 -0
  72. package/dist/collection/components/loading/loading.js.map +1 -0
  73. package/dist/collection/components/message/message.css +598 -0
  74. package/dist/collection/components/message/message.js +211 -0
  75. package/dist/collection/components/message/message.js.map +1 -0
  76. package/dist/collection/components/radio/radio.css +550 -0
  77. package/dist/collection/components/radio/radio.js +247 -0
  78. package/dist/collection/components/radio/radio.js.map +1 -0
  79. package/dist/collection/components/switch/switch.css +621 -0
  80. package/dist/collection/components/switch/switch.js +320 -0
  81. package/dist/collection/components/switch/switch.js.map +1 -0
  82. package/dist/collection/components/tag/tag.css +643 -0
  83. package/dist/collection/components/tag/tag.js +256 -0
  84. package/dist/collection/components/tag/tag.js.map +1 -0
  85. package/dist/collection/components/textarea/textarea.css +516 -0
  86. package/dist/collection/components/textarea/textarea.js +298 -0
  87. package/dist/collection/components/textarea/textarea.js.map +1 -0
  88. package/dist/collection/components/upload/upload.css +560 -0
  89. package/dist/collection/components/upload/upload.js +469 -0
  90. package/dist/collection/components/upload/upload.js.map +1 -0
  91. package/dist/collection/index.js +2 -0
  92. package/dist/collection/index.js.map +1 -0
  93. package/dist/collection/pages/components/button/index.js +18 -0
  94. package/dist/collection/pages/components/checkbox/index.js +18 -0
  95. package/dist/collection/pages/components/dropdown/index.js +18 -0
  96. package/dist/collection/pages/components/icon/index.js +18 -0
  97. package/dist/collection/pages/components/input/index.js +27 -0
  98. package/dist/collection/pages/components/item/index.js +18 -0
  99. package/dist/collection/pages/components/list/index.js +19 -0
  100. package/dist/collection/pages/components/message/index.js +18 -0
  101. package/dist/collection/pages/components/radio/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 +221 -0
  107. package/dist/collection/pages/scripts/pageLoader.js +180 -0
  108. package/dist/collection/scripts/menu.js +146 -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-switch.d.ts +11 -0
  149. package/dist/components/br-switch.js +6 -0
  150. package/dist/components/br-switch.js.map +1 -0
  151. package/dist/components/br-tag.d.ts +11 -0
  152. package/dist/components/br-tag.js +6 -0
  153. package/dist/components/br-tag.js.map +1 -0
  154. package/dist/components/br-textarea.d.ts +11 -0
  155. package/dist/components/br-textarea.js +6 -0
  156. package/dist/components/br-textarea.js.map +1 -0
  157. package/dist/components/br-upload.d.ts +11 -0
  158. package/dist/components/br-upload.js +6 -0
  159. package/dist/components/br-upload.js.map +1 -0
  160. package/dist/components/index.d.ts +33 -0
  161. package/dist/components/index.js +6 -0
  162. package/dist/components/index.js.map +1 -0
  163. package/dist/components/p-2d8e59f6.js +7 -0
  164. package/dist/components/p-2d8e59f6.js.map +1 -0
  165. package/dist/components/p-64831033.js +17 -0
  166. package/dist/components/p-64831033.js.map +1 -0
  167. package/dist/components/p-74a4eb38.js +6 -0
  168. package/dist/components/p-74a4eb38.js.map +1 -0
  169. package/dist/components/p-d5a8d30c.js +6 -0
  170. package/dist/components/p-d5a8d30c.js.map +1 -0
  171. package/dist/components/p-e4af8eac.js +6 -0
  172. package/dist/components/p-e4af8eac.js.map +1 -0
  173. package/dist/esm/app-globals-72548b13.js +9 -0
  174. package/dist/esm/app-globals-72548b13.js.map +1 -0
  175. package/dist/esm/br-avatar.entry.js +73 -0
  176. package/dist/esm/br-avatar.entry.js.map +1 -0
  177. package/dist/esm/br-button_2.entry.js +2486 -0
  178. package/dist/esm/br-button_2.entry.js.map +1 -0
  179. package/dist/esm/br-checkbox.entry.js +72 -0
  180. package/dist/esm/br-checkbox.entry.js.map +1 -0
  181. package/dist/esm/br-dropdown.entry.js +96 -0
  182. package/dist/esm/br-dropdown.entry.js.map +1 -0
  183. package/dist/esm/br-input.entry.js +146 -0
  184. package/dist/esm/br-input.entry.js.map +1 -0
  185. package/dist/esm/br-item.entry.js +142 -0
  186. package/dist/esm/br-item.entry.js.map +1 -0
  187. package/dist/esm/br-list.entry.js +78 -0
  188. package/dist/esm/br-list.entry.js.map +1 -0
  189. package/dist/esm/br-loading.entry.js +39 -0
  190. package/dist/esm/br-loading.entry.js.map +1 -0
  191. package/dist/esm/br-message.entry.js +64 -0
  192. package/dist/esm/br-message.entry.js.map +1 -0
  193. package/dist/esm/br-radio.entry.js +75 -0
  194. package/dist/esm/br-radio.entry.js.map +1 -0
  195. package/dist/esm/br-switch.entry.js +77 -0
  196. package/dist/esm/br-switch.entry.js.map +1 -0
  197. package/dist/esm/br-tag.entry.js +84 -0
  198. package/dist/esm/br-tag.entry.js.map +1 -0
  199. package/dist/esm/br-textarea.entry.js +98 -0
  200. package/dist/esm/br-textarea.entry.js.map +1 -0
  201. package/dist/esm/br-upload.entry.js +164 -0
  202. package/dist/esm/br-upload.entry.js.map +1 -0
  203. package/dist/esm/index-aab4a630.js +1834 -0
  204. package/dist/esm/index-aab4a630.js.map +1 -0
  205. package/dist/esm/index.js +6 -0
  206. package/dist/esm/index.js.map +1 -0
  207. package/dist/esm/inherited-attributes-553a7c36.js +105 -0
  208. package/dist/esm/inherited-attributes-553a7c36.js.map +1 -0
  209. package/dist/esm/loader.js +17 -0
  210. package/dist/esm/loader.js.map +1 -0
  211. package/dist/esm/polyfills/core-js.js +11 -0
  212. package/dist/esm/polyfills/dom.js +79 -0
  213. package/dist/esm/polyfills/es5-html-element.js +1 -0
  214. package/dist/esm/polyfills/index.js +34 -0
  215. package/dist/esm/polyfills/system.js +6 -0
  216. package/dist/esm/v4-c99c1585.js +72 -0
  217. package/dist/esm/v4-c99c1585.js.map +1 -0
  218. package/dist/esm/webcomponents.js +47 -0
  219. package/dist/esm/webcomponents.js.map +1 -0
  220. package/dist/esm-es5/app-globals-72548b13.js +6 -0
  221. package/dist/esm-es5/app-globals-72548b13.js.map +1 -0
  222. package/dist/esm-es5/br-avatar.entry.js +6 -0
  223. package/dist/esm-es5/br-avatar.entry.js.map +1 -0
  224. package/dist/esm-es5/br-button_2.entry.js +17 -0
  225. package/dist/esm-es5/br-button_2.entry.js.map +1 -0
  226. package/dist/esm-es5/br-checkbox.entry.js +6 -0
  227. package/dist/esm-es5/br-checkbox.entry.js.map +1 -0
  228. package/dist/esm-es5/br-dropdown.entry.js +6 -0
  229. package/dist/esm-es5/br-dropdown.entry.js.map +1 -0
  230. package/dist/esm-es5/br-input.entry.js +6 -0
  231. package/dist/esm-es5/br-input.entry.js.map +1 -0
  232. package/dist/esm-es5/br-item.entry.js +6 -0
  233. package/dist/esm-es5/br-item.entry.js.map +1 -0
  234. package/dist/esm-es5/br-list.entry.js +6 -0
  235. package/dist/esm-es5/br-list.entry.js.map +1 -0
  236. package/dist/esm-es5/br-loading.entry.js +6 -0
  237. package/dist/esm-es5/br-loading.entry.js.map +1 -0
  238. package/dist/esm-es5/br-message.entry.js +6 -0
  239. package/dist/esm-es5/br-message.entry.js.map +1 -0
  240. package/dist/esm-es5/br-radio.entry.js +6 -0
  241. package/dist/esm-es5/br-radio.entry.js.map +1 -0
  242. package/dist/esm-es5/br-switch.entry.js +6 -0
  243. package/dist/esm-es5/br-switch.entry.js.map +1 -0
  244. package/dist/esm-es5/br-tag.entry.js +6 -0
  245. package/dist/esm-es5/br-tag.entry.js.map +1 -0
  246. package/dist/esm-es5/br-textarea.entry.js +6 -0
  247. package/dist/esm-es5/br-textarea.entry.js.map +1 -0
  248. package/dist/esm-es5/br-upload.entry.js +6 -0
  249. package/dist/esm-es5/br-upload.entry.js.map +1 -0
  250. package/dist/esm-es5/index-aab4a630.js +6 -0
  251. package/dist/esm-es5/index-aab4a630.js.map +1 -0
  252. package/dist/esm-es5/index.js +5 -0
  253. package/dist/esm-es5/index.js.map +1 -0
  254. package/dist/esm-es5/inherited-attributes-553a7c36.js +6 -0
  255. package/dist/esm-es5/inherited-attributes-553a7c36.js.map +1 -0
  256. package/dist/esm-es5/loader.js +6 -0
  257. package/dist/esm-es5/loader.js.map +1 -0
  258. package/dist/esm-es5/v4-c99c1585.js +6 -0
  259. package/dist/esm-es5/v4-c99c1585.js.map +1 -0
  260. package/dist/esm-es5/webcomponents.js +6 -0
  261. package/dist/esm-es5/webcomponents.js.map +1 -0
  262. package/dist/index.cjs.js +1 -0
  263. package/dist/index.js +1 -0
  264. package/dist/playwright.config.js +39 -0
  265. package/dist/playwright.config.js.map +1 -0
  266. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/packages/webcomponents/.stencil/playwright.config.d.ts +5 -0
  267. package/dist/types/components/avatar/avatar.d.ts +60 -0
  268. package/dist/types/components/button/button.d.ts +64 -0
  269. package/dist/types/components/checkbox/checkbox.d.ts +78 -0
  270. package/dist/types/components/dropdown/dropdown.d.ts +64 -0
  271. package/dist/types/components/icon/icon.d.ts +58 -0
  272. package/dist/types/components/input/input.d.ts +151 -0
  273. package/dist/types/components/item/item.d.ts +96 -0
  274. package/dist/types/components/list/list.d.ts +34 -0
  275. package/dist/types/components/loading/loading.d.ts +34 -0
  276. package/dist/types/components/message/message.d.ts +62 -0
  277. package/dist/types/components/radio/radio.d.ts +75 -0
  278. package/dist/types/components/switch/switch.d.ts +78 -0
  279. package/dist/types/components/tag/tag.d.ts +73 -0
  280. package/dist/types/components/textarea/textarea.d.ts +66 -0
  281. package/dist/types/components/upload/upload.d.ts +160 -0
  282. package/dist/types/components.d.ts +1682 -0
  283. package/dist/types/index.d.ts +10 -0
  284. package/dist/types/stencil-public-runtime.d.ts +1680 -0
  285. package/dist/types/utils/inherited-attributes.d.ts +20 -0
  286. package/dist/types/utils/interfaces.d.ts +3 -0
  287. package/dist/types/utils/unique-id-generator.d.ts +1 -0
  288. package/dist/webcomponents/index.esm.js +6 -0
  289. package/dist/webcomponents/index.esm.js.map +1 -0
  290. package/dist/webcomponents/p-05343155.system.entry.js +6 -0
  291. package/dist/webcomponents/p-05343155.system.entry.js.map +1 -0
  292. package/dist/webcomponents/p-183614c8.system.entry.js +6 -0
  293. package/dist/webcomponents/p-183614c8.system.entry.js.map +1 -0
  294. package/dist/webcomponents/p-2083ff7b.entry.js +6 -0
  295. package/dist/webcomponents/p-2083ff7b.entry.js.map +1 -0
  296. package/dist/webcomponents/p-24da392a.entry.js +6 -0
  297. package/dist/webcomponents/p-24da392a.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-28476b17.system.entry.js +6 -0
  301. package/dist/webcomponents/p-28476b17.system.entry.js.map +1 -0
  302. package/dist/webcomponents/p-2c2c8629.js +7 -0
  303. package/dist/webcomponents/p-2c2c8629.js.map +1 -0
  304. package/dist/webcomponents/p-3f00a196.entry.js +6 -0
  305. package/dist/webcomponents/p-3f00a196.entry.js.map +1 -0
  306. package/dist/webcomponents/p-430afeb5.system.js +7 -0
  307. package/dist/webcomponents/p-430afeb5.system.js.map +1 -0
  308. package/dist/webcomponents/p-447c8036.entry.js +6 -0
  309. package/dist/webcomponents/p-447c8036.entry.js.map +1 -0
  310. package/dist/webcomponents/p-5539ffa8.entry.js +6 -0
  311. package/dist/webcomponents/p-5539ffa8.entry.js.map +1 -0
  312. package/dist/webcomponents/p-55604b7f.system.entry.js +6 -0
  313. package/dist/webcomponents/p-55604b7f.system.entry.js.map +1 -0
  314. package/dist/webcomponents/p-61523bc9.entry.js +6 -0
  315. package/dist/webcomponents/p-61523bc9.entry.js.map +1 -0
  316. package/dist/webcomponents/p-626fe2cb.entry.js +6 -0
  317. package/dist/webcomponents/p-626fe2cb.entry.js.map +1 -0
  318. package/dist/webcomponents/p-6a8226b3.system.entry.js +6 -0
  319. package/dist/webcomponents/p-6a8226b3.system.entry.js.map +1 -0
  320. package/dist/webcomponents/p-6e286eba.system.js +6 -0
  321. package/dist/webcomponents/p-6e286eba.system.js.map +1 -0
  322. package/dist/webcomponents/p-71be2e3f.system.entry.js +6 -0
  323. package/dist/webcomponents/p-71be2e3f.system.entry.js.map +1 -0
  324. package/dist/webcomponents/p-74a4eb38.js +6 -0
  325. package/dist/webcomponents/p-74a4eb38.js.map +1 -0
  326. package/dist/webcomponents/p-7a4e1265.system.entry.js +6 -0
  327. package/dist/webcomponents/p-7a4e1265.system.entry.js.map +1 -0
  328. package/dist/webcomponents/p-8039a644.system.entry.js +6 -0
  329. package/dist/webcomponents/p-8039a644.system.entry.js.map +1 -0
  330. package/dist/webcomponents/p-842b2513.entry.js +6 -0
  331. package/dist/webcomponents/p-842b2513.entry.js.map +1 -0
  332. package/dist/webcomponents/p-8f156fc4.system.entry.js +6 -0
  333. package/dist/webcomponents/p-8f156fc4.system.entry.js.map +1 -0
  334. package/dist/webcomponents/p-90e2e623.system.js +6 -0
  335. package/dist/webcomponents/p-90e2e623.system.js.map +1 -0
  336. package/dist/webcomponents/p-9f0d01d1.entry.js +6 -0
  337. package/dist/webcomponents/p-9f0d01d1.entry.js.map +1 -0
  338. package/dist/webcomponents/p-a71689a5.system.js +6 -0
  339. package/dist/webcomponents/p-a71689a5.system.js.map +1 -0
  340. package/dist/webcomponents/p-ae629243.system.entry.js +6 -0
  341. package/dist/webcomponents/p-ae629243.system.entry.js.map +1 -0
  342. package/dist/webcomponents/p-b88a5d9a.system.js +6 -0
  343. package/dist/webcomponents/p-b88a5d9a.system.js.map +1 -0
  344. package/dist/webcomponents/p-b9fd2bc0.system.entry.js +6 -0
  345. package/dist/webcomponents/p-b9fd2bc0.system.entry.js.map +1 -0
  346. package/dist/webcomponents/p-baad00f8.system.entry.js +6 -0
  347. package/dist/webcomponents/p-baad00f8.system.entry.js.map +1 -0
  348. package/dist/webcomponents/p-d174c8cd.entry.js +6 -0
  349. package/dist/webcomponents/p-d174c8cd.entry.js.map +1 -0
  350. package/dist/webcomponents/p-d5a8d30c.js +6 -0
  351. package/dist/webcomponents/p-d5a8d30c.js.map +1 -0
  352. package/dist/webcomponents/p-d83e2172.system.entry.js +17 -0
  353. package/dist/webcomponents/p-d83e2172.system.entry.js.map +1 -0
  354. package/dist/webcomponents/p-dcf41d91.entry.js +6 -0
  355. package/dist/webcomponents/p-dcf41d91.entry.js.map +1 -0
  356. package/dist/webcomponents/p-e027fca2.entry.js +6 -0
  357. package/dist/webcomponents/p-e027fca2.entry.js.map +1 -0
  358. package/dist/webcomponents/p-e6d921ef.entry.js +17 -0
  359. package/dist/webcomponents/p-e6d921ef.entry.js.map +1 -0
  360. package/dist/webcomponents/p-e751c991.system.js +6 -0
  361. package/dist/webcomponents/p-e751c991.system.js.map +1 -0
  362. package/dist/webcomponents/p-e8b5b14f.entry.js +6 -0
  363. package/dist/webcomponents/p-e8b5b14f.entry.js.map +1 -0
  364. package/dist/webcomponents/p-f5e674ba.system.entry.js +6 -0
  365. package/dist/webcomponents/p-f5e674ba.system.entry.js.map +1 -0
  366. package/dist/webcomponents/webcomponents.esm.js +6 -0
  367. package/dist/webcomponents/webcomponents.esm.js.map +1 -0
  368. package/dist/webcomponents/webcomponents.js +127 -0
  369. package/hydrate/index.d.ts +242 -0
  370. package/hydrate/index.js +22120 -0
  371. package/hydrate/index.mjs +22112 -0
  372. package/hydrate/package.json +12 -0
  373. package/loader/cdn.js +6 -0
  374. package/loader/index.cjs.js +6 -0
  375. package/loader/index.d.ts +24 -0
  376. package/loader/index.es2017.js +6 -0
  377. package/loader/index.js +7 -0
  378. package/loader/package.json +11 -0
  379. package/package.json +54 -89
  380. package/vscode-data.json +915 -0
  381. package/dist/webcomponents.common.js +0 -23958
  382. package/dist/webcomponents.common.js.map +0 -1
  383. package/dist/webcomponents.umd.js +0 -23969
  384. package/dist/webcomponents.umd.js.map +0 -1
  385. package/dist/webcomponents.umd.min.js +0 -8
  386. package/dist/webcomponents.umd.min.js.map +0 -1
@@ -0,0 +1,465 @@
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
+ textarea {
38
+ font-family: inherit;
39
+ font-size: 100%;
40
+ line-height: var(--font-line-height-medium);
41
+ margin: 0;
42
+ }
43
+
44
+ button,
45
+ input {
46
+ overflow: visible;
47
+ }
48
+
49
+ button {
50
+ text-transform: none;
51
+ }
52
+
53
+ button,
54
+ [type=button],
55
+ [type=reset],
56
+ [type=submit] {
57
+ -webkit-appearance: button;
58
+ -moz-appearance: button;
59
+ appearance: button;
60
+ }
61
+
62
+ button::-moz-focus-inner,
63
+ [type=button]::-moz-focus-inner,
64
+ [type=reset]::-moz-focus-inner,
65
+ [type=submit]::-moz-focus-inner {
66
+ border-style: none;
67
+ padding: 0;
68
+ }
69
+
70
+ button:-moz-focusring,
71
+ [type=button]:-moz-focusring,
72
+ [type=reset]:-moz-focusring,
73
+ [type=submit]:-moz-focusring {
74
+ outline: 1px dotted ButtonText;
75
+ }
76
+
77
+ progress {
78
+ vertical-align: baseline;
79
+ }
80
+
81
+ textarea {
82
+ overflow: auto;
83
+ }
84
+
85
+ [type=checkbox],
86
+ [type=radio] {
87
+ box-sizing: border-box;
88
+ padding: 0;
89
+ }
90
+
91
+ [type=number]::-webkit-inner-spin-button,
92
+ [type=number]::-webkit-outer-spin-button {
93
+ height: auto;
94
+ }
95
+
96
+ [type=search] {
97
+ -webkit-appearance: textfield;
98
+ -moz-appearance: textfield;
99
+ appearance: textfield;
100
+ outline-offset: -2px;
101
+ }
102
+
103
+ [type=search]::-webkit-search-decoration {
104
+ -webkit-appearance: none;
105
+ appearance: none;
106
+ }
107
+
108
+ ::-webkit-file-upload-button {
109
+ -webkit-appearance: button;
110
+ appearance: button;
111
+ font: inherit;
112
+ }
113
+
114
+ [hidden] {
115
+ display: none;
116
+ }
117
+
118
+ .d-flex {
119
+ display: flex !important;
120
+ }
121
+
122
+ .align-items-center {
123
+ align-items: center !important;
124
+ }
125
+ .col,
126
+ [class*=col-] {
127
+ padding-left: calc(var(--grid-gutter) * 0.5);
128
+ padding-right: calc(var(--grid-gutter) * 0.5);
129
+ width: 100%;
130
+ }
131
+
132
+ .col {
133
+ flex: 1 0 0%;
134
+ min-width: 8.3333333333%;
135
+ }
136
+
137
+ .col-auto {
138
+ flex: 0 0 auto;
139
+ width: auto;
140
+ }
141
+
142
+ .container {
143
+ --grid-margin: var(--grid-portrait-margin);
144
+ --grid-maxwidth: var(--grid-portrait-maxwidth);
145
+ margin-left: auto;
146
+ margin-right: auto;
147
+ max-width: var(--grid-maxwidth);
148
+ padding-left: var(--grid-margin);
149
+ padding-right: var(--grid-margin);
150
+ width: 100%;
151
+ }
152
+
153
+ .row {
154
+ --grid-gutter: var(--grid-portrait-gutter);
155
+ display: flex;
156
+ flex-wrap: wrap;
157
+ margin-left: calc(var(--grid-gutter) * -0.5);
158
+ margin-right: calc(var(--grid-gutter) * -0.5);
159
+ }
160
+
161
+ @media (min-width: 576px) {
162
+ .container {
163
+ --grid-margin: var(--grid-tablet-margin);
164
+ }
165
+ .row {
166
+ --grid-gutter: var(--grid-tablet-gutter);
167
+ }
168
+ .container {
169
+ --grid-maxwidth: calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin));
170
+ }
171
+ }
172
+ @media (min-width: 992px) {
173
+ .container {
174
+ --grid-margin: var(--grid-tablet-margin);
175
+ }
176
+ .row {
177
+ --grid-gutter: var(--grid-tablet-gutter);
178
+ }
179
+ .container {
180
+ --grid-maxwidth: calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin));
181
+ }
182
+ }
183
+ @media (min-width: 1280px) {
184
+ .container {
185
+ --grid-margin: var(--grid-desktop-margin);
186
+ }
187
+ .row {
188
+ --grid-gutter: var(--grid-desktop-gutter);
189
+ }
190
+ .container {
191
+ --grid-maxwidth: calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin));
192
+ }
193
+ }
194
+ @media (min-width: 1600px) {
195
+ .container {
196
+ --grid-margin: var(--grid-tv-margin);
197
+ }
198
+ .row {
199
+ --grid-gutter: var(--grid-tv-gutter);
200
+ }
201
+ .container {
202
+ --grid-maxwidth: calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin));
203
+ }
204
+ }
205
+
206
+ .mt-1 {
207
+ margin-top: var(--spacing-scale-half) !important;
208
+ }
209
+
210
+ .mr-1 {
211
+ margin-right: var(--spacing-scale-half) !important;
212
+ }
213
+
214
+ .mr-2 {
215
+ margin-right: var(--spacing-scale-base) !important;
216
+ }
217
+
218
+ .mr-n2 {
219
+ margin-right: calc(var(--spacing-scale-base) * -1) !important;
220
+ }
221
+
222
+ .mb-3 {
223
+ margin-bottom: var(--spacing-scale-2x) !important;
224
+ }
225
+
226
+ .mr-auto {
227
+ margin-right: auto !important;
228
+ }
229
+
230
+ .pt-half {
231
+ padding-top: var(--spacing-scale-half) !important;
232
+ }
233
+
234
+ .py-3 {
235
+ padding-bottom: var(--spacing-scale-2x) !important;
236
+ padding-top: var(--spacing-scale-2x) !important;
237
+ }
238
+
239
+ .py-4 {
240
+ padding-bottom: var(--spacing-scale-3x) !important;
241
+ padding-top: var(--spacing-scale-3x) !important;
242
+ }
243
+ body {
244
+ --bg-color: var(--background);
245
+ --bg-color-rgb: var(--background-rgb);
246
+ --bg-color-hsl: var(--background-hsl);
247
+ --font-size: var(--font-size-scale-base);
248
+ --font-weight: var(--font-weight-regular);
249
+ --link-color: var(--interactive);
250
+ --link-color-rgb: var(--interactive-rgb);
251
+ --link-color-hsl: var(--interactive-hsl);
252
+ --line-height: var(--font-line-height-medium);
253
+ --text-color: var(--color);
254
+ --text-color-rgb: var(--color-rgb);
255
+ --text-color-hsl: var(--color-hsl);
256
+ background: var(--bg-color);
257
+ color: var(--text-color);
258
+ font-family: var(--font-family-base);
259
+ font-size: var(--font-size);
260
+ font-weight: var(--font-weight);
261
+ line-height: var(--line-height);
262
+ }
263
+
264
+ p {
265
+ color: var(--color);
266
+ font-size: var(--font-size-scale-base);
267
+ font-weight: var(--font-weight-regular);
268
+ line-height: var(--font-line-height-medium);
269
+ margin-bottom: var(--spacing-scale-2x);
270
+ margin-top: 0;
271
+ }
272
+ p a {
273
+ text-decoration: underline;
274
+ }
275
+
276
+ @media (min-width: 576px) {
277
+ p {
278
+ font-size: var(--font-size-scale-up-01);
279
+ }
280
+ }
281
+ a {
282
+ --focus-offset: var(--spacing-scale-half);
283
+ color: var(--interactive);
284
+ text-decoration: none;
285
+ }
286
+ a:focus {
287
+ outline: none;
288
+ }
289
+ a:focus-visible {
290
+ outline-color: var(--focus);
291
+ outline-offset: var(--focus-offset);
292
+ outline-style: var(--focus-style);
293
+ outline-width: var(--focus-width);
294
+ }
295
+ a:not(:disabled):hover {
296
+ background-image: linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)));
297
+ }
298
+ a:not(:disabled):active {
299
+ background-image: linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)));
300
+ }
301
+
302
+ button {
303
+ cursor: pointer;
304
+ }
305
+
306
+ img {
307
+ max-width: 100%;
308
+ vertical-align: middle;
309
+ }
310
+ ul {
311
+ margin-bottom: var(--spacing-scale-2x);
312
+ margin-top: 0;
313
+ padding: 0 0 0 var(--spacing-scale-5x);
314
+ }
315
+
316
+ label,
317
+ .label {
318
+ color: var(--color);
319
+ font-size: var(--font-size-scale-base);
320
+ font-weight: var(--font-weight-semi-bold);
321
+ line-height: var(--font-line-height-medium);
322
+ margin-bottom: var(--spacing-scale-half);
323
+ }
324
+
325
+ ::-moz-placeholder {
326
+ color: var(--color-light);
327
+ font-size: var(--font-size-scale-base);
328
+ font-style: italic;
329
+ font-weight: var(--font-weight-regular);
330
+ line-height: var(--font-line-height-medium);
331
+ margin-bottom: var(--spacing-scale-half);
332
+ margin-top: var(--spacing-scale-half);
333
+ opacity: 1;
334
+ }
335
+
336
+ ::placeholder,
337
+ .placeholder {
338
+ color: var(--color-light);
339
+ font-size: var(--font-size-scale-base);
340
+ font-style: italic;
341
+ font-weight: var(--font-weight-regular);
342
+ line-height: var(--font-line-height-medium);
343
+ margin-bottom: var(--spacing-scale-half);
344
+ margin-top: var(--spacing-scale-half);
345
+ opacity: 1;
346
+ }
347
+
348
+ input,
349
+ textarea,
350
+ .input {
351
+ color: var(--color-light);
352
+ font-size: var(--font-size-scale-up-01);
353
+ font-weight: var(--font-weight-medium);
354
+ line-height: var(--font-line-height-low);
355
+ margin-bottom: var(--spacing-scale-half);
356
+ }
357
+
358
+ .text-pure-0 {
359
+ color: var(--pure-0) !important;
360
+ }
361
+
362
+ .text-primary-default {
363
+ color: var(--color-primary-default) !important;
364
+ }
365
+
366
+ .bg-support-01 {
367
+ --color: var(--color-dark);
368
+ --color-rgb: var(--color-dark-rgb);
369
+ --text-color: var(--color-dark);
370
+ --interactive: var(--interactive-dark);
371
+ --interactive-rgb: var(--interactive-dark-rgb);
372
+ --visited: var(--visited-dark);
373
+ --hover: var(--hover-dark);
374
+ --pressed: var(--pressed-dark);
375
+ --focus-color: var(--focus-color-dark);
376
+ --focus: var(--focus-color-dark);
377
+ background: var(--color-support-01) !important;
378
+ }
379
+
380
+ .text-nowrap {
381
+ white-space: nowrap !important;
382
+ }
383
+
384
+ .text-base {
385
+ font-size: var(--font-size-scale-base) !important;
386
+ }
387
+
388
+ .highlight {
389
+ background: var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));
390
+ color: var(--status-highlight-text);
391
+ padding: 0 var(--spacing-scale-half);
392
+ }
393
+
394
+ [disabled],
395
+ .disabled {
396
+ cursor: not-allowed;
397
+ opacity: var(--disabled);
398
+ }
399
+ [disabled] *,
400
+ .disabled * {
401
+ pointer-events: none;
402
+ }
403
+
404
+ [data-toggle=dropdown] + * {
405
+ position: absolute;
406
+ }
407
+
408
+ .dropdown {
409
+ position: relative;
410
+ }
411
+ .dropdown [data-toggle=dropdown] + * {
412
+ box-shadow: var(--surface-shadow-sm);
413
+ left: 0;
414
+ position: absolute;
415
+ top: 100%;
416
+ }
417
+ .dropdown .br-item {
418
+ --color: var(--color-light);
419
+ --color-rgb: var(--color-light-rgb);
420
+ --text-color: var(--color-light);
421
+ --interactive: var(--interactive-light);
422
+ --interactive-rgb: var(--color-rgb);
423
+ --visited: var(--visited-light);
424
+ --hover: var(--hover-light);
425
+ --pressed: var(--pressed-light);
426
+ --focus-color: var(--focus-color-light);
427
+ --focus: var(--focus-color-light);
428
+ --item-padding-y: var(--spacing-scale-2x);
429
+ background-color: var(--background-light);
430
+ color: var(--color);
431
+ }
432
+ .dropdown .br-item:not(:last-child) {
433
+ border-bottom: 1px solid var(--border-color);
434
+ }
435
+ .dropdown .br-item.selected {
436
+ --color: var(--color-dark);
437
+ --color-rgb: var(--color-dark-rgb);
438
+ --text-color: var(--color-dark);
439
+ --interactive: var(--interactive-dark);
440
+ --interactive-rgb: var(--interactive-dark-rgb);
441
+ --visited: var(--visited-dark);
442
+ --hover: var(--hover-dark);
443
+ --pressed: var(--pressed-dark);
444
+ --focus-color: var(--focus-color-dark);
445
+ --focus: var(--focus-color-dark);
446
+ }
447
+
448
+ :host {
449
+ display: block;
450
+ position: relative;
451
+ }
452
+ :host #trigger {
453
+ display: inline-block;
454
+ cursor: pointer;
455
+ }
456
+ :host #target {
457
+ display: none;
458
+ position: absolute;
459
+ top: 100%;
460
+ left: 0;
461
+ }
462
+
463
+ :host([is-open]) #target {
464
+ display: block;
465
+ }
@@ -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"]}