@govbr-ds/webcomponents 2.0.0-next.56 → 2.0.0-next.58

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 (756) hide show
  1. package/dist/cjs/br-avatar.cjs.entry.js +3 -3
  2. package/dist/cjs/br-breadcrumb.cjs.entry.js +3 -3
  3. package/dist/cjs/br-button_2.cjs.entry.js +6 -6
  4. package/dist/cjs/br-card.cjs.entry.js +3 -3
  5. package/dist/cjs/br-checkbox_3.cjs.entry.js +71 -10
  6. package/dist/cjs/br-checkgroup.cjs.entry.js +3 -3
  7. package/dist/cjs/br-collapse_2.cjs.entry.js +308 -0
  8. package/dist/cjs/br-divider.cjs.entry.js +3 -3
  9. package/dist/cjs/br-dropdown_2.cjs.entry.js +100 -11
  10. package/dist/cjs/br-footer-category.cjs.entry.js +3 -3
  11. package/dist/cjs/br-footer-item.cjs.entry.js +3 -3
  12. package/dist/cjs/br-footer-legal.cjs.entry.js +3 -3
  13. package/dist/cjs/br-footer-logo.cjs.entry.js +3 -3
  14. package/dist/cjs/br-footer-social.cjs.entry.js +3 -3
  15. package/dist/cjs/br-footer.cjs.entry.js +3 -3
  16. package/dist/cjs/br-header-function.cjs.entry.js +138 -0
  17. package/dist/cjs/br-header-link.cjs.entry.js +56 -0
  18. package/dist/cjs/br-header-list.cjs.entry.js +248 -0
  19. package/dist/cjs/br-header-logo.cjs.entry.js +160 -0
  20. package/dist/cjs/br-header.cjs.entry.js +565 -0
  21. package/dist/cjs/br-item.cjs.entry.js +288 -0
  22. package/dist/cjs/br-loading.cjs.entry.js +4 -4
  23. package/dist/cjs/br-magic-button.cjs.entry.js +4 -4
  24. package/dist/cjs/br-menu-header.cjs.entry.js +52 -0
  25. package/dist/cjs/br-menu-info.cjs.entry.js +42 -0
  26. package/dist/cjs/br-menu-item.cjs.entry.js +72 -0
  27. package/dist/cjs/br-menu-link.cjs.entry.js +41 -0
  28. package/dist/cjs/br-menu-list.cjs.entry.js +136 -0
  29. package/dist/cjs/br-menu-logo.cjs.entry.js +49 -0
  30. package/dist/cjs/br-menu-social.cjs.entry.js +33 -0
  31. package/dist/cjs/br-menu.cjs.entry.js +837 -0
  32. package/dist/cjs/br-message.cjs.entry.js +4 -4
  33. package/dist/cjs/br-modal.cjs.entry.js +3 -3
  34. package/dist/cjs/br-pagination.cjs.entry.js +3 -3
  35. package/dist/cjs/br-scrim.cjs.entry.js +4 -4
  36. package/dist/cjs/br-sign-in.cjs.entry.js +4 -4
  37. package/dist/cjs/br-skip-link.cjs.entry.js +322 -0
  38. package/dist/cjs/br-skiplink-item.cjs.entry.js +193 -0
  39. package/dist/cjs/br-step-item.cjs.entry.js +4 -4
  40. package/dist/cjs/br-step.cjs.entry.js +4 -4
  41. package/dist/cjs/br-switch.cjs.entry.js +4 -4
  42. package/dist/cjs/br-tab-item.cjs.entry.js +4 -4
  43. package/dist/cjs/br-tab.cjs.entry.js +5 -5
  44. package/dist/cjs/br-table-cell.cjs.entry.js +4 -4
  45. package/dist/cjs/br-table-header-cell.cjs.entry.js +4 -4
  46. package/dist/cjs/br-table-header-row.cjs.entry.js +4 -4
  47. package/dist/cjs/br-table-row.cjs.entry.js +4 -4
  48. package/dist/cjs/br-table.cjs.entry.js +4 -4
  49. package/dist/cjs/br-tag.cjs.entry.js +4 -4
  50. package/dist/cjs/br-textarea.cjs.entry.js +4 -4
  51. package/dist/cjs/br-tooltip.cjs.entry.js +4 -4
  52. package/dist/cjs/br-upload.cjs.entry.js +7 -4
  53. package/dist/cjs/breakpoint-observer-qqFx-NzP.js +200 -0
  54. package/dist/cjs/breakpoint-observer-qqFx-NzP.js.map +1 -0
  55. package/dist/cjs/{index-CFIH680Y.js → index-BFg1F33U.js} +80 -14
  56. package/dist/cjs/index-BFg1F33U.js.map +1 -0
  57. package/dist/cjs/index.cjs.js +2 -0
  58. package/dist/cjs/loader.cjs.js +4 -2
  59. package/dist/cjs/loader.cjs.js.map +1 -1
  60. package/dist/cjs/webcomponents.cjs.js +5 -3
  61. package/dist/cjs/webcomponents.cjs.js.map +1 -1
  62. package/dist/collection/collection-manifest.json +17 -2
  63. package/dist/collection/components/avatar/avatar.css +1 -1
  64. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
  65. package/dist/collection/components/button/button.css +1 -1
  66. package/dist/collection/components/card/card.css +1 -1
  67. package/dist/collection/components/checkbox/checkbox.css +1 -1
  68. package/dist/collection/components/checkgroup/checkgroup.css +1 -1
  69. package/dist/collection/components/collapse/collapse.css +1 -1
  70. package/dist/collection/components/collapse/collapse.js +1 -1
  71. package/dist/collection/components/collapse/collapse.js.map +1 -1
  72. package/dist/collection/components/divider/divider.css +1 -1
  73. package/dist/collection/components/dropdown/dropdown.css +1 -1
  74. package/dist/collection/components/footer/footer-category/footer-category.css +1 -1
  75. package/dist/collection/components/footer/footer-item/footer-item.css +1 -1
  76. package/dist/collection/components/footer/footer-legal/footer-legal.css +1 -1
  77. package/dist/collection/components/footer/footer-logo/footer-logo.css +1 -1
  78. package/dist/collection/components/footer/footer-social/footer-social.css +1 -1
  79. package/dist/collection/components/footer/footer.css +1 -1
  80. package/dist/collection/components/header/header-function/header-function.css +1 -0
  81. package/dist/collection/components/header/header-function/header-function.js +256 -0
  82. package/dist/collection/components/header/header-function/header-function.js.map +1 -0
  83. package/dist/collection/components/header/header-link/header-link.css +1 -0
  84. package/dist/collection/components/header/header-link/header-link.js +134 -0
  85. package/dist/collection/components/header/header-link/header-link.js.map +1 -0
  86. package/dist/collection/components/header/header-list/header-list.css +1 -0
  87. package/dist/collection/components/header/header-list/header-list.js +420 -0
  88. package/dist/collection/components/header/header-list/header-list.js.map +1 -0
  89. package/dist/collection/components/header/header-logo/header-logo.css +1 -0
  90. package/dist/collection/components/header/header-logo/header-logo.js +363 -0
  91. package/dist/collection/components/header/header-logo/header-logo.js.map +1 -0
  92. package/dist/collection/components/header/header.css +1 -0
  93. package/dist/collection/components/header/header.js +901 -0
  94. package/dist/collection/components/header/header.js.map +1 -0
  95. package/dist/collection/components/icon/icon.css +1 -1
  96. package/dist/collection/components/icon/icon.js +1 -1
  97. package/dist/collection/components/input/input.css +1 -1
  98. package/dist/collection/components/input/input.js +87 -2
  99. package/dist/collection/components/input/input.js.map +1 -1
  100. package/dist/collection/components/item/item.css +1 -1
  101. package/dist/collection/components/item/item.js +1 -1
  102. package/dist/collection/components/list/list.css +1 -1
  103. package/dist/collection/components/list/list.js +1 -1
  104. package/dist/collection/components/loading/loading.css +1 -1
  105. package/dist/collection/components/loading/loading.js +1 -1
  106. package/dist/collection/components/magic-button/magic-button.css +1 -1
  107. package/dist/collection/components/magic-button/magic-button.js +1 -1
  108. package/dist/collection/components/menu/menu-header/menu-header.css +1 -0
  109. package/dist/collection/components/menu/menu-header/menu-header.js +154 -0
  110. package/dist/collection/components/menu/menu-header/menu-header.js.map +1 -0
  111. package/dist/collection/components/menu/menu-info/menu-info.css +1 -0
  112. package/dist/collection/components/menu/menu-info/menu-info.js +92 -0
  113. package/dist/collection/components/menu/menu-info/menu-info.js.map +1 -0
  114. package/dist/collection/components/menu/menu-item/menu-item.css +1 -0
  115. package/dist/collection/components/menu/menu-item/menu-item.js +233 -0
  116. package/dist/collection/components/menu/menu-item/menu-item.js.map +1 -0
  117. package/dist/collection/components/menu/menu-link/menu-link.css +1 -0
  118. package/dist/collection/components/menu/menu-link/menu-link.js +123 -0
  119. package/dist/collection/components/menu/menu-link/menu-link.js.map +1 -0
  120. package/dist/collection/components/menu/menu-list/menu-list.css +1 -0
  121. package/dist/collection/components/menu/menu-list/menu-list.js +295 -0
  122. package/dist/collection/components/menu/menu-list/menu-list.js.map +1 -0
  123. package/dist/collection/components/menu/menu-logo/menu-logo.css +1 -0
  124. package/dist/collection/components/menu/menu-logo/menu-logo.js +162 -0
  125. package/dist/collection/components/menu/menu-logo/menu-logo.js.map +1 -0
  126. package/dist/collection/components/menu/menu-social/menu-social.css +1 -0
  127. package/dist/collection/components/menu/menu-social/menu-social.js +139 -0
  128. package/dist/collection/components/menu/menu-social/menu-social.js.map +1 -0
  129. package/dist/collection/components/menu/menu.css +1 -0
  130. package/dist/collection/components/menu/menu.js +1064 -0
  131. package/dist/collection/components/menu/menu.js.map +1 -0
  132. package/dist/collection/components/message/message.css +1 -1
  133. package/dist/collection/components/message/message.js +1 -1
  134. package/dist/collection/components/modal/modal.css +1 -1
  135. package/dist/collection/components/pagination/pagination.css +1 -1
  136. package/dist/collection/components/radio/radio.css +1 -1
  137. package/dist/collection/components/radio/radio.js +1 -1
  138. package/dist/collection/components/scrim/scrim.css +1 -1
  139. package/dist/collection/components/scrim/scrim.js +1 -1
  140. package/dist/collection/components/scrim/scrim.js.map +1 -1
  141. package/dist/collection/components/select/select.css +1 -1
  142. package/dist/collection/components/select/select.js +160 -8
  143. package/dist/collection/components/select/select.js.map +1 -1
  144. package/dist/collection/components/sign-in/sign-in.css +1 -1
  145. package/dist/collection/components/sign-in/sign-in.js +1 -1
  146. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.css +1 -0
  147. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js +392 -0
  148. package/dist/collection/components/skip-link/skip-link-item/skip-link-item.js.map +1 -0
  149. package/dist/collection/components/skip-link/skip-link.css +1 -0
  150. package/dist/collection/components/skip-link/skip-link.js +588 -0
  151. package/dist/collection/components/skip-link/skip-link.js.map +1 -0
  152. package/dist/collection/components/step/step-item/step-item.css +1 -1
  153. package/dist/collection/components/step/step-item/step-item.js +1 -1
  154. package/dist/collection/components/step/step.css +1 -1
  155. package/dist/collection/components/step/step.js +1 -1
  156. package/dist/collection/components/switch/switch.css +1 -1
  157. package/dist/collection/components/switch/switch.js +1 -1
  158. package/dist/collection/components/tab/tab-item/tab-item.css +1 -1
  159. package/dist/collection/components/tab/tab-item/tab-item.js +1 -1
  160. package/dist/collection/components/tab/tab.css +1 -1
  161. package/dist/collection/components/tab/tab.js +2 -2
  162. package/dist/collection/components/table/table-cell/table-cell.css +1 -1
  163. package/dist/collection/components/table/table-cell/table-cell.js +1 -1
  164. package/dist/collection/components/table/table-header-cell/table-header-cell.css +1 -1
  165. package/dist/collection/components/table/table-header-cell/table-header-cell.js +1 -1
  166. package/dist/collection/components/table/table-header-row/table-header-row.css +1 -1
  167. package/dist/collection/components/table/table-header-row/table-header-row.js +1 -1
  168. package/dist/collection/components/table/table-row/table-row.css +1 -1
  169. package/dist/collection/components/table/table-row/table-row.js +1 -1
  170. package/dist/collection/components/table/table.css +1 -1
  171. package/dist/collection/components/table/table.js +1 -1
  172. package/dist/collection/components/tag/tag.css +1 -1
  173. package/dist/collection/components/tag/tag.js +1 -1
  174. package/dist/collection/components/tag/tag.js.map +1 -1
  175. package/dist/collection/components/textarea/textarea.css +1 -1
  176. package/dist/collection/components/textarea/textarea.js +1 -1
  177. package/dist/collection/components/tooltip/tooltip.css +1 -1
  178. package/dist/collection/components/tooltip/tooltip.js +1 -1
  179. package/dist/collection/components/upload/upload.css +1 -1
  180. package/dist/collection/components/upload/upload.js +26 -1
  181. package/dist/collection/components/upload/upload.js.map +1 -1
  182. package/dist/collection/pages/components/header/index.js +18 -0
  183. package/dist/collection/pages/components/menu/index.js +18 -0
  184. package/dist/collection/pages/components/select/index.js +41 -0
  185. package/dist/collection/pages/components/skip-link/index.js +18 -0
  186. package/dist/collection/pages/components/upload/index.js +1 -1
  187. package/dist/collection/utils/breakpoint-observer.js +193 -0
  188. package/dist/collection/utils/breakpoint-observer.js.map +1 -0
  189. package/dist/components/br-avatar.js +14 -14
  190. package/dist/components/br-avatar.js.map +1 -1
  191. package/dist/components/br-breadcrumb.js +22 -22
  192. package/dist/components/br-breadcrumb.js.map +1 -1
  193. package/dist/components/br-button.js +1 -1
  194. package/dist/components/br-card.js +5 -5
  195. package/dist/components/br-card.js.map +1 -1
  196. package/dist/components/br-checkbox.js +4 -4
  197. package/dist/components/br-checkgroup.js +8 -8
  198. package/dist/components/br-checkgroup.js.map +1 -1
  199. package/dist/components/br-collapse.js +3 -3
  200. package/dist/components/br-divider.js +1 -1
  201. package/dist/components/br-dropdown.js +1 -1
  202. package/dist/components/br-footer-category.js +22 -22
  203. package/dist/components/br-footer-category.js.map +1 -1
  204. package/dist/components/br-footer-item.js +12 -12
  205. package/dist/components/br-footer-item.js.map +1 -1
  206. package/dist/components/br-footer-legal.js +7 -7
  207. package/dist/components/br-footer-legal.js.map +1 -1
  208. package/dist/components/br-footer-logo.js +7 -7
  209. package/dist/components/br-footer-logo.js.map +1 -1
  210. package/dist/components/br-footer-social.js +13 -13
  211. package/dist/components/br-footer-social.js.map +1 -1
  212. package/dist/components/br-footer.js +11 -11
  213. package/dist/components/br-footer.js.map +1 -1
  214. package/dist/components/br-header-function.d.ts +11 -0
  215. package/dist/components/br-header-function.js +198 -0
  216. package/dist/components/br-header-function.js.map +1 -0
  217. package/dist/components/br-header-link.d.ts +11 -0
  218. package/dist/components/br-header-link.js +102 -0
  219. package/dist/components/br-header-link.js.map +1 -0
  220. package/dist/components/br-header-list.d.ts +11 -0
  221. package/dist/components/br-header-list.js +302 -0
  222. package/dist/components/br-header-list.js.map +1 -0
  223. package/dist/components/br-header-logo.d.ts +11 -0
  224. package/dist/components/br-header-logo.js +200 -0
  225. package/dist/components/br-header-logo.js.map +1 -0
  226. package/dist/components/br-header.d.ts +11 -0
  227. package/dist/components/br-header.js +677 -0
  228. package/dist/components/br-header.js.map +1 -0
  229. package/dist/components/br-icon.js +4 -4
  230. package/dist/components/br-input.js +4 -4
  231. package/dist/components/br-item.js +4 -4
  232. package/dist/components/br-list.js +4 -4
  233. package/dist/components/br-loading.js +6 -6
  234. package/dist/components/br-loading.js.map +1 -1
  235. package/dist/components/br-magic-button.js +10 -10
  236. package/dist/components/br-magic-button.js.map +1 -1
  237. package/dist/components/br-menu-header.d.ts +11 -0
  238. package/dist/components/br-menu-header.js +125 -0
  239. package/dist/components/br-menu-header.js.map +1 -0
  240. package/dist/components/br-menu-info.d.ts +11 -0
  241. package/dist/components/br-menu-info.js +76 -0
  242. package/dist/components/br-menu-info.js.map +1 -0
  243. package/dist/components/br-menu-item.d.ts +11 -0
  244. package/dist/components/br-menu-item.js +13 -0
  245. package/dist/components/br-menu-item.js.map +1 -0
  246. package/dist/components/br-menu-link.d.ts +11 -0
  247. package/dist/components/br-menu-link.js +95 -0
  248. package/dist/components/br-menu-link.js.map +1 -0
  249. package/dist/components/br-menu-list.d.ts +11 -0
  250. package/dist/components/br-menu-list.js +199 -0
  251. package/dist/components/br-menu-list.js.map +1 -0
  252. package/dist/components/br-menu-logo.d.ts +11 -0
  253. package/dist/components/br-menu-logo.js +98 -0
  254. package/dist/components/br-menu-logo.js.map +1 -0
  255. package/dist/components/br-menu-social.d.ts +11 -0
  256. package/dist/components/br-menu-social.js +102 -0
  257. package/dist/components/br-menu-social.js.map +1 -0
  258. package/dist/components/br-menu.d.ts +11 -0
  259. package/dist/components/br-menu.js +952 -0
  260. package/dist/components/br-menu.js.map +1 -0
  261. package/dist/components/br-message.js +12 -12
  262. package/dist/components/br-message.js.map +1 -1
  263. package/dist/components/br-modal.js +16 -16
  264. package/dist/components/br-modal.js.map +1 -1
  265. package/dist/components/br-pagination.js +35 -35
  266. package/dist/components/br-pagination.js.map +1 -1
  267. package/dist/components/br-radio.js +3 -3
  268. package/dist/components/br-scrim.js +34 -34
  269. package/dist/components/br-scrim.js.map +1 -1
  270. package/dist/components/br-select.js +4 -4
  271. package/dist/components/br-sign-in.js +18 -18
  272. package/dist/components/br-sign-in.js.map +1 -1
  273. package/dist/components/br-skip-link.d.ts +11 -0
  274. package/dist/components/br-skip-link.js +372 -0
  275. package/dist/components/br-skip-link.js.map +1 -0
  276. package/dist/components/br-skiplink-item.d.ts +11 -0
  277. package/dist/components/br-skiplink-item.js +271 -0
  278. package/dist/components/br-skiplink-item.js.map +1 -0
  279. package/dist/components/br-step-item.js +30 -30
  280. package/dist/components/br-step-item.js.map +1 -1
  281. package/dist/components/br-step.js +14 -14
  282. package/dist/components/br-step.js.map +1 -1
  283. package/dist/components/br-switch.js +12 -12
  284. package/dist/components/br-switch.js.map +1 -1
  285. package/dist/components/br-tab-item.js +13 -13
  286. package/dist/components/br-tab-item.js.map +1 -1
  287. package/dist/components/br-tab.js +17 -17
  288. package/dist/components/br-tab.js.map +1 -1
  289. package/dist/components/br-table-cell.js +12 -12
  290. package/dist/components/br-table-cell.js.map +1 -1
  291. package/dist/components/br-table-header-cell.js +15 -15
  292. package/dist/components/br-table-header-cell.js.map +1 -1
  293. package/dist/components/br-table-header-row.js +10 -10
  294. package/dist/components/br-table-header-row.js.map +1 -1
  295. package/dist/components/br-table-row.js +13 -13
  296. package/dist/components/br-table-row.js.map +1 -1
  297. package/dist/components/br-table.js +13 -13
  298. package/dist/components/br-table.js.map +1 -1
  299. package/dist/components/br-tag.js +4 -409
  300. package/dist/components/br-tag.js.map +1 -1
  301. package/dist/components/br-textarea.js +16 -16
  302. package/dist/components/br-textarea.js.map +1 -1
  303. package/dist/components/br-tooltip.js +24 -24
  304. package/dist/components/br-tooltip.js.map +1 -1
  305. package/dist/components/br-upload.js +46 -43
  306. package/dist/components/br-upload.js.map +1 -1
  307. package/dist/components/index.d.ts +30 -0
  308. package/dist/components/index.js +31 -1
  309. package/dist/components/p-75pWQXE5.js +200 -0
  310. package/dist/components/{p-CvEK2Il7.js.map → p-75pWQXE5.js.map} +1 -1
  311. package/dist/components/p-B3imhKtv.js +164 -0
  312. package/dist/components/{p-C5niSTTq.js.map → p-B3imhKtv.js.map} +1 -1
  313. package/dist/components/p-BQbwSVaT.js +622 -0
  314. package/dist/components/p-BQbwSVaT.js.map +1 -0
  315. package/dist/components/p-CcJHd-EX.js +400 -0
  316. package/dist/components/p-CcJHd-EX.js.map +1 -0
  317. package/dist/components/p-Coy21EGa.js +250 -0
  318. package/dist/components/{p-BGvZWtkB.js.map → p-Coy21EGa.js.map} +1 -1
  319. package/dist/components/p-CqGm9xxH.js +143 -0
  320. package/dist/components/p-CqGm9xxH.js.map +1 -0
  321. package/dist/components/p-CqgyNPQx.js +191 -0
  322. package/dist/components/p-CqgyNPQx.js.map +1 -0
  323. package/dist/components/{p-CDqodOhC.js → p-CwXw4TB_.js} +15 -15
  324. package/dist/components/{p-CDqodOhC.js.map → p-CwXw4TB_.js.map} +1 -1
  325. package/dist/components/{p-Ck56essO.js → p-DPI-6oom.js} +295 -295
  326. package/dist/components/{p-Ck56essO.js.map → p-DPI-6oom.js.map} +1 -1
  327. package/dist/components/{p-DSkSDmzD.js → p-Dl8sbmQD.js} +44 -37
  328. package/dist/components/p-Dl8sbmQD.js.map +1 -0
  329. package/dist/components/p-MRCv9Vq6.js +275 -0
  330. package/dist/components/p-MRCv9Vq6.js.map +1 -0
  331. package/dist/components/p-_1olx8GR.js +179 -0
  332. package/dist/components/{p-0zSorzux.js.map → p-_1olx8GR.js.map} +1 -1
  333. package/dist/components/p-ey_HrFRS.js +415 -0
  334. package/dist/components/p-ey_HrFRS.js.map +1 -0
  335. package/dist/components/p-foGc27n-.js +361 -0
  336. package/dist/components/{p-DGjCsmhy.js.map → p-foGc27n-.js.map} +1 -1
  337. package/dist/components/p-wT-Xw7qJ.js +136 -0
  338. package/dist/components/{p-CodfIeVU.js.map → p-wT-Xw7qJ.js.map} +1 -1
  339. package/dist/custom-elements.json +9262 -4929
  340. package/dist/esm/br-avatar.entry.js +3 -3
  341. package/dist/esm/br-avatar.entry.js.map +1 -1
  342. package/dist/esm/br-breadcrumb.entry.js +3 -3
  343. package/dist/esm/br-breadcrumb.entry.js.map +1 -1
  344. package/dist/esm/br-button_2.entry.js +6 -6
  345. package/dist/esm/br-card.entry.js +3 -3
  346. package/dist/esm/br-card.entry.js.map +1 -1
  347. package/dist/esm/br-checkbox_3.entry.js +71 -10
  348. package/dist/esm/br-checkgroup.entry.js +3 -3
  349. package/dist/esm/br-checkgroup.entry.js.map +1 -1
  350. package/dist/esm/br-collapse_2.entry.js +305 -0
  351. package/dist/esm/br-divider.entry.js +3 -3
  352. package/dist/esm/br-divider.entry.js.map +1 -1
  353. package/dist/esm/br-dropdown_2.entry.js +100 -11
  354. package/dist/esm/br-footer-category.entry.js +3 -3
  355. package/dist/esm/br-footer-category.entry.js.map +1 -1
  356. package/dist/esm/br-footer-item.entry.js +3 -3
  357. package/dist/esm/br-footer-item.entry.js.map +1 -1
  358. package/dist/esm/br-footer-legal.entry.js +3 -3
  359. package/dist/esm/br-footer-legal.entry.js.map +1 -1
  360. package/dist/esm/br-footer-logo.entry.js +3 -3
  361. package/dist/esm/br-footer-logo.entry.js.map +1 -1
  362. package/dist/esm/br-footer-social.entry.js +3 -3
  363. package/dist/esm/br-footer-social.entry.js.map +1 -1
  364. package/dist/esm/br-footer.entry.js +3 -3
  365. package/dist/esm/br-footer.entry.js.map +1 -1
  366. package/dist/esm/br-header-function.entry.js +136 -0
  367. package/dist/esm/br-header-function.entry.js.map +1 -0
  368. package/dist/esm/br-header-link.entry.js +54 -0
  369. package/dist/esm/br-header-link.entry.js.map +1 -0
  370. package/dist/esm/br-header-list.entry.js +246 -0
  371. package/dist/esm/br-header-list.entry.js.map +1 -0
  372. package/dist/esm/br-header-logo.entry.js +158 -0
  373. package/dist/esm/br-header-logo.entry.js.map +1 -0
  374. package/dist/esm/br-header.entry.js +563 -0
  375. package/dist/esm/br-header.entry.js.map +1 -0
  376. package/dist/esm/br-item.entry.js +286 -0
  377. package/dist/esm/br-item.entry.js.map +1 -0
  378. package/dist/esm/br-loading.entry.js +4 -4
  379. package/dist/esm/br-loading.entry.js.map +1 -1
  380. package/dist/esm/br-magic-button.entry.js +4 -4
  381. package/dist/esm/br-magic-button.entry.js.map +1 -1
  382. package/dist/esm/br-menu-header.entry.js +50 -0
  383. package/dist/esm/br-menu-header.entry.js.map +1 -0
  384. package/dist/esm/br-menu-info.entry.js +40 -0
  385. package/dist/esm/br-menu-info.entry.js.map +1 -0
  386. package/dist/esm/br-menu-item.entry.js +70 -0
  387. package/dist/esm/br-menu-item.entry.js.map +1 -0
  388. package/dist/esm/br-menu-link.entry.js +39 -0
  389. package/dist/esm/br-menu-link.entry.js.map +1 -0
  390. package/dist/esm/br-menu-list.entry.js +134 -0
  391. package/dist/esm/br-menu-list.entry.js.map +1 -0
  392. package/dist/esm/br-menu-logo.entry.js +47 -0
  393. package/dist/esm/br-menu-logo.entry.js.map +1 -0
  394. package/dist/esm/br-menu-social.entry.js +31 -0
  395. package/dist/esm/br-menu-social.entry.js.map +1 -0
  396. package/dist/esm/br-menu.entry.js +835 -0
  397. package/dist/esm/br-menu.entry.js.map +1 -0
  398. package/dist/esm/br-message.entry.js +4 -4
  399. package/dist/esm/br-message.entry.js.map +1 -1
  400. package/dist/esm/br-modal.entry.js +3 -3
  401. package/dist/esm/br-modal.entry.js.map +1 -1
  402. package/dist/esm/br-pagination.entry.js +3 -3
  403. package/dist/esm/br-pagination.entry.js.map +1 -1
  404. package/dist/esm/br-scrim.entry.js +4 -4
  405. package/dist/esm/br-scrim.entry.js.map +1 -1
  406. package/dist/esm/br-sign-in.entry.js +4 -4
  407. package/dist/esm/br-sign-in.entry.js.map +1 -1
  408. package/dist/esm/br-skip-link.entry.js +320 -0
  409. package/dist/esm/br-skip-link.entry.js.map +1 -0
  410. package/dist/esm/br-skiplink-item.entry.js +191 -0
  411. package/dist/esm/br-skiplink-item.entry.js.map +1 -0
  412. package/dist/esm/br-step-item.entry.js +4 -4
  413. package/dist/esm/br-step-item.entry.js.map +1 -1
  414. package/dist/esm/br-step.entry.js +4 -4
  415. package/dist/esm/br-step.entry.js.map +1 -1
  416. package/dist/esm/br-switch.entry.js +4 -4
  417. package/dist/esm/br-switch.entry.js.map +1 -1
  418. package/dist/esm/br-tab-item.entry.js +4 -4
  419. package/dist/esm/br-tab-item.entry.js.map +1 -1
  420. package/dist/esm/br-tab.entry.js +5 -5
  421. package/dist/esm/br-tab.entry.js.map +1 -1
  422. package/dist/esm/br-table-cell.entry.js +4 -4
  423. package/dist/esm/br-table-cell.entry.js.map +1 -1
  424. package/dist/esm/br-table-header-cell.entry.js +4 -4
  425. package/dist/esm/br-table-header-cell.entry.js.map +1 -1
  426. package/dist/esm/br-table-header-row.entry.js +4 -4
  427. package/dist/esm/br-table-header-row.entry.js.map +1 -1
  428. package/dist/esm/br-table-row.entry.js +4 -4
  429. package/dist/esm/br-table-row.entry.js.map +1 -1
  430. package/dist/esm/br-table.entry.js +4 -4
  431. package/dist/esm/br-table.entry.js.map +1 -1
  432. package/dist/esm/br-tag.entry.js +4 -4
  433. package/dist/esm/br-tag.entry.js.map +1 -1
  434. package/dist/esm/br-textarea.entry.js +4 -4
  435. package/dist/esm/br-textarea.entry.js.map +1 -1
  436. package/dist/esm/br-tooltip.entry.js +4 -4
  437. package/dist/esm/br-tooltip.entry.js.map +1 -1
  438. package/dist/esm/br-upload.entry.js +7 -4
  439. package/dist/esm/br-upload.entry.js.map +1 -1
  440. package/dist/esm/breakpoint-observer-CqgyNPQx.js +197 -0
  441. package/dist/esm/breakpoint-observer-CqgyNPQx.js.map +1 -0
  442. package/dist/esm/{index-ByGJPTh2.js → index-DULshOxW.js} +80 -14
  443. package/dist/esm/index-DULshOxW.js.map +1 -0
  444. package/dist/esm/index.js +2 -0
  445. package/dist/esm/loader.js +5 -3
  446. package/dist/esm/webcomponents.js +6 -4
  447. package/dist/esm/webcomponents.js.map +1 -1
  448. package/dist/hydrate/index.d.ts +12 -0
  449. package/dist/hydrate/index.js +8533 -4974
  450. package/dist/hydrate/index.mjs +8532 -4975
  451. package/dist/stencil.config.js +93 -125
  452. package/dist/stencil.config.js.map +1 -1
  453. package/dist/types/components/header/header-function/header-function.d.ts +100 -0
  454. package/dist/types/components/header/header-link/header-link.d.ts +41 -0
  455. package/dist/types/components/header/header-list/header-list.d.ts +173 -0
  456. package/dist/types/components/header/header-logo/header-logo.d.ts +120 -0
  457. package/dist/types/components/header/header.d.ts +311 -0
  458. package/dist/types/components/input/input.d.ts +9 -0
  459. package/dist/types/components/menu/menu-header/menu-header.d.ts +42 -0
  460. package/dist/types/components/menu/menu-info/menu-info.d.ts +25 -0
  461. package/dist/types/components/menu/menu-item/menu-item.d.ts +49 -0
  462. package/dist/types/components/menu/menu-link/menu-link.d.ts +34 -0
  463. package/dist/types/components/menu/menu-list/menu-list.d.ts +62 -0
  464. package/dist/types/components/menu/menu-logo/menu-logo.d.ts +43 -0
  465. package/dist/types/components/menu/menu-social/menu-social.d.ts +36 -0
  466. package/dist/types/components/menu/menu.d.ts +260 -0
  467. package/dist/types/components/select/select.d.ts +25 -0
  468. package/dist/types/components/skip-link/skip-link-item/skip-link-item.d.ts +111 -0
  469. package/dist/types/components/skip-link/skip-link.d.ts +173 -0
  470. package/dist/types/components/upload/upload.d.ts +5 -0
  471. package/dist/types/components.d.ts +1496 -47
  472. package/dist/types/stencil-public-runtime.d.ts +43 -0
  473. package/dist/types/utils/breakpoint-observer.d.ts +99 -0
  474. package/dist/webcomponents/p-02106faf.entry.js +63 -0
  475. package/dist/webcomponents/p-02106faf.entry.js.map +1 -0
  476. package/dist/webcomponents/p-04bee121.entry.js +148 -0
  477. package/dist/webcomponents/p-04bee121.entry.js.map +1 -0
  478. package/dist/webcomponents/p-0b68fde3.entry.js +113 -0
  479. package/dist/webcomponents/p-0b68fde3.entry.js.map +1 -0
  480. package/dist/webcomponents/p-13f315b9.entry.js +65 -0
  481. package/dist/webcomponents/p-13f315b9.entry.js.map +1 -0
  482. package/dist/webcomponents/p-19988c40.entry.js +385 -0
  483. package/dist/webcomponents/p-19988c40.entry.js.map +1 -0
  484. package/dist/webcomponents/p-27771bab.entry.js +210 -0
  485. package/dist/webcomponents/p-27771bab.entry.js.map +1 -0
  486. package/dist/webcomponents/p-29575ecc.entry.js +587 -0
  487. package/dist/webcomponents/p-29575ecc.entry.js.map +1 -0
  488. package/dist/webcomponents/p-2baf706b.entry.js +44 -0
  489. package/dist/webcomponents/p-2baf706b.entry.js.map +1 -0
  490. package/dist/webcomponents/p-2f5d6943.entry.js +73 -0
  491. package/dist/webcomponents/p-2f5d6943.entry.js.map +1 -0
  492. package/dist/webcomponents/p-3124fad7.entry.js +348 -0
  493. package/dist/webcomponents/p-3124fad7.entry.js.map +1 -0
  494. package/dist/webcomponents/p-377cfe1d.entry.js +362 -0
  495. package/dist/webcomponents/p-377cfe1d.entry.js.map +1 -0
  496. package/dist/webcomponents/p-3a95b67e.entry.js +120 -0
  497. package/dist/webcomponents/p-3a95b67e.entry.js.map +1 -0
  498. package/dist/webcomponents/p-3b55ea0c.entry.js +389 -0
  499. package/dist/webcomponents/p-3b55ea0c.entry.js.map +1 -0
  500. package/dist/webcomponents/p-3bdc8b39.entry.js +142 -0
  501. package/dist/webcomponents/p-3bdc8b39.entry.js.map +1 -0
  502. package/dist/webcomponents/p-4282727e.entry.js +139 -0
  503. package/dist/webcomponents/p-4282727e.entry.js.map +1 -0
  504. package/dist/webcomponents/p-428c99c3.entry.js +52 -0
  505. package/dist/webcomponents/p-428c99c3.entry.js.map +1 -0
  506. package/dist/webcomponents/p-4dd9d5cd.entry.js +204 -0
  507. package/dist/webcomponents/p-4dd9d5cd.entry.js.map +1 -0
  508. package/dist/webcomponents/p-5d1ff009.entry.js +136 -0
  509. package/dist/webcomponents/p-5d1ff009.entry.js.map +1 -0
  510. package/dist/webcomponents/p-719915a9.entry.js +272 -0
  511. package/dist/webcomponents/p-719915a9.entry.js.map +1 -0
  512. package/dist/webcomponents/p-7a676bbf.entry.js +66 -0
  513. package/dist/webcomponents/p-7a676bbf.entry.js.map +1 -0
  514. package/dist/webcomponents/p-7d2b7cdd.entry.js +52 -0
  515. package/dist/webcomponents/p-7d2b7cdd.entry.js.map +1 -0
  516. package/dist/webcomponents/p-7eeb3f78.entry.js +1015 -0
  517. package/dist/webcomponents/p-7eeb3f78.entry.js.map +1 -0
  518. package/dist/webcomponents/p-7f30b571.entry.js +106 -0
  519. package/dist/webcomponents/p-7f30b571.entry.js.map +1 -0
  520. package/dist/webcomponents/p-80091ce2.entry.js +105 -0
  521. package/dist/webcomponents/p-80091ce2.entry.js.map +1 -0
  522. package/dist/webcomponents/p-8b057d32.entry.js +899 -0
  523. package/dist/webcomponents/p-8b057d32.entry.js.map +1 -0
  524. package/dist/webcomponents/p-8d578007.entry.js +235 -0
  525. package/dist/webcomponents/p-8d578007.entry.js.map +1 -0
  526. package/dist/webcomponents/p-8fdd51b9.entry.js +613 -0
  527. package/dist/webcomponents/p-8fdd51b9.entry.js.map +1 -0
  528. package/dist/webcomponents/p-9092f3dc.entry.js +94 -0
  529. package/dist/webcomponents/p-9092f3dc.entry.js.map +1 -0
  530. package/dist/webcomponents/p-9c2b5fa0.entry.js +616 -0
  531. package/dist/webcomponents/p-9c2b5fa0.entry.js.map +1 -0
  532. package/dist/webcomponents/p-CqgyNPQx.js +191 -0
  533. package/dist/webcomponents/p-CqgyNPQx.js.map +1 -0
  534. package/dist/webcomponents/{p-ByGJPTh2.js → p-DULshOxW.js} +26 -19
  535. package/dist/webcomponents/p-DULshOxW.js.map +1 -0
  536. package/dist/webcomponents/p-a118a0a8.entry.js +62 -0
  537. package/dist/webcomponents/p-a118a0a8.entry.js.map +1 -0
  538. package/dist/webcomponents/p-a1c89064.entry.js +56 -0
  539. package/dist/webcomponents/p-a1c89064.entry.js.map +1 -0
  540. package/dist/webcomponents/{p-a9200224.entry.js → p-a2cd9b08.entry.js} +121 -121
  541. package/dist/webcomponents/p-a2cd9b08.entry.js.map +1 -0
  542. package/dist/webcomponents/p-a3b15b54.entry.js +50 -0
  543. package/dist/webcomponents/p-a3b15b54.entry.js.map +1 -0
  544. package/dist/webcomponents/p-ae73649b.entry.js +235 -0
  545. package/dist/webcomponents/p-ae73649b.entry.js.map +1 -0
  546. package/dist/webcomponents/p-b320f790.entry.js +159 -0
  547. package/dist/webcomponents/p-b320f790.entry.js.map +1 -0
  548. package/dist/webcomponents/p-ba075027.entry.js +169 -0
  549. package/dist/webcomponents/p-ba075027.entry.js.map +1 -0
  550. package/dist/webcomponents/p-bf162cf1.entry.js +286 -0
  551. package/dist/webcomponents/p-bf162cf1.entry.js.map +1 -0
  552. package/dist/webcomponents/p-c3537110.entry.js +131 -0
  553. package/dist/webcomponents/p-c3537110.entry.js.map +1 -0
  554. package/dist/webcomponents/p-c549be31.entry.js +164 -0
  555. package/dist/webcomponents/p-c549be31.entry.js.map +1 -0
  556. package/dist/webcomponents/p-c960983f.entry.js +77 -0
  557. package/dist/webcomponents/p-c960983f.entry.js.map +1 -0
  558. package/dist/webcomponents/p-cca454b0.entry.js +92 -0
  559. package/dist/webcomponents/p-cca454b0.entry.js.map +1 -0
  560. package/dist/webcomponents/p-d391838f.entry.js +271 -0
  561. package/dist/webcomponents/p-d391838f.entry.js.map +1 -0
  562. package/dist/webcomponents/p-d8535324.entry.js +91 -0
  563. package/dist/webcomponents/p-d8535324.entry.js.map +1 -0
  564. package/dist/webcomponents/p-db0eb52b.entry.js +328 -0
  565. package/dist/webcomponents/p-db0eb52b.entry.js.map +1 -0
  566. package/dist/webcomponents/p-df88b55d.entry.js +312 -0
  567. package/dist/webcomponents/p-df88b55d.entry.js.map +1 -0
  568. package/dist/webcomponents/{p-0cfc9f36.entry.js → p-e3d2085a.entry.js} +15 -15
  569. package/dist/webcomponents/p-e3d2085a.entry.js.map +1 -0
  570. package/dist/webcomponents/p-e5e676ff.entry.js +50 -0
  571. package/dist/webcomponents/p-e5e676ff.entry.js.map +1 -0
  572. package/dist/webcomponents/p-e5fabfa7.entry.js +134 -0
  573. package/dist/webcomponents/p-e5fabfa7.entry.js.map +1 -0
  574. package/dist/webcomponents/p-e855ba4f.entry.js +86 -0
  575. package/dist/webcomponents/p-e855ba4f.entry.js.map +1 -0
  576. package/dist/webcomponents/p-fa519b6b.entry.js +60 -0
  577. package/dist/webcomponents/p-fa519b6b.entry.js.map +1 -0
  578. package/dist/webcomponents/p-fa5ec6d6.entry.js +84 -0
  579. package/dist/webcomponents/p-fa5ec6d6.entry.js.map +1 -0
  580. package/dist/webcomponents/p-fef9fc47.entry.js +202 -0
  581. package/dist/webcomponents/p-fef9fc47.entry.js.map +1 -0
  582. package/dist/webcomponents/webcomponents.esm.js +17 -17
  583. package/dist/webcomponents/webcomponents.esm.js.map +1 -1
  584. package/dist/webcomponents.html-custom-data.json +491 -25
  585. package/package.json +1 -1
  586. package/dist/cjs/br-avatar.entry.cjs.js.map +0 -1
  587. package/dist/cjs/br-breadcrumb.entry.cjs.js.map +0 -1
  588. package/dist/cjs/br-button.br-icon.entry.cjs.js.map +0 -1
  589. package/dist/cjs/br-card.entry.cjs.js.map +0 -1
  590. package/dist/cjs/br-checkbox.br-input.br-radio.entry.cjs.js.map +0 -1
  591. package/dist/cjs/br-checkgroup.entry.cjs.js.map +0 -1
  592. package/dist/cjs/br-collapse.cjs.entry.js +0 -187
  593. package/dist/cjs/br-collapse.entry.cjs.js.map +0 -1
  594. package/dist/cjs/br-divider.entry.cjs.js.map +0 -1
  595. package/dist/cjs/br-dropdown.br-select.entry.cjs.js.map +0 -1
  596. package/dist/cjs/br-footer-category.entry.cjs.js.map +0 -1
  597. package/dist/cjs/br-footer-item.entry.cjs.js.map +0 -1
  598. package/dist/cjs/br-footer-legal.entry.cjs.js.map +0 -1
  599. package/dist/cjs/br-footer-logo.entry.cjs.js.map +0 -1
  600. package/dist/cjs/br-footer-social.entry.cjs.js.map +0 -1
  601. package/dist/cjs/br-footer.entry.cjs.js.map +0 -1
  602. package/dist/cjs/br-item.br-list.entry.cjs.js.map +0 -1
  603. package/dist/cjs/br-item_2.cjs.entry.js +0 -409
  604. package/dist/cjs/br-loading.entry.cjs.js.map +0 -1
  605. package/dist/cjs/br-magic-button.entry.cjs.js.map +0 -1
  606. package/dist/cjs/br-message.entry.cjs.js.map +0 -1
  607. package/dist/cjs/br-modal.entry.cjs.js.map +0 -1
  608. package/dist/cjs/br-pagination.entry.cjs.js.map +0 -1
  609. package/dist/cjs/br-scrim.entry.cjs.js.map +0 -1
  610. package/dist/cjs/br-sign-in.entry.cjs.js.map +0 -1
  611. package/dist/cjs/br-step-item.entry.cjs.js.map +0 -1
  612. package/dist/cjs/br-step.entry.cjs.js.map +0 -1
  613. package/dist/cjs/br-switch.entry.cjs.js.map +0 -1
  614. package/dist/cjs/br-tab-item.entry.cjs.js.map +0 -1
  615. package/dist/cjs/br-tab.entry.cjs.js.map +0 -1
  616. package/dist/cjs/br-table-cell.entry.cjs.js.map +0 -1
  617. package/dist/cjs/br-table-header-cell.entry.cjs.js.map +0 -1
  618. package/dist/cjs/br-table-header-row.entry.cjs.js.map +0 -1
  619. package/dist/cjs/br-table-row.entry.cjs.js.map +0 -1
  620. package/dist/cjs/br-table.entry.cjs.js.map +0 -1
  621. package/dist/cjs/br-tag.entry.cjs.js.map +0 -1
  622. package/dist/cjs/br-textarea.entry.cjs.js.map +0 -1
  623. package/dist/cjs/br-tooltip.entry.cjs.js.map +0 -1
  624. package/dist/cjs/br-upload.entry.cjs.js.map +0 -1
  625. package/dist/cjs/index-CFIH680Y.js.map +0 -1
  626. package/dist/components/p-0zSorzux.js +0 -179
  627. package/dist/components/p-BFSUtbLz.js +0 -275
  628. package/dist/components/p-BFSUtbLz.js.map +0 -1
  629. package/dist/components/p-BGvZWtkB.js +0 -250
  630. package/dist/components/p-C5niSTTq.js +0 -164
  631. package/dist/components/p-CbnpaWFn.js +0 -334
  632. package/dist/components/p-CbnpaWFn.js.map +0 -1
  633. package/dist/components/p-CodfIeVU.js +0 -136
  634. package/dist/components/p-CvEK2Il7.js +0 -200
  635. package/dist/components/p-Cw0pxndP.js +0 -525
  636. package/dist/components/p-Cw0pxndP.js.map +0 -1
  637. package/dist/components/p-DGjCsmhy.js +0 -361
  638. package/dist/components/p-DSkSDmzD.js.map +0 -1
  639. package/dist/esm/br-button.br-icon.entry.js.map +0 -1
  640. package/dist/esm/br-checkbox.br-input.br-radio.entry.js.map +0 -1
  641. package/dist/esm/br-collapse.entry.js +0 -185
  642. package/dist/esm/br-collapse.entry.js.map +0 -1
  643. package/dist/esm/br-dropdown.br-select.entry.js.map +0 -1
  644. package/dist/esm/br-item.br-list.entry.js.map +0 -1
  645. package/dist/esm/br-item_2.entry.js +0 -406
  646. package/dist/esm/index-ByGJPTh2.js.map +0 -1
  647. package/dist/webcomponents/br-avatar.entry.esm.js.map +0 -1
  648. package/dist/webcomponents/br-breadcrumb.entry.esm.js.map +0 -1
  649. package/dist/webcomponents/br-button.br-icon.entry.esm.js.map +0 -1
  650. package/dist/webcomponents/br-card.entry.esm.js.map +0 -1
  651. package/dist/webcomponents/br-checkbox.br-input.br-radio.entry.esm.js.map +0 -1
  652. package/dist/webcomponents/br-checkgroup.entry.esm.js.map +0 -1
  653. package/dist/webcomponents/br-collapse.entry.esm.js.map +0 -1
  654. package/dist/webcomponents/br-divider.entry.esm.js.map +0 -1
  655. package/dist/webcomponents/br-dropdown.br-select.entry.esm.js.map +0 -1
  656. package/dist/webcomponents/br-footer-category.entry.esm.js.map +0 -1
  657. package/dist/webcomponents/br-footer-item.entry.esm.js.map +0 -1
  658. package/dist/webcomponents/br-footer-legal.entry.esm.js.map +0 -1
  659. package/dist/webcomponents/br-footer-logo.entry.esm.js.map +0 -1
  660. package/dist/webcomponents/br-footer-social.entry.esm.js.map +0 -1
  661. package/dist/webcomponents/br-footer.entry.esm.js.map +0 -1
  662. package/dist/webcomponents/br-item.br-list.entry.esm.js.map +0 -1
  663. package/dist/webcomponents/br-loading.entry.esm.js.map +0 -1
  664. package/dist/webcomponents/br-magic-button.entry.esm.js.map +0 -1
  665. package/dist/webcomponents/br-message.entry.esm.js.map +0 -1
  666. package/dist/webcomponents/br-modal.entry.esm.js.map +0 -1
  667. package/dist/webcomponents/br-pagination.entry.esm.js.map +0 -1
  668. package/dist/webcomponents/br-scrim.entry.esm.js.map +0 -1
  669. package/dist/webcomponents/br-sign-in.entry.esm.js.map +0 -1
  670. package/dist/webcomponents/br-step-item.entry.esm.js.map +0 -1
  671. package/dist/webcomponents/br-step.entry.esm.js.map +0 -1
  672. package/dist/webcomponents/br-switch.entry.esm.js.map +0 -1
  673. package/dist/webcomponents/br-tab-item.entry.esm.js.map +0 -1
  674. package/dist/webcomponents/br-tab.entry.esm.js.map +0 -1
  675. package/dist/webcomponents/br-table-cell.entry.esm.js.map +0 -1
  676. package/dist/webcomponents/br-table-header-cell.entry.esm.js.map +0 -1
  677. package/dist/webcomponents/br-table-header-row.entry.esm.js.map +0 -1
  678. package/dist/webcomponents/br-table-row.entry.esm.js.map +0 -1
  679. package/dist/webcomponents/br-table.entry.esm.js.map +0 -1
  680. package/dist/webcomponents/br-tag.entry.esm.js.map +0 -1
  681. package/dist/webcomponents/br-textarea.entry.esm.js.map +0 -1
  682. package/dist/webcomponents/br-tooltip.entry.esm.js.map +0 -1
  683. package/dist/webcomponents/br-upload.entry.esm.js.map +0 -1
  684. package/dist/webcomponents/p-0c53e0e8.entry.js +0 -60
  685. package/dist/webcomponents/p-0c53e0e8.entry.js.map +0 -1
  686. package/dist/webcomponents/p-0c7961dc.entry.js +0 -286
  687. package/dist/webcomponents/p-0c7961dc.entry.js.map +0 -1
  688. package/dist/webcomponents/p-0cc360f5.entry.js +0 -271
  689. package/dist/webcomponents/p-0cc360f5.entry.js.map +0 -1
  690. package/dist/webcomponents/p-0cfc9f36.entry.js.map +0 -1
  691. package/dist/webcomponents/p-110e53e5.entry.js +0 -91
  692. package/dist/webcomponents/p-110e53e5.entry.js.map +0 -1
  693. package/dist/webcomponents/p-136fc952.entry.js +0 -459
  694. package/dist/webcomponents/p-136fc952.entry.js.map +0 -1
  695. package/dist/webcomponents/p-13e6e87d.entry.js +0 -73
  696. package/dist/webcomponents/p-13e6e87d.entry.js.map +0 -1
  697. package/dist/webcomponents/p-16cf274f.entry.js +0 -134
  698. package/dist/webcomponents/p-16cf274f.entry.js.map +0 -1
  699. package/dist/webcomponents/p-1b970308.entry.js +0 -159
  700. package/dist/webcomponents/p-1b970308.entry.js.map +0 -1
  701. package/dist/webcomponents/p-1cc6bcdd.entry.js +0 -62
  702. package/dist/webcomponents/p-1cc6bcdd.entry.js.map +0 -1
  703. package/dist/webcomponents/p-1d8feab9.entry.js +0 -385
  704. package/dist/webcomponents/p-1d8feab9.entry.js.map +0 -1
  705. package/dist/webcomponents/p-26a029f7.entry.js +0 -389
  706. package/dist/webcomponents/p-26a029f7.entry.js.map +0 -1
  707. package/dist/webcomponents/p-2b9f0a10.entry.js +0 -361
  708. package/dist/webcomponents/p-2b9f0a10.entry.js.map +0 -1
  709. package/dist/webcomponents/p-2c8976dc.entry.js +0 -86
  710. package/dist/webcomponents/p-2c8976dc.entry.js.map +0 -1
  711. package/dist/webcomponents/p-3407c22c.entry.js +0 -113
  712. package/dist/webcomponents/p-3407c22c.entry.js.map +0 -1
  713. package/dist/webcomponents/p-37c8053c.entry.js +0 -44
  714. package/dist/webcomponents/p-37c8053c.entry.js.map +0 -1
  715. package/dist/webcomponents/p-3ecf55fc.entry.js +0 -92
  716. package/dist/webcomponents/p-3ecf55fc.entry.js.map +0 -1
  717. package/dist/webcomponents/p-531c7f89.entry.js +0 -201
  718. package/dist/webcomponents/p-531c7f89.entry.js.map +0 -1
  719. package/dist/webcomponents/p-5e063914.entry.js +0 -217
  720. package/dist/webcomponents/p-5e063914.entry.js.map +0 -1
  721. package/dist/webcomponents/p-63a7b4fb.entry.js +0 -202
  722. package/dist/webcomponents/p-63a7b4fb.entry.js.map +0 -1
  723. package/dist/webcomponents/p-67d88dcb.entry.js +0 -923
  724. package/dist/webcomponents/p-67d88dcb.entry.js.map +0 -1
  725. package/dist/webcomponents/p-696b898b.entry.js +0 -587
  726. package/dist/webcomponents/p-696b898b.entry.js.map +0 -1
  727. package/dist/webcomponents/p-6dcfc5d7.entry.js +0 -105
  728. package/dist/webcomponents/p-6dcfc5d7.entry.js.map +0 -1
  729. package/dist/webcomponents/p-6f5f88fc.entry.js +0 -120
  730. package/dist/webcomponents/p-6f5f88fc.entry.js.map +0 -1
  731. package/dist/webcomponents/p-709ae70f.entry.js +0 -50
  732. package/dist/webcomponents/p-709ae70f.entry.js.map +0 -1
  733. package/dist/webcomponents/p-850a2df0.entry.js +0 -235
  734. package/dist/webcomponents/p-850a2df0.entry.js.map +0 -1
  735. package/dist/webcomponents/p-85f17810.entry.js +0 -94
  736. package/dist/webcomponents/p-85f17810.entry.js.map +0 -1
  737. package/dist/webcomponents/p-8f481839.entry.js +0 -52
  738. package/dist/webcomponents/p-8f481839.entry.js.map +0 -1
  739. package/dist/webcomponents/p-9cde1441.entry.js +0 -50
  740. package/dist/webcomponents/p-9cde1441.entry.js.map +0 -1
  741. package/dist/webcomponents/p-ByGJPTh2.js.map +0 -1
  742. package/dist/webcomponents/p-a9200224.entry.js.map +0 -1
  743. package/dist/webcomponents/p-abfb0743.entry.js +0 -554
  744. package/dist/webcomponents/p-abfb0743.entry.js.map +0 -1
  745. package/dist/webcomponents/p-b3a7c11a.entry.js +0 -131
  746. package/dist/webcomponents/p-b3a7c11a.entry.js.map +0 -1
  747. package/dist/webcomponents/p-bcb65fc2.entry.js +0 -169
  748. package/dist/webcomponents/p-bcb65fc2.entry.js.map +0 -1
  749. package/dist/webcomponents/p-c0e50bbd.entry.js +0 -136
  750. package/dist/webcomponents/p-c0e50bbd.entry.js.map +0 -1
  751. package/dist/webcomponents/p-ce2e0625.entry.js +0 -139
  752. package/dist/webcomponents/p-ce2e0625.entry.js.map +0 -1
  753. package/dist/webcomponents/p-da3acefd.entry.js +0 -77
  754. package/dist/webcomponents/p-da3acefd.entry.js.map +0 -1
  755. package/dist/webcomponents/p-e86962f6.entry.js +0 -272
  756. package/dist/webcomponents/p-e86962f6.entry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["selectCss","Select","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","placeholder","isMultiple","options","selectAllLabel","unselectAllLabel","showSearchIcon","isOpen","isInline","borderless","customId","selectId","parsedOptions","filteredOptions","inputValue","searchTerm","isAllSelected","isExpanded","focusedIndex","handleClickOutside","event","path","composedPath","clickedInside","includes","el","target","Node","contains","synchronizeSelect","jsonData","JSON","parse","Array","isArray","Error","error","console","message","getFilteredOptions","updateSelectedOptions","updateSelectedAllState","emitSelectedOptions","syncValueFromOutside","newVal","map","o","Object","assign","selected","value","selectedValue","componentWillLoad","componentDidLoad","document","addEventListener","disconnectedCallback","removeEventListener","handleKeydownOnInput","key","closeSelect","preventDefault","openSelect","focusItemInDirection","resetFocus","toggleOpen","handleKeydownOnList","handleKeydownOnItem","index","handleSelection","handleSelectAllKeyDown","toggleSelectAll","input","shadowRoot","querySelector","focus","direction","itemCount","length","focusItem","items","querySelectorAll","item","selectedOption","originalIndex","findIndex","updatedOptions","option","filter","_a","find","valueChange","emit","elementInternals","setFormValue","stringify","_b","_c","getStringValue","normalizeText","text","normalize","replace","toLowerCase","term","normalizedTerm","normalizedLabel","label","normalizedValue","firstSelected","howManySelected","selectedValues","allSelected","every","renderInput","h","exportparts","controlWidth","inputWidth","actionLabel","readonly","onClick","onInput","handleSearchInput","onFocus","handleSearchFocus","onBlur","handleSearchBlur","onKeyDown","slot","height","renderSelectAllCheckbox","class","tabindex","role","name","checked","onCheckedChange","renderOptions","getComputedId","clear","newValue","undefined","getValue","setValue","getCssClassMap","render","id"],"sources":["../../packages/webcomponents/src/components/select/select.scss?tag=br-select&encapsulation=shadow","../../packages/webcomponents/src/components/select/select.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/select/select\";\n@import \"~@govbr-ds/core/src/components/item/item\";\n\n:host {\n display: inline-block;\n\n .br-select br-list {\n background-color: var(--bg-color);\n box-shadow: var(--select-shadow);\n margin-top: -2px;\n max-height: 404px;\n overflow: auto;\n position: absolute;\n resize: none;\n width: 100%;\n z-index: 1;\n\n @include scrollbar;\n\n &:focus,\n &:active {\n color: var(--color-secondary-09);\n outline: none;\n }\n\n &:hover {\n &::-webkit-scrollbar-thumb {\n background: var(--color-secondary-07);\n }\n }\n\n .br-item br-radio::part(radio-input) {\n visibility: hidden;\n height: 0;\n width: 0;\n }\n\n .br-item br-radio::part(radio-label) {\n padding-left: var(--spacing-scale-base);\n position: relative;\n\n &::before,\n &::after {\n display: none;\n }\n }\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Componente de seleção de opções com suporte a múltipla seleção, busca e acessibilidade.\n *\n * @example\n * ```html\n * <br-select label=\"Estado\" placeholder=\"Selecione\" options='[{\"label\":\"SP\",\"value\":\"sp\"},{\"label\":\"RJ\",\"value\":\"rj\"}]'></br-select>\n * ```\n */\n@Component({\n tag: 'br-select',\n styleUrl: 'select.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Select {\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: HTMLBrSelectElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Rótulo que indica o tipo de informação que deve ser selecionada.\n */\n @Prop({ reflect: true }) label: string\n\n /**\n * Texto auxiliar exibido antes de uma seleção.\n */\n @Prop({ reflect: true }) placeholder: string = ''\n\n /**\n * Habilita o modo múltiplo para selecionar várias opções.\n */\n @Prop({ reflect: true }) isMultiple: boolean = false\n\n /**\n * Define as opções disponíveis no componente de seleção.\n * Pode ser fornecida como:\n * - Uma **string** contendo um JSON válido que será analisado em um array de objetos. Exemplo: `'[{\"label\": \"Opção 1\", \"value\": \"1\"}]'.\n * - Um **array de objetos**, onde cada objeto representa uma opção com as propriedades:\n * - `label`: O texto exibido para o usuário (obrigatório).\n * - `value`: O valor associado à opção (obrigatório).\n * - `selected`: Um boolean opcional que indica se a opção está pré-selecionada (padrão: `false`).\n * Se uma string for fornecida, ela será convertida internamente para um array via `JSON.parse`. Caso o formato seja inválido, um erro será registrado e as opções serão definidas como um array vazio.\n * Exemplo de uso:\n * ```typescript\n * options='[{\"label\": \"Sim\", \"value\": \"1\"}, {\"label\": \"Não\", \"value\": \"0\"}]'\n * // ou\n * options=[{ label: \"Sim\", value: \"1\" }, { label: \"Não\", value: \"0\" }]\n * ```\n */\n @Prop({ reflect: true }) options:\n | string\n | {\n label: string\n value: string\n selected?: boolean\n }[] = []\n\n /**\n * Rótulo para selecionar todas as opções.\n */\n @Prop({ reflect: true }) selectAllLabel: string = 'Selecionar todos'\n\n /**\n * Rótulo para desmarcar todas as opções.\n */\n @Prop({ reflect: true }) unselectAllLabel: string = 'Desselecionar todos'\n\n /**\n * Exibe o ícone de busca no campo de entrada.\n */\n @Prop({ reflect: true }) showSearchIcon: boolean = false\n\n /**\n * Indica se a listagem de itens do select está expandida\n */\n @Prop({ reflect: true }) isOpen: boolean = false\n\n /**\n * Exibe o rótulo e o controle em linha (ao lado), ao invés de empilhados.\n * Útil para casos contextuais como paginação.\n */\n @Prop({ reflect: true }) isInline: boolean = false\n\n /**\n * Largura do campo de entrada interno (por exemplo, '88px').\n * Quando definido, sobrescreve a largura padrão de 100% do input.\n */\n @Prop({ reflect: true }) inputWidth?: string\n\n /**\n * Propaga para o input interno a remoção da borda quando desfocado.\n */\n @Prop({ reflect: true }) borderless: boolean = false\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-select-${selectId++}`\n\n // Representa as opções do select disponíveis para renderização.\n // Cada opção contém `label`, `value` e o estado de seleção (`selected`).\n @State() parsedOptions: { label: string; value: string; selected?: boolean }[] = []\n\n // Opções filtradas de acordo com o termo de busca digitado.\n @State() filteredOptions: { label: string; value: string; selected?: boolean }[] = []\n\n // Valor exibido no input, refletindo as opções selecionadas.\n @State() inputValue: string = ''\n\n // Termo digitado no input (modo busca).\n @State() searchTerm: string = ''\n\n /** Valor selecionado (string para single, string[] para multiple) */\n @Prop({ reflect: false, mutable: true }) value?: string | string[]\n\n @State() selectedValue?: string | string[]\n\n // Indica se todas as opções estão selecionadas. Comportamento do checkbox \"Selecionar Todos\".\n @State() isAllSelected: boolean = false\n\n // Controla se a lista de opções do select está expandida (aberta) ou colapsada (fechada).\n @State() isExpanded: boolean = false\n\n // Armazena o índice do item atualmente focado, usado para navegação por teclado.\n @State() focusedIndex: number = -1\n\n /**\n * Evento emitido sempre que houver atualização nos itens selecionados.\n * RENOMEADO PARA valueChange para compatibilidade com ngModel.\n */\n @Event({ bubbles: true, composed: true }) valueChange: EventEmitter\n\n @Watch('options')\n synchronizeSelect() {\n try {\n let parsedOptions: { label: string; value: string; selected?: boolean }[] = []\n if (typeof this.options === 'string') {\n try {\n const jsonData = JSON.parse(this.options)\n if (Array.isArray(jsonData)) {\n parsedOptions = jsonData\n } else {\n throw new Error('JSON inválido: deve ser um array')\n }\n } catch (error) {\n console.error('Erro ao converter options para JSON:', error.message)\n parsedOptions = []\n }\n } else if (Array.isArray(this.options)) {\n parsedOptions = this.options\n }\n\n // Sanitiza as opções (remove opções inválidas, etc.)\n this.parsedOptions = parsedOptions\n\n // Atualiza lista filtrada considerando o termo atual\n this.filteredOptions = this.getFilteredOptions(this.searchTerm)\n\n // Atualiza o estado do componente\n this.updateSelectedOptions()\n this.updateSelectedAllState()\n this.emitSelectedOptions()\n } catch (error) {\n console.error('Erro ao processar as opções do select:', error)\n this.parsedOptions = []\n }\n }\n\n @Watch('value')\n syncValueFromOutside(newVal: string | string[]) {\n // Atualize parsedOptions a partir de newVal\n this.parsedOptions = this.parsedOptions.map((o) => ({\n ...o,\n selected: this.isMultiple ? Array.isArray(newVal) && newVal.includes(o.value) : newVal === o.value,\n }))\n this.selectedValue = newVal\n this.updateSelectedOptions() // mantém inputValue coeso\n this.updateSelectedAllState()\n this.filteredOptions = this.getFilteredOptions(this.searchTerm)\n }\n\n componentWillLoad() {\n this.isExpanded = this.isOpen\n this.synchronizeSelect()\n }\n\n componentDidLoad() {\n document.addEventListener('click', this.handleClickOutside)\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleClickOutside)\n }\n\n /**\n * Fecha a lista suspensa (`dropdown`) do `br-select` quando o usuário clica fora do componente.\n * O listener global é adicionado no `componentDidLoad` e removido no `disconnectedCallback` para evitar vazamentos de memória.\n * Se a lista estiver aberta (`this.isExpanded`) e o clique ocorrer fora (`!this.el.contains(target)`), ela é fechada.\n * A reatividade do StencilJS garante a atualização automática da interface.\n * A arrow function (`=>`) mantém o contexto correto de `this` ao ser usada como callback.\n *\n * @param {MouseEvent} event O evento de clique.\n * @returns {void}\n */\n private readonly handleClickOutside = (event: MouseEvent) => {\n // Usa composedPath para considerar nós dentro de Shadow DOM como \"dentro\" do componente\n const path = (event.composedPath && event.composedPath()) || []\n const clickedInside = path.includes(this.el) || (event.target instanceof Node && this.el.contains(event.target))\n\n if (this.isExpanded && !clickedInside) {\n this.isExpanded = false\n }\n }\n\n private handleKeydownOnInput(event: KeyboardEvent) {\n switch (event.key) {\n case 'Tab':\n this.closeSelect()\n break\n case 'ArrowDown':\n event.preventDefault()\n if (!this.isExpanded) {\n this.openSelect()\n }\n this.focusItemInDirection('next')\n break\n case 'ArrowUp':\n event.preventDefault()\n if (!this.isExpanded) {\n this.openSelect()\n }\n this.focusItemInDirection('previous')\n break\n case 'Escape':\n this.closeSelect()\n this.resetFocus()\n break\n case 'Enter':\n this.toggleOpen()\n break\n default:\n }\n }\n\n private handleKeydownOnList(event: KeyboardEvent) {\n event.preventDefault()\n switch (event.key) {\n case 'Tab':\n case 'Escape':\n this.resetFocus()\n break\n case 'ArrowUp':\n this.focusItemInDirection('previous')\n break\n case 'ArrowDown':\n this.focusItemInDirection('next')\n break\n default:\n break\n }\n }\n\n private handleKeydownOnItem(event: KeyboardEvent, index: number) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n this.handleSelection(index)\n } else if (event.key === 'Escape') {\n this.closeSelect()\n }\n }\n\n private handleSelectAllKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n this.toggleSelectAll()\n } else if (event.key === 'Escape') {\n event.preventDefault()\n this.closeSelect()\n }\n }\n\n private resetFocus() {\n const input = this.el.shadowRoot.querySelector('br-input') as HTMLBrInputElement | null\n input?.focus()\n }\n\n private focusItemInDirection(direction: 'next' | 'previous') {\n let itemCount = this.parsedOptions.length\n if (this.isMultiple) itemCount += 1\n\n this.focusedIndex =\n direction === 'next' ? (this.focusedIndex + 1) % itemCount : (this.focusedIndex - 1 + itemCount) % itemCount\n\n this.focusItem(this.focusedIndex)\n }\n\n private focusItem(index: number) {\n const items = this.el.shadowRoot.querySelectorAll('.br-item')\n if (items[index]) {\n const item = items[index] as HTMLElement\n item.focus()\n }\n }\n\n private openSelect() {\n this.isExpanded = true\n }\n\n private closeSelect() {\n this.isExpanded = false\n // Resetar o índice focado ao fechar o select\n this.focusedIndex = -1\n }\n\n private handleSelection(index: number) {\n if (index < 0 || index >= this.filteredOptions.length) {\n return\n }\n\n // Localiza opção original a partir da lista filtrada\n const selectedOption = this.filteredOptions[index]\n const originalIndex = this.parsedOptions.findIndex((o) => o.value === selectedOption.value)\n if (originalIndex === -1) {\n return\n }\n\n if (this.isMultiple) {\n const updatedOptions = [...this.parsedOptions]\n updatedOptions[originalIndex].selected = !updatedOptions[originalIndex].selected\n this.parsedOptions = updatedOptions\n } else {\n const updatedOptions = this.parsedOptions.map((option) => ({ ...option, selected: false }))\n updatedOptions[originalIndex].selected = true\n this.parsedOptions = updatedOptions\n this.isExpanded = false\n }\n\n // Atualiza a prop 'value' interna do componente\n this.selectedValue = this.isMultiple\n ? this.parsedOptions.filter((o) => o.selected).map((o) => o.value)\n : this.parsedOptions.find((o) => o.selected)?.value\n\n this.value = this.selectedValue\n\n // Emite o evento 'valueChange' para que o ngModel possa capturar\n this.valueChange.emit(this.selectedValue)\n\n this.updateSelectedOptions()\n this.updateSelectedAllState()\n this.filteredOptions = this.getFilteredOptions(this.searchTerm)\n try {\n this.elementInternals.setFormValue(JSON.stringify(this.selectedValue ?? []))\n } catch {\n // Ignora erro em testes onde setFormValue não é implementado\n }\n }\n\n private updateSelectedOptions() {\n this.inputValue = this.getStringValue(this.parsedOptions.filter((option) => option.selected))\n }\n\n private normalizeText(text: string): string {\n return (text || '')\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n .toLowerCase()\n }\n\n private getFilteredOptions(term: string) {\n if (!term) {\n return this.parsedOptions\n }\n\n const normalizedTerm = this.normalizeText(term)\n return this.parsedOptions.filter((option) => {\n const normalizedLabel = this.normalizeText(option.label || option.value)\n const normalizedValue = this.normalizeText(option.value)\n return normalizedLabel.includes(normalizedTerm) || normalizedValue.includes(normalizedTerm)\n })\n }\n\n private getStringValue(options: { label: string; value: string; selected?: boolean }[]) {\n if (options.length > 0) {\n const firstSelected = options[0].label || options[0].value\n if (this.isMultiple) {\n const howManySelected = options.length > 1 ? ` + (${options.length - 1})` : ''\n return `${firstSelected}${howManySelected}`\n } else {\n return firstSelected\n }\n }\n return ''\n }\n\n private emitSelectedOptions() {\n // A lógica de emissão do evento já está no handleSelection para o ngModel.\n // Esta função pode ser simplificada ou removida se a única finalidade era emitir para ngModel.\n // No entanto, se houver outros consumidores deste evento, você pode mantê-la.\n const selectedValues = this.parsedOptions.filter((option) => option.selected === true).map((option) => option.value) // É importante emitir o 'value' para o ngModel.\n\n // Já emitimos em handleSelection, mas se quiser ter certeza, pode emitir aqui também.\n // this.valueChange.emit(this.isMultiple ? selectedValues : selectedValues[0] ?? undefined);\n\n // Atualiza o valor do form associado\n try {\n this.elementInternals.setFormValue(JSON.stringify(this.isMultiple ? selectedValues : (selectedValues[0] ?? null)))\n } catch {\n // Ignora erro em testes onde setFormValue não é implementado\n }\n }\n\n private updateSelectedAllState() {\n const allSelected = this.parsedOptions.every((option) => option.selected)\n this.isAllSelected = allSelected\n }\n\n private toggleSelectAll() {\n const updatedOptions = this.parsedOptions.map((option) => ({ ...option, selected: !this.isAllSelected }))\n this.parsedOptions = updatedOptions\n this.isAllSelected = !this.isAllSelected\n\n this.updateSelectedOptions()\n\n // Atualiza a prop 'value' e emite o evento para ngModel\n this.selectedValue = this.isMultiple\n ? this.parsedOptions.filter((o) => o.selected).map((o) => o.value)\n : this.parsedOptions.find((o) => o.selected)?.value\n this.value = this.selectedValue\n this.valueChange.emit(this.selectedValue)\n\n try {\n this.elementInternals.setFormValue(JSON.stringify(this.selectedValue ?? []))\n } catch {\n // Ignora erro em testes onde setFormValue não é implementado\n }\n }\n\n private renderInput() {\n return (\n <br-input\n exportparts=\"label\"\n value={this.searchTerm || this.inputValue}\n label={this.label}\n isInline={this.isInline}\n controlWidth={this.inputWidth}\n borderless={this.borderless}\n placeholder={this.placeholder}\n actionLabel={this.isExpanded ? 'Recolher lista de opções' : 'Exibir lista de opções'}\n readonly={false}\n onClick={() => this.toggleOpen()}\n onInput={(event) => this.handleSearchInput(event)}\n onFocus={() => this.handleSearchFocus()}\n onBlur={() => this.handleSearchBlur()}\n onKeyDown={(event) => this.handleKeydownOnInput(event)}\n >\n {this.showSearchIcon && <br-icon slot=\"icon\" icon-name=\"fa-solid:search\" aria-hidden=\"true\"></br-icon>}\n <br-icon\n slot=\"action\"\n icon-name={this.isExpanded ? 'fa-solid:angle-up' : 'fa-solid:angle-down'}\n height=\"16\"\n aria-hidden=\"true\"\n ></br-icon>\n </br-input>\n )\n }\n\n private renderSelectAllCheckbox() {\n return (\n <div\n class={`br-item highlighted ${this.isAllSelected ? 'selected' : ''}`}\n data-all=\"data-all\"\n tabindex=\"-1\"\n role=\"option\"\n aria-selected={this.isAllSelected}\n onKeyDown={(event) => this.handleSelectAllKeyDown(event)}\n onClick={() => this.toggleSelectAll()}\n >\n <br-checkbox\n name={`checkbox-${this.customId}`}\n label={this.isAllSelected ? this.unselectAllLabel : this.selectAllLabel}\n checked={this.isAllSelected}\n onCheckedChange={() => this.toggleSelectAll()}\n ></br-checkbox>\n </div>\n )\n }\n\n private renderOptions() {\n if (this.filteredOptions.length === 0) {\n return (\n <div class=\"br-item empty\" role=\"option\" aria-selected=\"false\" tabindex={-1}>\n Nenhum resultado encontrado\n </div>\n )\n }\n\n return this.filteredOptions.map((option, index) => (\n <div\n class={`br-item ${option.selected ? 'selected' : ''}`}\n key={`${option.label}-${this.customId}`}\n role=\"option\"\n tabindex={this.focusedIndex === index ? 0 : -1}\n aria-selected={option.selected}\n onClick={() => this.handleSelection(index)}\n onKeyDown={(event) => this.handleKeydownOnItem(event, index)}\n >\n {this.isMultiple ? (\n <br-checkbox\n name={`checkbox-${index}-${this.customId}`}\n label={option.label || option.value}\n checked={option.selected === true}\n onCheckedChange={() => this.handleSelection(index)}\n />\n ) : (\n <br-radio\n exportparts=\"radio-input, radio-label\"\n name={`radio-${index}-${this.customId}`}\n label={option.label || option.value}\n checked={option.selected === true}\n onCheckedChange={() => this.handleSelection(index)}\n />\n )}\n </div>\n ))\n }\n\n /**\n * Determina um id para o radio.\n */\n private getComputedId() {\n return this.customId?.length > 0 ? this.customId : `br-select-${this.customId}`\n }\n\n /**\n * Inverte o valor da prop `isOpen`\n */\n @Method()\n async toggleOpen() {\n this.isExpanded = !this.isExpanded\n }\n\n /**\n * Limpa todas as opções selecionadas.\n */\n @Method()\n async clear() {\n const updatedOptions = this.parsedOptions.map((option) => ({ ...option, selected: false }))\n this.parsedOptions = updatedOptions\n\n const newValue = this.isMultiple ? [] : undefined\n this.selectedValue = newValue\n this.value = newValue\n\n this.updateSelectedOptions()\n this.updateSelectedAllState()\n this.valueChange.emit(newValue)\n\n try {\n this.elementInternals.setFormValue(JSON.stringify(newValue ?? (this.isMultiple ? [] : null)))\n } catch {\n // Ignora erro em testes onde setFormValue não é implementado\n }\n }\n\n /**\n * Retorna o valor selecionado.\n * @returns {Promise<string | string[]>} O valor atual.\n */\n @Method()\n async getValue() {\n return this.value\n }\n\n /**\n * Define o valor do componente.\n * @param {string | string[]} newValue O novo valor a ser definido.\n */\n @Method()\n async setValue(newValue: string | string[]) {\n this.value = newValue\n // O @Watch('value') cuidará da sincronização\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-select': true,\n }\n }\n\n private handleSearchInput(event: Event) {\n const value = (event.target as HTMLInputElement).value ?? ''\n this.searchTerm = value\n this.filteredOptions = this.getFilteredOptions(value)\n this.isExpanded = true\n }\n\n private handleSearchFocus() {\n this.filteredOptions = this.getFilteredOptions(this.searchTerm)\n }\n\n private handleSearchBlur() {\n // Ao sair do campo, volta a exibir o resumo das seleções\n this.searchTerm = ''\n this.filteredOptions = this.getFilteredOptions('')\n }\n\n render() {\n return (\n <div class={this.getCssClassMap()} id={this.getComputedId()}>\n {this.renderInput()}\n\n {this.isExpanded && (\n <br-list tabindex={-1} onKeyDown={(event) => this.handleKeydownOnList(event)}>\n {this.isMultiple && this.renderSelectAllCheckbox()}\n {this.renderOptions()}\n </br-list>\n )}\n </div>\n )\n }\n}\n\nlet selectId = 0\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,400 @@
1
+ /*!
2
+ * Construído por SERPRO
3
+ * © https://serpro.gov.br/ - MIT License.
4
+ */
5
+ import { p as t, H as i, d as r, h as a, c as e, t as n } from "./p-Dl8sbmQD.js";
6
+
7
+ import { d as o } from "./p-wT-Xw7qJ.js";
8
+
9
+ import { d as s } from "./p-DPI-6oom.js";
10
+
11
+ const inputCss = () => `*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}main{display:block}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}a{background-color:rgba(0,0,0,0)}b,strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.d-none{display:none !important}.d-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}@media (min-width: 576px){.d-sm-block{display:block !important}.d-sm-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}}.justify-content-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.align-items-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter)*.5);padding-right:calc(var(--grid-gutter)*.5);width:100%}.col{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-2{-ms-flex-preferred-size:16.6666666667%;flex-basis:16.6666666667%;max-width:16.6666666667%}.container,.container-lg{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter)*-0.5);margin-right:calc(var(--grid-gutter)*-0.5)}@media (min-width: 576px){.container,.container-lg{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}.col-sm-4{-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%;max-width:33.3333333333%}}@media (min-width: 992px){.container,.container-lg{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container,.container-lg{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}.col-lg-3{-ms-flex-preferred-size:25%;flex-basis:25%;max-width:25%}}@media (min-width: 1600px){.container,.container-lg{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container,.container-lg{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.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}.ml-1{margin-left:var(--spacing-scale-half) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base)*-1) !important}.ml-2{margin-left:var(--spacing-scale-base) !important}.m-3{margin:var(--spacing-scale-2x) !important}.mx-3{margin-left:var(--spacing-scale-2x) !important;margin-right:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.ml-auto{margin-left:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}@media (min-width: 576px){.ml-sm-0{margin-left:var(--spacing-scale-default) !important}}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half)}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}a{color:var(--interactive);text-decoration:none}.main-content a{text-decoration:underline}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul,ol{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}table{--table-background:var(--background);--table-color:var(--color);--table-border-color:var(--gray-20);--table-border-style:solid;--table-border-width:1px;--table-hover:var(--color-rgb);--table-padding:var(--spacing-scale-3x);--table-font-weight:var(--font-weight-medium);--table-th-background:var(--background-alternative);--table-th-font-weight:var(--font-weight-semi-bold);--table-row-size:var(--spacing-scale-2x);border-collapse:collapse;width:100%}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.bg-interactive{--background:var(--interactive);background:var(--interactive) !important}.text-primary-default{color:var(--color-primary-default) !important}.text-center{text-align:center !important}.text-right{text-align:right !important}.text-nowrap{white-space:nowrap !important}.text-uppercase{text-transform:uppercase !important}.text-medium{font-weight:500 !important}.text-bold{font-weight:700 !important}.text-base{font-size:var(--font-size-scale-base) !important}.text-down-01{font-size:var(--font-size-scale-down-01) !important}@media (min-width: 576px){.text-sm-center{text-align:center !important}.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}}.ease{-webkit-animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1);animation-timing-function:cubic-bezier(0.25, 0.1, 0.25, 1)}.ease-in-out{-webkit-animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function:cubic-bezier(0.42, 0, 0.58, 1)}.fab{--icon-size:var(--icon-size-base);display:inline-block;font-size:var(--icon-size);text-align:center;width:calc(var(--icon-size) + 8px)}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}*[data-toggle=collapse]:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}*[data-toggle=collapse]:focus{outline:none}*[data-toggle=collapse]:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-input{--input-button-margin:var(--spacing-scale-half);--input-padding:0 var(--spacing-scale-2x);--input-padding-button:var(--spacing-scale-5x);--input-padding-icon:var(--spacing-scale-5x);--input-size:var(--input-medium);--input-small:32px;--input-medium:40px;--input-large:48px;--input-highlight:56px;--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--interactive-light-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);color:var(--color);position:relative}.br-input input{background-color:var(--background-light);border-color:var(--border-color-alternative);border-radius:var(--surface-rounder-sm);border-style:var(--border-style);border-width:var(--border-width);color:var(--color-light);display:block;font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);height:var(--input-size);margin-top:var(--spacing-scale-half);padding-bottom:0;padding-left:var(--spacing-scale-2x);padding-right:var(--spacing-scale-2x);padding-top:0;width:100%}.br-input input::-ms-reveal,.br-input input::-ms-clear,.br-input input::-webkit-calendar-picker-indicator{display:none}.br-input input[type=search]::-webkit-search-decoration,.br-input input[type=search]::-webkit-search-cancel-button,.br-input input[type=search]::-webkit-search-results-button,.br-input input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.br-input.input-inline{display:-webkit-box;display:-ms-flexbox;display:flex}.br-input.input-inline .input-label{margin-right:var(--spacing-scale-baseh);margin-top:calc(var(--input-size)*.5 - var(--spacing-scale-half))}.br-input.input-inline .input-content{-webkit-box-flex:1;-ms-flex:1;flex:1}.br-input .input-group{position:relative}.br-input .input-icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--border-color-alternative);display:-webkit-box;display:-ms-flexbox;display:flex;height:var(--input-size);margin-left:var(--spacing-scale-baseh);position:absolute}.br-input .input-icon+input{padding-left:var(--input-padding-icon)}.br-input .br-button{--button-size:var(--button-small);--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--interactive-light-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);border-radius:50%;float:right;margin-right:var(--input-button-margin);margin-top:calc((var(--input-size) + var(--spacing-scale-half))*-1);padding:0;position:relative;-webkit-transform:translateY(calc((var(--input-size) - var(--button-size)) * 0.5));transform:translateY(calc((var(--input-size) - var(--button-size)) * 0.5));width:var(--button-size)}.br-input.input-button input{padding-right:var(--input-padding-button)}.br-input.has-icon input{padding-right:var(--input-padding-icon)}.br-input.has-icon .br-button.circle{float:right;margin-right:var(--spacing-scale-half);margin-top:calc((var(--button-size) + var(--spacing-scale-half) + var(--spacing-scale-half))*-1);-webkit-transform:translateY(0);transform:translateY(0)}.br-input.has-icon.small .br-button.circle{margin-top:calc((var(--button-size) + var(--spacing-scale-base))*-1)}.br-input.has-icon.large .br-button.circle{margin-top:calc(var(--button-size)*-1)}.br-input.input-highlight{--input-button-margin:var(--spacing-scale-2x);--input-padding:0 var(--spacing-scale-3x);--input-padding-button:var(--spacing-scale-7x);--input-padding-icon:var(--spacing-scale-7x);--input-size:var(--input-highlight)}.br-input.input-highlight input{background-color:var(--gray-2);border-color:rgba(0,0,0,0);padding-left:var(--spacing-scale-3x);padding-right:var(--spacing-scale-3x)}.br-input.input-highlight .input-icon{margin-left:var(--spacing-scale-3x)}.br-input.input-highlight .input-icon+input{padding-left:var(--spacing-scale-7x)}.br-input .br-list{-webkit-box-shadow:var(--surface-shadow-md);box-shadow:var(--surface-shadow-md);max-height:530px;overflow:auto;position:absolute;width:100%;z-index:var(--z-index-layer-2)}.br-input .br-list::-webkit-scrollbar{height:var(--spacing-scale-base);width:var(--spacing-scale-base)}.br-input .br-list::-webkit-scrollbar-track{background:var(--gray-10)}.br-input .br-list::-webkit-scrollbar-thumb{background:var(--gray-30)}.br-input .br-list:hover::-webkit-scrollbar-thumb{background:var(--gray-40)}.br-input .br-list .br-item{--item-padding-y:var(--spacing-scale-2x)}.br-input .br-list .br-item:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--color-rgb), var(--hover))), to(rgba(var(--color-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}.br-input .br-list .br-item:not(:first-child){border-top:var(--surface-width-sm) solid var(--border-color)}.br-input.success input{border-color:var(--success);border-width:2px}.br-input.danger input{border-color:var(--danger);border-width:2px}.br-input.warning input{border-color:var(--warning);border-width:2px}.br-input.info input{border-color:var(--info);border-width:2px}.br-input input:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--color-rgb), var(--hover))), to(rgba(var(--color-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}.br-input input:focus,.br-input input:focus-visible{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-input .feedback{margin-bottom:var(--spacing-scale-half)}.br-input.small{--input-size:var(--input-small)}.br-input.medium{--input-size:var(--input-medium)}.br-input.large{--input-size:var(--input-large)}.br-input.inverted,.br-input.inverted label,.br-input.dark-mode,.br-input.dark-mode label{--color:var(--color-dark);--focus-color:var(--focus-color-dark)}:host{display:inline-block}:host .br-input .input-icon{margin:0 var(--spacing-scale-2x)}:host .br-input .input-icon+input{padding-left:var(--spacing-scale-6x)}.br-input br-button{float:right;margin-right:var(--input-button-margin);margin-top:calc((var(--input-size) + var(--spacing-scale-half))*-1);padding:0;position:relative}.br-input br-button.button-transform{-webkit-transform:translateY(calc((var(--input-size) - 32px) * 0.5));transform:translateY(calc((var(--input-size) - 32px) * 0.5))}.br-input .input-label{margin-top:0 !important}.br-input.input-inline{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}:host([borderless]) .br-input input{border-color:rgba(0,0,0,0)}:host([borderless]) .br-input input:focus,:host([borderless]) .br-input input:focus-visible{border-color:var(--border-color-alternative)}`;
12
+
13
+ const l = t(class t extends i {
14
+ constructor(t) {
15
+ super();
16
+ if (t !== false) {
17
+ this.__registerHost();
18
+ }
19
+ this.__attachShadow();
20
+ this.valueChange = r(this, "valueChange", 7);
21
+ this.elementInternals = this.attachInternals();
22
+ /**
23
+ * Especifica o tipo de entrada do campo. Pode ser um dos seguintes:
24
+ * - 'color': Seletor de cor
25
+ * - 'email': Campo para e-mail
26
+ * - 'hidden': Campo oculto
27
+ * - 'password': Campo para senha
28
+ * - 'range': Controle deslizante
29
+ * - 'search': Campo de pesquisa
30
+ * - 'number': Campo para números
31
+ * - 'tel': Campo para números de telefone
32
+ * - 'text': Campo de texto padrão
33
+ * - 'url': Campo para URLs
34
+ */ this.type = "text";
35
+ /**
36
+ * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.
37
+ */ this.density = "medium";
38
+ /**
39
+ * Desativa o input, tornando-o não interativo.
40
+ */ this.disabled = false;
41
+ /**
42
+ * Se verdadeiro, o rótulo e o input estarão na mesma linha (layout inline).
43
+ */ this.isInline = false;
44
+ /**
45
+ * Se verdadeiro, o input terá destaque visual.
46
+ */ this.isHighlight = false;
47
+ /**
48
+ * Identificador único.
49
+ * Caso não seja fornecido, um ID gerado automaticamente será usado.
50
+ */ this.customId = `br-input-${c++}`
51
+ /**
52
+ * Se verdadeiro, o valor do input é exibido, mas não pode ser editado pelo usuário.
53
+ */;
54
+ this.readonly = false;
55
+ /**
56
+ * Se verdadeiro, o input é obrigatório e deve ser preenchido antes que o formulário possa ser enviado.
57
+ */ this.required = false;
58
+ /**
59
+ * Remove a borda do input quando não está em foco.
60
+ * Útil para composições contextuais (ex.: paginação).
61
+ */ this.borderless = false;
62
+ /**
63
+ * Controla a correção automática do texto.
64
+ */ this.autocorrect = "off";
65
+ /**
66
+ * Se verdadeiro, permite a seleção de múltiplos arquivos.
67
+ */ this.multiple = false;
68
+ this.isPasswordVisible = false;
69
+ this.internalState = "info";
70
+ this.hasIconSlot = false;
71
+ this.hasActionSlot = false;
72
+ this.hasFeedbackSlot = false;
73
+ this.handleInput = t => {
74
+ var i;
75
+ const r = t.target;
76
+ let a = (i = r.value) !== null && i !== void 0 ? i : "";
77
+ if (this.hasMaskConfigured()) {
78
+ const t = this.applyMask(a);
79
+ if (t !== a) {
80
+ r.value = t;
81
+ }
82
+ a = t;
83
+ }
84
+ this.value = a;
85
+ this.valueChange.emit(this.value);
86
+ };
87
+ this.renderLabel = () => {
88
+ var t;
89
+ if (((t = this.label) === null || t === void 0 ? void 0 : t.length) > 0) {
90
+ if (this.isInline) {
91
+ return a("div", {
92
+ class: "input-label"
93
+ }, a("label", {
94
+ part: "label",
95
+ class: "text-nowrap",
96
+ htmlFor: this.customId
97
+ }, this.label));
98
+ } else {
99
+ return a("label", {
100
+ part: "label",
101
+ htmlFor: this.customId
102
+ }, this.label);
103
+ }
104
+ }
105
+ };
106
+ this.renderInput = () => a("input", {
107
+ class: this.isHighlight ? "input-highlight" : null,
108
+ id: this.customId,
109
+ style: this.controlWidth !== undefined && this.controlWidth !== null ? {
110
+ width: this.controlWidth
111
+ } : undefined,
112
+ autocomplete: this.autocomplete,
113
+ disabled: this.disabled,
114
+ autoCorrect: this.autocorrect,
115
+ min: this.min,
116
+ max: this.max,
117
+ minLength: this.minlength,
118
+ maxLength: this.maxlength,
119
+ multiple: this.multiple,
120
+ name: this.name,
121
+ pattern: this.pattern,
122
+ step: this.step,
123
+ onInput: this.handleInput,
124
+ placeholder: this.placeholder,
125
+ readonly: this.readonly,
126
+ required: this.required,
127
+ title: this.el.title,
128
+ type: this.type,
129
+ value: this.value
130
+ });
131
+ this.renderHelpText = () => {
132
+ var t;
133
+ return ((t = this.helpText) === null || t === void 0 ? void 0 : t.length) > 0 ? a("p", null, this.helpText) : a("slot", {
134
+ name: "help-text"
135
+ });
136
+ };
137
+ this.renderIconPassword = () => {
138
+ const t = this.isPasswordVisible ? "fa-solid:eye-slash" : "fa-solid:eye";
139
+ return a("br-icon", {
140
+ "icon-name": t
141
+ });
142
+ };
143
+ this.togglePasswordVisibility = () => {
144
+ const t = this.el.shadowRoot.querySelector("input");
145
+ this.isPasswordVisible = !this.isPasswordVisible;
146
+ t.type = this.isPasswordVisible ? "text" : "password";
147
+ };
148
+ this.renderInlineInputContent = () => {
149
+ if (this.hasIconSlot) {
150
+ return a("div", {
151
+ class: "input-content"
152
+ }, this.renderInputWithIcon());
153
+ } else {
154
+ return a("div", {
155
+ class: "input-content"
156
+ }, this.renderInputWithoutIcon());
157
+ }
158
+ };
159
+ this.renderInputContent = () => this.hasIconSlot ? this.renderInputWithIcon() : this.renderInputWithoutIcon();
160
+ this.renderInputWithIcon = () => a("div", {
161
+ class: "input-group"
162
+ }, this.renderIconSlot(), this.renderInput(), this.renderButton(), this.renderHelpText());
163
+ this.renderInputWithoutIcon = () => [ this.renderInput(), this.renderButton(), this.renderHelpText() ];
164
+ }
165
+ componentWillLoad() {
166
+ this.hasIconSlot = this.hasSlotContent("icon");
167
+ this.hasActionSlot = this.hasSlotContent("action");
168
+ this.hasFeedbackSlot = this.hasSlotContent("feedback");
169
+ this.internalState = this.state;
170
+ this.applyMaskToValue();
171
+ if (this.hasFeedbackSlot) {
172
+ this.initializeStateWithFeedback();
173
+ }
174
+ }
175
+ componentDidLoad() {
176
+ if (this.hasFeedbackSlot) {
177
+ this.setupSlotFeedbackListener();
178
+ }
179
+ }
180
+ initializeStateWithFeedback() {
181
+ const t = this.el.querySelector("br-message");
182
+ if (t !== null || t !== undefined) {
183
+ const i = t.getAttribute("state");
184
+ this.internalState = i || this.state;
185
+ } else {
186
+ this.internalState = this.state;
187
+ }
188
+ }
189
+ setupSlotFeedbackListener() {
190
+ var t;
191
+ const i = (t = this.el.shadowRoot) === null || t === void 0 ? void 0 : t.querySelector('slot[name="feedback"]');
192
+ if (i !== null && i !== undefined) {
193
+ i.addEventListener("slotchange", (() => {
194
+ this.syncStateWithSlotFeedback();
195
+ }));
196
+ }
197
+ }
198
+ syncStateWithSlotFeedback() {
199
+ const t = this.el.querySelector("br-message");
200
+ if (t !== null && t !== undefined) {
201
+ this.internalState = t.getAttribute("state");
202
+ } else {
203
+ this.internalState = this.state;
204
+ }
205
+ }
206
+ getInputCssClassMap() {
207
+ return {
208
+ "br-input": true,
209
+ "input-button": this.hasActionSlot,
210
+ small: this.density === "small",
211
+ large: this.density === "large",
212
+ medium: this.density === "medium",
213
+ "input-inline": this.isInline,
214
+ "input-highlight": this.isHighlight,
215
+ success: this.internalState === "success",
216
+ danger: this.internalState === "danger",
217
+ info: this.internalState === "info",
218
+ warning: this.internalState === "warning"
219
+ };
220
+ }
221
+ handleValueChange(t) {
222
+ if (!this.hasMaskConfigured()) {
223
+ return;
224
+ }
225
+ const i = this.applyMask(t !== null && t !== void 0 ? t : "");
226
+ if (i !== t) {
227
+ this.value = i;
228
+ }
229
+ }
230
+ handleMaskChange() {
231
+ this.applyMaskToValue();
232
+ }
233
+ hasSlotContent(t) {
234
+ return this.el.querySelector(`[slot="${t}"]`) !== null;
235
+ }
236
+ renderIconSlot() {
237
+ if (this.hasSlotContent("icon")) {
238
+ return a("div", {
239
+ class: "input-icon"
240
+ }, a("slot", {
241
+ name: "icon"
242
+ }));
243
+ }
244
+ }
245
+ renderButton() {
246
+ if (this.type === "password") {
247
+ return a("br-button", {
248
+ class: "button-transform",
249
+ shape: "circle",
250
+ density: "small",
251
+ "aria-label": this.isPasswordVisible ? "Esconder senha" : "Mostrar senha",
252
+ "aria-pressed": this.isPasswordVisible ? "true" : "false",
253
+ onClick: this.togglePasswordVisibility
254
+ }, this.renderIconPassword());
255
+ } else if (this.hasSlotContent("action")) {
256
+ return a("br-button", {
257
+ class: "button-transform",
258
+ shape: "circle",
259
+ density: "small",
260
+ "aria-label": this.actionLabel
261
+ }, a("slot", {
262
+ name: "action"
263
+ }));
264
+ }
265
+ return null;
266
+ }
267
+ renderFeedback() {
268
+ if (this.hasFeedbackSlot) {
269
+ return a("slot", {
270
+ name: "feedback"
271
+ });
272
+ }
273
+ }
274
+ applyMaskToValue() {
275
+ if (!this.hasMaskConfigured() || this.value === undefined || this.value === null) {
276
+ return;
277
+ }
278
+ const t = this.applyMask(this.value);
279
+ if (this.value !== t) {
280
+ this.value = t;
281
+ }
282
+ }
283
+ applyMask(t) {
284
+ if (!this.hasMaskConfigured()) {
285
+ return t !== null && t !== void 0 ? t : "";
286
+ }
287
+ const i = (t !== null && t !== void 0 ? t : "").replace(/\D/g, "");
288
+ if (i.length === 0) {
289
+ return "";
290
+ }
291
+ let r = "";
292
+ let a = 0;
293
+ for (let t = 0; t < this.mask.length && a < i.length; t++) {
294
+ const e = this.mask[t];
295
+ if (e === "#") {
296
+ r += i[a];
297
+ a++;
298
+ } else {
299
+ r += e;
300
+ }
301
+ }
302
+ return r;
303
+ }
304
+ hasMaskConfigured() {
305
+ return typeof this.mask === "string" && this.mask.length > 0;
306
+ }
307
+ render() {
308
+ return a(e, {
309
+ key: "31b237410ace1d2cc2222c38851cf58dce557108"
310
+ }, a("div", {
311
+ key: "b8100d4bc19fb6d59c30863f95dc7909afea02b8",
312
+ class: this.getInputCssClassMap()
313
+ }, this.renderLabel(), this.isInline ? this.renderInlineInputContent() : this.renderInputContent(), this.renderFeedback()));
314
+ }
315
+ static get formAssociated() {
316
+ return true;
317
+ }
318
+ get el() {
319
+ return this;
320
+ }
321
+ static get watchers() {
322
+ return {
323
+ value: [ "handleValueChange" ],
324
+ mask: [ "handleMaskChange" ]
325
+ };
326
+ }
327
+ static get style() {
328
+ return inputCss();
329
+ }
330
+ }, [ 321, "br-input", {
331
+ type: [ 513 ],
332
+ autocomplete: [ 513 ],
333
+ density: [ 513 ],
334
+ disabled: [ 516 ],
335
+ isInline: [ 516, "is-inline" ],
336
+ isHighlight: [ 516, "is-highlight" ],
337
+ state: [ 513 ],
338
+ label: [ 513 ],
339
+ customId: [ 513, "custom-id" ],
340
+ name: [ 513 ],
341
+ placeholder: [ 513 ],
342
+ readonly: [ 516 ],
343
+ required: [ 516 ],
344
+ value: [ 1537 ],
345
+ controlWidth: [ 513, "control-width" ],
346
+ borderless: [ 516 ],
347
+ helpText: [ 513, "help-text" ],
348
+ autocorrect: [ 513 ],
349
+ min: [ 514 ],
350
+ max: [ 514 ],
351
+ minlength: [ 514 ],
352
+ maxlength: [ 514 ],
353
+ multiple: [ 516 ],
354
+ pattern: [ 513 ],
355
+ mask: [ 513 ],
356
+ step: [ 514 ],
357
+ actionLabel: [ 513, "action-label" ],
358
+ isPasswordVisible: [ 32 ],
359
+ internalState: [ 32 ],
360
+ hasIconSlot: [ 32 ],
361
+ hasActionSlot: [ 32 ],
362
+ hasFeedbackSlot: [ 32 ]
363
+ }, undefined, {
364
+ value: [ "handleValueChange" ],
365
+ mask: [ "handleMaskChange" ]
366
+ } ]);
367
+
368
+ let c = 0;
369
+
370
+ function defineCustomElement() {
371
+ if (typeof customElements === "undefined") {
372
+ return;
373
+ }
374
+ const t = [ "br-input", "br-button", "br-icon" ];
375
+ t.forEach((t => {
376
+ switch (t) {
377
+ case "br-input":
378
+ if (!customElements.get(n(t))) {
379
+ customElements.define(n(t), l);
380
+ }
381
+ break;
382
+
383
+ case "br-button":
384
+ if (!customElements.get(n(t))) {
385
+ o();
386
+ }
387
+ break;
388
+
389
+ case "br-icon":
390
+ if (!customElements.get(n(t))) {
391
+ s();
392
+ }
393
+ break;
394
+ }
395
+ }));
396
+ }
397
+
398
+ export { l as I, defineCustomElement as d };
399
+ //# sourceMappingURL=p-CcJHd-EX.js.map
400
+ //# sourceMappingURL=p-CcJHd-EX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["inputCss","Input","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","type","density","disabled","isInline","isHighlight","customId","inputId","readonly","required","borderless","autocorrect","multiple","isPasswordVisible","internalState","hasIconSlot","hasActionSlot","hasFeedbackSlot","handleInput","event","inputElement","target","nextValue","_a","value","hasMaskConfigured","maskedValue","applyMask","valueChange","emit","renderLabel","label","length","h","class","part","htmlFor","renderInput","id","style","controlWidth","undefined","width","autocomplete","autoCorrect","min","max","minLength","minlength","maxLength","maxlength","name","pattern","step","onInput","placeholder","title","el","renderHelpText","helpText","renderIconPassword","iconName","togglePasswordVisibility","input","shadowRoot","querySelector","renderInlineInputContent","renderInputWithIcon","renderInputWithoutIcon","renderInputContent","renderIconSlot","renderButton","componentWillLoad","hasSlotContent","state","applyMaskToValue","initializeStateWithFeedback","componentDidLoad","setupSlotFeedbackListener","initialMessageElement","messageState","getAttribute","slot","addEventListener","syncStateWithSlotFeedback","messageElement","getInputCssClassMap","small","large","medium","success","danger","info","warning","handleValueChange","newValue","handleMaskChange","slotName","shape","onClick","actionLabel","renderFeedback","digits","replace","digitIndex","i","mask","maskChar","render","Host","key"],"sources":["../../packages/webcomponents/src/components/input/input.scss?tag=br-input&encapsulation=shadow","../../packages/webcomponents/src/components/input/input.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/input/input\";\n\n:host {\n display: inline-block;\n\n .br-input .input-icon {\n margin: 0 var(--spacing-scale-2x);\n }\n\n .br-input .input-icon + input {\n padding-left: var(--spacing-scale-6x);\n }\n}\n\n.br-input {\n br-button {\n float: right;\n margin-right: var(--input-button-margin);\n margin-top: calc((var(--input-size) + var(--spacing-scale-half)) * -1);\n padding: 0;\n position: relative;\n\n &.button-transform {\n transform: translateY(calc((var(--input-size) - 32px) * 0.5));\n }\n }\n\n .input-label {\n margin-top: 0 !important;\n }\n\n &.input-inline {\n display: flex;\n align-items: center;\n }\n}\n\n/* Estilo borderless para composições contextuais */\n:host([borderless]) {\n .br-input input {\n border-color: transparent;\n }\n\n .br-input input:focus,\n .br-input input:focus-visible {\n border-color: var(--border-color-alternative);\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n *\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/input?tab=designer).\n *\n * @slot action - Botão à direita do input.\n * @slot icon - Ícone à esquerda do input.\n * @slot help-text - Personalização do texto de ajuda.\n * @slot feedback - Mensagem de feedback como resposta específica a uma interação do usuário com o input. Pode ser feedback de erro, aviso, sucesso ou informação.\n *\n * @example\n * ```html\n * <br-input label=\"Nome\" placeholder=\"Digite seu nome\"></br-input>\n * ```\n */\n@Component({\n tag: 'br-input',\n styleUrl: 'input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Input {\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: HTMLBrInputElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Especifica o tipo de entrada do campo. Pode ser um dos seguintes:\n * - 'color': Seletor de cor\n * - 'email': Campo para e-mail\n * - 'hidden': Campo oculto\n * - 'password': Campo para senha\n * - 'range': Controle deslizante\n * - 'search': Campo de pesquisa\n * - 'number': Campo para números\n * - 'tel': Campo para números de telefone\n * - 'text': Campo de texto padrão\n * - 'url': Campo para URLs\n */\n @Prop({ reflect: true }) readonly type:\n | 'color'\n | 'email'\n | 'hidden'\n | 'password'\n | 'range'\n | 'search'\n | 'number'\n | 'tel'\n | 'text'\n | 'file'\n | 'url' = 'text'\n\n /**\n * Controla o comportamento de preenchimento automático do navegador para o input.\n */\n @Prop({ reflect: true }) readonly autocomplete: 'on' | 'off'\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Desativa o input, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Se verdadeiro, o rótulo e o input estarão na mesma linha (layout inline).\n */\n @Prop({ reflect: true }) readonly isInline: boolean = false\n\n /**\n * Se verdadeiro, o input terá destaque visual.\n */\n @Prop({ reflect: true }) readonly isHighlight: boolean = false\n\n /**\n * Define o estado do input\n * Os possíveis valores são:\n * - 'info': Mensagem informativa.\n * - 'warning': Mensagem de aviso.\n * - 'danger': Mensagem de erro ou alerta.\n * - 'success': Mensagem de sucesso.\n * O valor padrão é 'info'.\n */\n @Prop({ reflect: true }) readonly state: 'info' | 'warning' | 'danger' | 'success'\n\n /**\n * Texto exibido como rótulo do input.\n */\n @Prop({ reflect: true }) readonly label: string\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-input-${inputId++}`\n\n /**\n * Nome do input, utilizado para identificação em formulários.\n */\n @Prop({ reflect: true }) readonly name: string\n\n /**\n * Texto exibido dentro do input quando está vazio, fornecendo uma dica ou sugestão ao usuário.\n */\n @Prop({ reflect: true }) readonly placeholder: string\n\n /**\n * Se verdadeiro, o valor do input é exibido, mas não pode ser editado pelo usuário.\n */\n @Prop({ reflect: true }) readonly readonly: boolean = false\n\n /**\n * Se verdadeiro, o input é obrigatório e deve ser preenchido antes que o formulário possa ser enviado.\n */\n @Prop({ reflect: true }) readonly required: boolean = false\n\n /**\n * Valor exibido no input.\n * Pode ser alterado pelo usuário se a propriedade `readonly` não estiver ativa.\n */\n @Prop({ reflect: true, mutable: true }) value: string\n\n /**\n * Largura do campo de entrada (por exemplo, '88px').\n * Quando definido, sobrescreve a largura padrão de 100%.\n */\n @Prop({ reflect: true }) readonly controlWidth?: string\n\n /**\n * Remove a borda do input quando não está em foco.\n * Útil para composições contextuais (ex.: paginação).\n */\n @Prop({ reflect: true }) readonly borderless: boolean = false\n\n /**\n * Texto adicional que fornece ajuda ou informações sobre o input.\n */\n @Prop({ reflect: true }) readonly helpText: string\n\n /**\n * Controla a correção automática do texto.\n */\n @Prop({ reflect: true }) readonly autocorrect: 'off' | 'on' = 'off'\n\n /**\n * Define o valor mínimo para campos de entrada numéricos.\n */\n @Prop({ reflect: true }) readonly min: number\n\n /**\n * Define o valor máximo para campos de entrada numéricos.\n */\n @Prop({ reflect: true }) readonly max: number\n\n /**\n * Define o comprimento mínimo do valor do campo de entrada.\n */\n @Prop({ reflect: true }) readonly minlength: number\n\n /**\n * Define o comprimento máximo do valor do campo de entrada.\n */\n @Prop({ reflect: true }) readonly maxlength: number\n\n /**\n * Se verdadeiro, permite a seleção de múltiplos arquivos.\n */\n @Prop({ reflect: true }) readonly multiple: boolean = false\n\n /**\n * Define o padrão de entrada para validação.\n */\n @Prop({ reflect: true }) readonly pattern: string\n\n /**\n * Máscara aplicada ao valor digitado (use `#` para marcar posições numéricas).\n */\n @Prop({ reflect: true }) readonly mask?: string\n\n /**\n * Define o valor do passo para campos de entrada numéricos.\n */\n @Prop({ reflect: true }) readonly step: number\n\n /**\n * Texto exibido no botão de ação à direita do input.\n */\n @Prop({ reflect: true }) readonly actionLabel: string\n\n @State() isPasswordVisible: boolean = false\n\n @State() internalState: 'info' | 'warning' | 'danger' | 'success' = 'info'\n\n @State() hasIconSlot: boolean = false\n\n @State() hasActionSlot: boolean = false\n\n @State() hasFeedbackSlot: boolean = false\n\n componentWillLoad() {\n this.hasIconSlot = this.hasSlotContent('icon')\n this.hasActionSlot = this.hasSlotContent('action')\n this.hasFeedbackSlot = this.hasSlotContent('feedback')\n this.internalState = this.state\n this.applyMaskToValue()\n\n if (this.hasFeedbackSlot) {\n this.initializeStateWithFeedback()\n }\n }\n\n componentDidLoad() {\n if (this.hasFeedbackSlot) {\n this.setupSlotFeedbackListener()\n }\n }\n\n private initializeStateWithFeedback() {\n const initialMessageElement = this.el.querySelector('br-message')\n\n if (initialMessageElement !== null || initialMessageElement !== undefined) {\n const messageState = initialMessageElement.getAttribute('state')\n this.internalState = (messageState as 'info' | 'warning' | 'danger' | 'success') || this.state\n } else {\n this.internalState = this.state\n }\n }\n\n private setupSlotFeedbackListener() {\n const slot = this.el.shadowRoot?.querySelector('slot[name=\"feedback\"]')\n if (slot !== null && slot !== undefined) {\n slot.addEventListener('slotchange', () => {\n this.syncStateWithSlotFeedback()\n })\n }\n }\n\n private syncStateWithSlotFeedback() {\n const messageElement = this.el.querySelector('br-message')\n\n if (messageElement !== null && messageElement !== undefined) {\n this.internalState = messageElement.getAttribute('state') as 'info' | 'warning' | 'danger' | 'success'\n } else {\n this.internalState = this.state\n }\n }\n\n private getInputCssClassMap(): CssClassMap {\n return {\n 'br-input': true,\n 'input-button': this.hasActionSlot,\n small: this.density === 'small',\n large: this.density === 'large',\n medium: this.density === 'medium',\n 'input-inline': this.isInline,\n 'input-highlight': this.isHighlight,\n success: this.internalState === 'success',\n danger: this.internalState === 'danger',\n info: this.internalState === 'info',\n warning: this.internalState === 'warning',\n }\n }\n\n /**\n * Valor atualizado do input\n */\n @Event() valueChange: EventEmitter<string>\n\n @Watch('value')\n protected handleValueChange(newValue: string) {\n if (!this.hasMaskConfigured()) {\n return\n }\n\n const maskedValue = this.applyMask(newValue ?? '')\n if (maskedValue !== newValue) {\n this.value = maskedValue\n }\n }\n\n @Watch('mask')\n protected handleMaskChange() {\n this.applyMaskToValue()\n }\n\n private readonly handleInput = (event: Event) => {\n const inputElement = event.target as HTMLInputElement\n let nextValue = inputElement.value ?? ''\n\n if (this.hasMaskConfigured()) {\n const maskedValue = this.applyMask(nextValue)\n if (maskedValue !== nextValue) {\n inputElement.value = maskedValue\n }\n nextValue = maskedValue\n }\n\n this.value = nextValue\n this.valueChange.emit(this.value)\n }\n\n private readonly renderLabel = () => {\n if (this.label?.length > 0) {\n if (this.isInline) {\n return (\n <div class=\"input-label\">\n <label part=\"label\" class=\"text-nowrap\" htmlFor={this.customId}>\n {this.label}\n </label>\n </div>\n )\n } else {\n return (\n <label part=\"label\" htmlFor={this.customId}>\n {this.label}\n </label>\n )\n }\n }\n }\n\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private readonly renderInput = () => {\n return (\n <input\n class={this.isHighlight ? 'input-highlight' : null}\n id={this.customId}\n style={this.controlWidth !== undefined && this.controlWidth !== null ? { width: this.controlWidth } : undefined}\n autocomplete={this.autocomplete}\n disabled={this.disabled}\n autoCorrect={this.autocorrect}\n min={this.min}\n max={this.max}\n minLength={this.minlength}\n maxLength={this.maxlength}\n multiple={this.multiple}\n name={this.name}\n pattern={this.pattern}\n step={this.step}\n onInput={this.handleInput}\n placeholder={this.placeholder}\n readonly={this.readonly}\n required={this.required}\n title={this.el.title}\n type={this.type}\n value={this.value}\n />\n )\n }\n\n private readonly renderHelpText = () => {\n return this.helpText?.length > 0 ? <p>{this.helpText}</p> : <slot name=\"help-text\"></slot>\n }\n\n private readonly renderIconPassword = () => {\n const iconName = this.isPasswordVisible ? 'fa-solid:eye-slash' : 'fa-solid:eye'\n return <br-icon icon-name={iconName}></br-icon>\n }\n\n private readonly togglePasswordVisibility = () => {\n const input = this.el.shadowRoot.querySelector('input')\n this.isPasswordVisible = !this.isPasswordVisible\n input.type = this.isPasswordVisible ? 'text' : 'password'\n }\n\n private renderIconSlot() {\n if (this.hasSlotContent('icon')) {\n return (\n <div class=\"input-icon\">\n <slot name=\"icon\"></slot>\n </div>\n )\n }\n }\n\n private renderButton() {\n if (this.type === 'password') {\n return (\n <br-button\n class=\"button-transform\"\n shape=\"circle\"\n density=\"small\"\n aria-label={this.isPasswordVisible ? 'Esconder senha' : 'Mostrar senha'}\n aria-pressed={this.isPasswordVisible ? 'true' : 'false'}\n onClick={this.togglePasswordVisibility}\n >\n {this.renderIconPassword()}\n </br-button>\n )\n } else if (this.hasSlotContent('action')) {\n return (\n <br-button class=\"button-transform\" shape=\"circle\" density=\"small\" aria-label={this.actionLabel}>\n <slot name=\"action\"></slot>\n </br-button>\n )\n }\n return null\n }\n\n private readonly renderInlineInputContent = () => {\n if (this.hasIconSlot) {\n return <div class=\"input-content\">{this.renderInputWithIcon()}</div>\n } else {\n return <div class=\"input-content\">{this.renderInputWithoutIcon()}</div>\n }\n }\n\n private readonly renderInputContent = () => {\n return this.hasIconSlot ? this.renderInputWithIcon() : this.renderInputWithoutIcon()\n }\n\n private readonly renderInputWithIcon = () => {\n return (\n <div class=\"input-group\">\n {this.renderIconSlot()}\n {this.renderInput()}\n {this.renderButton()}\n {this.renderHelpText()}\n </div>\n )\n }\n\n private readonly renderInputWithoutIcon = () => {\n return [this.renderInput(), this.renderButton(), this.renderHelpText()]\n }\n\n private renderFeedback() {\n if (this.hasFeedbackSlot) {\n return <slot name=\"feedback\"></slot>\n }\n }\n\n private applyMaskToValue() {\n if (!this.hasMaskConfigured() || this.value === undefined || this.value === null) {\n return\n }\n\n const maskedValue = this.applyMask(this.value)\n if (this.value !== maskedValue) {\n this.value = maskedValue\n }\n }\n\n private applyMask(value: string): string {\n if (!this.hasMaskConfigured()) {\n return value ?? ''\n }\n\n const digits = (value ?? '').replace(/\\D/g, '')\n if (digits.length === 0) {\n return ''\n }\n\n let maskedValue = ''\n let digitIndex = 0\n\n for (let i = 0; i < this.mask.length && digitIndex < digits.length; i++) {\n const maskChar = this.mask[i]\n\n if (maskChar === '#') {\n maskedValue += digits[digitIndex]\n digitIndex++\n } else {\n maskedValue += maskChar\n }\n }\n\n return maskedValue\n }\n\n private hasMaskConfigured(): boolean {\n return typeof this.mask === 'string' && this.mask.length > 0\n }\n\n render() {\n return (\n <Host>\n <div class={this.getInputCssClassMap()}>\n {this.renderLabel()}\n\n {this.isInline ? this.renderInlineInputContent() : this.renderInputContent()}\n\n {this.renderFeedback()}\n </div>\n </Host>\n )\n }\n}\n\nlet inputId = 0\n"],"mappings":"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","ignoreList":[]}