@govbr-ds/webcomponents 2.0.0-next.33 → 2.0.0-next.35

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 (407) hide show
  1. package/dist/cjs/br-avatar.cjs.entry.js +1 -1
  2. package/dist/cjs/br-avatar.cjs.entry.js.map +1 -1
  3. package/dist/cjs/br-avatar.entry.cjs.js.map +1 -1
  4. package/dist/cjs/br-breadcrumb.cjs.entry.js +1 -1
  5. package/dist/cjs/br-breadcrumb.cjs.entry.js.map +1 -1
  6. package/dist/cjs/br-breadcrumb.entry.cjs.js.map +1 -1
  7. package/dist/cjs/br-button.br-icon.entry.cjs.js.map +1 -1
  8. package/dist/cjs/br-button_2.cjs.entry.js +2 -2
  9. package/dist/cjs/br-button_2.cjs.entry.js.map +1 -1
  10. package/dist/cjs/br-checkbox.cjs.entry.js +1 -1
  11. package/dist/cjs/br-checkbox.cjs.entry.js.map +1 -1
  12. package/dist/cjs/br-checkbox.entry.cjs.js.map +1 -1
  13. package/dist/cjs/br-checkgroup.cjs.entry.js +1 -1
  14. package/dist/cjs/br-checkgroup.cjs.entry.js.map +1 -1
  15. package/dist/cjs/br-checkgroup.entry.cjs.js.map +1 -1
  16. package/dist/cjs/br-collapse.cjs.entry.js +1 -1
  17. package/dist/cjs/br-collapse.cjs.entry.js.map +1 -1
  18. package/dist/cjs/br-collapse.entry.cjs.js.map +1 -1
  19. package/dist/cjs/br-divider.cjs.entry.js +1 -1
  20. package/dist/cjs/br-divider.cjs.entry.js.map +1 -1
  21. package/dist/cjs/br-divider.entry.cjs.js.map +1 -1
  22. package/dist/cjs/br-dropdown.cjs.entry.js +1 -1
  23. package/dist/cjs/br-dropdown.cjs.entry.js.map +1 -1
  24. package/dist/cjs/br-dropdown.entry.cjs.js.map +1 -1
  25. package/dist/cjs/br-input.br-radio.entry.cjs.js.map +1 -1
  26. package/dist/cjs/br-input_2.cjs.entry.js +2 -2
  27. package/dist/cjs/br-input_2.cjs.entry.js.map +1 -1
  28. package/dist/cjs/br-item.cjs.entry.js +1 -1
  29. package/dist/cjs/br-item.cjs.entry.js.map +1 -1
  30. package/dist/cjs/br-item.entry.cjs.js.map +1 -1
  31. package/dist/cjs/br-list.cjs.entry.js +1 -1
  32. package/dist/cjs/br-list.cjs.entry.js.map +1 -1
  33. package/dist/cjs/br-list.entry.cjs.js.map +1 -1
  34. package/dist/cjs/br-loading.cjs.entry.js +1 -1
  35. package/dist/cjs/br-loading.cjs.entry.js.map +1 -1
  36. package/dist/cjs/br-loading.entry.cjs.js.map +1 -1
  37. package/dist/cjs/br-message.cjs.entry.js +1 -1
  38. package/dist/cjs/br-message.cjs.entry.js.map +1 -1
  39. package/dist/cjs/br-message.entry.cjs.js.map +1 -1
  40. package/dist/cjs/br-select.cjs.entry.js +69 -42
  41. package/dist/cjs/br-select.cjs.entry.js.map +1 -1
  42. package/dist/cjs/br-select.entry.cjs.js.map +1 -1
  43. package/dist/cjs/br-step-item.cjs.entry.js +244 -0
  44. package/dist/cjs/br-step-item.cjs.entry.js.map +1 -0
  45. package/dist/cjs/br-step-item.entry.cjs.js.map +1 -0
  46. package/dist/cjs/br-step.cjs.entry.js +282 -0
  47. package/dist/cjs/br-step.cjs.entry.js.map +1 -0
  48. package/dist/cjs/br-step.entry.cjs.js.map +1 -0
  49. package/dist/cjs/br-switch.cjs.entry.js +2 -2
  50. package/dist/cjs/br-switch.cjs.entry.js.map +1 -1
  51. package/dist/cjs/br-switch.entry.cjs.js.map +1 -1
  52. package/dist/cjs/br-tag.cjs.entry.js +3 -3
  53. package/dist/cjs/br-tag.cjs.entry.js.map +1 -1
  54. package/dist/cjs/br-tag.entry.cjs.js.map +1 -1
  55. package/dist/cjs/br-textarea.cjs.entry.js +2 -2
  56. package/dist/cjs/br-textarea.cjs.entry.js.map +1 -1
  57. package/dist/cjs/br-textarea.entry.cjs.js.map +1 -1
  58. package/dist/cjs/br-upload.cjs.entry.js +2 -2
  59. package/dist/cjs/br-upload.cjs.entry.js.map +1 -1
  60. package/dist/cjs/br-upload.entry.cjs.js.map +1 -1
  61. package/dist/cjs/index-C5PKqcRm.js +8 -0
  62. package/dist/cjs/loader.cjs.js +1 -1
  63. package/dist/cjs/webcomponents.cjs.js +1 -1
  64. package/dist/collection/collection-manifest.json +2 -0
  65. package/dist/collection/components/avatar/avatar.css +1 -1
  66. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
  67. package/dist/collection/components/button/button.css +1 -1
  68. package/dist/collection/components/checkbox/checkbox.css +1 -1
  69. package/dist/collection/components/checkgroup/checkgroup.css +1 -1
  70. package/dist/collection/components/collapse/collapse.css +1 -1
  71. package/dist/collection/components/divider/divider.css +1 -1
  72. package/dist/collection/components/dropdown/dropdown.css +1 -1
  73. package/dist/collection/components/icon/icon.css +1 -1
  74. package/dist/collection/components/input/input.css +1 -1
  75. package/dist/collection/components/item/item.css +1 -1
  76. package/dist/collection/components/list/list.css +1 -1
  77. package/dist/collection/components/loading/loading.css +1 -1
  78. package/dist/collection/components/message/message.css +1 -1
  79. package/dist/collection/components/radio/radio.css +1 -1
  80. package/dist/collection/components/select/select.css +1 -1
  81. package/dist/collection/components/select/select.js +72 -45
  82. package/dist/collection/components/select/select.js.map +1 -1
  83. package/dist/{webcomponents/p-df5400e2.entry.js → collection/components/step/step.css} +1 -140
  84. package/dist/collection/components/step/step.js +545 -0
  85. package/dist/collection/components/step/step.js.map +1 -0
  86. package/dist/{webcomponents/p-cc4c57d8.entry.js → collection/components/step-item/step-item.css} +1 -144
  87. package/dist/collection/components/step-item/step-item.js +550 -0
  88. package/dist/collection/components/step-item/step-item.js.map +1 -0
  89. package/dist/collection/components/switch/switch.css +1 -1
  90. package/dist/collection/components/switch/switch.js +1 -1
  91. package/dist/collection/components/tag/tag.css +1 -1
  92. package/dist/collection/components/tag/tag.js +2 -2
  93. package/dist/collection/components/textarea/textarea.css +1 -1
  94. package/dist/collection/components/textarea/textarea.js +1 -1
  95. package/dist/collection/components/textarea/textarea.js.map +1 -1
  96. package/dist/collection/components/upload/upload.css +1 -1
  97. package/dist/collection/components/upload/upload.js +1 -1
  98. package/dist/collection/pages/components/select/index.js +18 -0
  99. package/dist/collection/pages/components/step/index.js +33 -0
  100. package/dist/collection/pages/scripts/menu.js +7 -1
  101. package/dist/collection/pages/scripts/pageLoader.js +3 -16
  102. package/dist/components/br-avatar.js +6 -6
  103. package/dist/components/br-breadcrumb.js +5 -5
  104. package/dist/components/br-button.js +1 -1
  105. package/dist/components/br-checkbox.js +3 -3
  106. package/dist/components/br-checkgroup.js +5 -5
  107. package/dist/components/br-collapse.js +2 -2
  108. package/dist/components/br-divider.js +1 -1
  109. package/dist/components/br-dropdown.js +1 -1
  110. package/dist/components/br-icon.js +3 -3
  111. package/dist/components/br-input.js +4 -4
  112. package/dist/components/br-item.js +3 -3
  113. package/dist/components/br-list.js +1 -1
  114. package/dist/components/br-loading.js +4 -4
  115. package/dist/components/br-message.js +3 -3
  116. package/dist/components/br-radio.js +3 -3
  117. package/dist/components/br-select.js +81 -50
  118. package/dist/components/br-select.js.map +1 -1
  119. package/dist/components/br-step-item.d.ts +11 -0
  120. package/dist/components/br-step-item.js +335 -0
  121. package/dist/components/br-step-item.js.map +1 -0
  122. package/dist/components/br-step.d.ts +11 -0
  123. package/dist/components/br-step.js +312 -0
  124. package/dist/components/br-step.js.map +1 -0
  125. package/dist/components/br-switch.js +6 -6
  126. package/dist/components/br-tag.js +14 -14
  127. package/dist/components/br-textarea.js +10 -10
  128. package/dist/components/br-textarea.js.map +1 -1
  129. package/dist/components/br-upload.js +12 -12
  130. package/dist/components/index.d.ts +4 -0
  131. package/dist/components/index.js +4 -0
  132. package/dist/components/p-BUAXx2fX.js +129 -0
  133. package/dist/components/p-C1G4wYL7.js +173 -0
  134. package/dist/components/p-Cf1VoqB7.js +197 -0
  135. package/dist/components/p-D3sFUq_f.js +284 -0
  136. package/dist/components/p-DJC0NAoD.js +153 -0
  137. package/dist/components/p-DlpHRT0g.js +385 -0
  138. package/dist/components/{p-BPq5El3u.js → p-Dne-S1Hl.js} +3 -3
  139. package/dist/esm/br-avatar.entry.js +1 -1
  140. package/dist/esm/br-avatar.entry.js.map +1 -1
  141. package/dist/esm/br-breadcrumb.entry.js +1 -1
  142. package/dist/esm/br-breadcrumb.entry.js.map +1 -1
  143. package/dist/esm/br-button.br-icon.entry.js.map +1 -1
  144. package/dist/esm/br-button_2.entry.js +2 -2
  145. package/dist/esm/br-button_2.entry.js.map +1 -1
  146. package/dist/esm/br-checkbox.entry.js +1 -1
  147. package/dist/esm/br-checkbox.entry.js.map +1 -1
  148. package/dist/esm/br-checkgroup.entry.js +1 -1
  149. package/dist/esm/br-checkgroup.entry.js.map +1 -1
  150. package/dist/esm/br-collapse.entry.js +1 -1
  151. package/dist/esm/br-collapse.entry.js.map +1 -1
  152. package/dist/esm/br-divider.entry.js +1 -1
  153. package/dist/esm/br-divider.entry.js.map +1 -1
  154. package/dist/esm/br-dropdown.entry.js +1 -1
  155. package/dist/esm/br-dropdown.entry.js.map +1 -1
  156. package/dist/esm/br-input.br-radio.entry.js.map +1 -1
  157. package/dist/esm/br-input_2.entry.js +2 -2
  158. package/dist/esm/br-input_2.entry.js.map +1 -1
  159. package/dist/esm/br-item.entry.js +1 -1
  160. package/dist/esm/br-item.entry.js.map +1 -1
  161. package/dist/esm/br-list.entry.js +1 -1
  162. package/dist/esm/br-list.entry.js.map +1 -1
  163. package/dist/esm/br-loading.entry.js +1 -1
  164. package/dist/esm/br-loading.entry.js.map +1 -1
  165. package/dist/esm/br-message.entry.js +1 -1
  166. package/dist/esm/br-message.entry.js.map +1 -1
  167. package/dist/esm/br-select.entry.js +69 -42
  168. package/dist/esm/br-select.entry.js.map +1 -1
  169. package/dist/esm/br-step-item.entry.js +242 -0
  170. package/dist/esm/br-step-item.entry.js.map +1 -0
  171. package/dist/esm/br-step.entry.js +280 -0
  172. package/dist/esm/br-step.entry.js.map +1 -0
  173. package/dist/esm/br-switch.entry.js +2 -2
  174. package/dist/esm/br-switch.entry.js.map +1 -1
  175. package/dist/esm/br-tag.entry.js +3 -3
  176. package/dist/esm/br-tag.entry.js.map +1 -1
  177. package/dist/esm/br-textarea.entry.js +2 -2
  178. package/dist/esm/br-textarea.entry.js.map +1 -1
  179. package/dist/esm/br-upload.entry.js +2 -2
  180. package/dist/esm/br-upload.entry.js.map +1 -1
  181. package/dist/esm/index-CAyrQrUt.js +8 -0
  182. package/dist/esm/loader.js +1 -1
  183. package/dist/esm/webcomponents.js +1 -1
  184. package/dist/esm-es5/br-avatar.entry.js +1 -1
  185. package/dist/esm-es5/br-avatar.entry.js.map +1 -1
  186. package/dist/esm-es5/br-breadcrumb.entry.js +1 -1
  187. package/dist/esm-es5/br-breadcrumb.entry.js.map +1 -1
  188. package/dist/esm-es5/br-button.br-icon.entry.js.map +1 -1
  189. package/dist/esm-es5/br-button_2.entry.js +158 -158
  190. package/dist/esm-es5/br-checkbox.entry.js +1 -1
  191. package/dist/esm-es5/br-checkbox.entry.js.map +1 -1
  192. package/dist/esm-es5/br-checkgroup.entry.js +1 -1
  193. package/dist/esm-es5/br-checkgroup.entry.js.map +1 -1
  194. package/dist/esm-es5/br-collapse.entry.js +1 -1
  195. package/dist/esm-es5/br-collapse.entry.js.map +1 -1
  196. package/dist/esm-es5/br-divider.entry.js +1 -1
  197. package/dist/esm-es5/br-divider.entry.js.map +1 -1
  198. package/dist/esm-es5/br-dropdown.entry.js +1 -1
  199. package/dist/esm-es5/br-dropdown.entry.js.map +1 -1
  200. package/dist/esm-es5/br-input.br-radio.entry.js.map +1 -1
  201. package/dist/esm-es5/br-input_2.entry.js +23 -23
  202. package/dist/esm-es5/br-item.entry.js +1 -1
  203. package/dist/esm-es5/br-item.entry.js.map +1 -1
  204. package/dist/esm-es5/br-list.entry.js +1 -1
  205. package/dist/esm-es5/br-list.entry.js.map +1 -1
  206. package/dist/esm-es5/br-loading.entry.js +1 -1
  207. package/dist/esm-es5/br-loading.entry.js.map +1 -1
  208. package/dist/esm-es5/br-message.entry.js +1 -1
  209. package/dist/esm-es5/br-message.entry.js.map +1 -1
  210. package/dist/esm-es5/br-select.entry.js +120 -69
  211. package/dist/esm-es5/br-select.entry.js.map +1 -1
  212. package/dist/esm-es5/br-step-item.entry.js +419 -0
  213. package/dist/esm-es5/br-step-item.entry.js.map +1 -0
  214. package/dist/esm-es5/br-step.entry.js +431 -0
  215. package/dist/esm-es5/br-step.entry.js.map +1 -0
  216. package/dist/esm-es5/br-switch.entry.js +6 -6
  217. package/dist/esm-es5/br-switch.entry.js.map +1 -1
  218. package/dist/esm-es5/br-tag.entry.js +7 -7
  219. package/dist/esm-es5/br-tag.entry.js.map +1 -1
  220. package/dist/esm-es5/br-textarea.entry.js +10 -10
  221. package/dist/esm-es5/br-textarea.entry.js.map +1 -1
  222. package/dist/esm-es5/br-upload.entry.js +10 -10
  223. package/dist/esm-es5/br-upload.entry.js.map +1 -1
  224. package/dist/esm-es5/index-CAyrQrUt.js +23 -13
  225. package/dist/esm-es5/loader.js +37 -1
  226. package/dist/esm-es5/webcomponents.js +61 -25
  227. package/dist/hydrate/index.js +659 -66
  228. package/dist/hydrate/index.mjs +659 -66
  229. package/dist/stencil.config.js +1 -0
  230. package/dist/stencil.config.js.map +1 -1
  231. package/dist/types/components/select/select.d.ts +30 -4
  232. package/dist/types/components/step/step.d.ts +103 -0
  233. package/dist/types/components/step-item/step-item.d.ts +102 -0
  234. package/dist/types/components.d.ts +253 -4
  235. package/dist/webcomponents/br-avatar.entry.esm.js.map +1 -1
  236. package/dist/webcomponents/br-breadcrumb.entry.esm.js.map +1 -1
  237. package/dist/webcomponents/br-button.br-icon.entry.esm.js.map +1 -1
  238. package/dist/webcomponents/br-checkbox.entry.esm.js.map +1 -1
  239. package/dist/webcomponents/br-checkgroup.entry.esm.js.map +1 -1
  240. package/dist/webcomponents/br-collapse.entry.esm.js.map +1 -1
  241. package/dist/webcomponents/br-divider.entry.esm.js.map +1 -1
  242. package/dist/webcomponents/br-dropdown.entry.esm.js.map +1 -1
  243. package/dist/webcomponents/br-input.br-radio.entry.esm.js.map +1 -1
  244. package/dist/webcomponents/br-item.entry.esm.js.map +1 -1
  245. package/dist/webcomponents/br-list.entry.esm.js.map +1 -1
  246. package/dist/webcomponents/br-loading.entry.esm.js.map +1 -1
  247. package/dist/webcomponents/br-message.entry.esm.js.map +1 -1
  248. package/dist/webcomponents/br-select.entry.esm.js.map +1 -1
  249. package/dist/webcomponents/br-step-item.entry.esm.js.map +1 -0
  250. package/dist/webcomponents/br-step.entry.esm.js.map +1 -0
  251. package/dist/webcomponents/br-switch.entry.esm.js.map +1 -1
  252. package/dist/webcomponents/br-tag.entry.esm.js.map +1 -1
  253. package/dist/webcomponents/br-textarea.entry.esm.js.map +1 -1
  254. package/dist/webcomponents/br-upload.entry.esm.js.map +1 -1
  255. package/dist/webcomponents/p-019ce02a.entry.js +163 -0
  256. package/dist/webcomponents/p-0e81892b.system.entry.js +280 -0
  257. package/dist/webcomponents/p-121547cd.entry.js +87 -0
  258. package/dist/webcomponents/p-1e63a10d.system.entry.js +293 -0
  259. package/dist/webcomponents/{p-6b505a38.system.entry.js.map → p-1e63a10d.system.entry.js.map} +1 -1
  260. package/dist/webcomponents/p-302f5fbd.system.entry.js +428 -0
  261. package/dist/webcomponents/p-302f5fbd.system.entry.js.map +1 -0
  262. package/dist/webcomponents/p-3221d882.entry.js +281 -0
  263. package/dist/webcomponents/p-3221d882.entry.js.map +1 -0
  264. package/dist/webcomponents/p-32ca900a.entry.js +166 -0
  265. package/dist/webcomponents/{p-6e166dac.entry.js.map → p-32ca900a.entry.js.map} +1 -1
  266. package/dist/webcomponents/p-352c7312.system.entry.js +235 -0
  267. package/dist/webcomponents/p-36194f7c.entry.js +254 -0
  268. package/dist/webcomponents/p-3e073649.system.entry.js +121 -0
  269. package/dist/webcomponents/p-4c3c46ca.entry.js +152 -0
  270. package/dist/webcomponents/p-4c6733a1.system.entry.js +440 -0
  271. package/dist/webcomponents/p-4c6733a1.system.entry.js.map +1 -0
  272. package/dist/webcomponents/p-58a6aab1.system.entry.js +157 -0
  273. package/dist/webcomponents/p-69b18bcc.entry.js +104 -0
  274. package/dist/webcomponents/p-76426a2e.entry.js +144 -0
  275. package/dist/webcomponents/p-79aa414c.system.entry.js +425 -0
  276. package/dist/webcomponents/p-79e747c1.entry.js +168 -0
  277. package/dist/webcomponents/p-7dd4f2a5.system.entry.js +93 -0
  278. package/dist/webcomponents/{p-1dcPc0rI.system.js.map → p-7tDq9qWy.system.js.map} +1 -1
  279. package/dist/webcomponents/p-83f55139.entry.js +148 -0
  280. package/dist/webcomponents/p-84f8edae.entry.js +110 -0
  281. package/dist/webcomponents/p-928b76d0.entry.js +209 -0
  282. package/dist/webcomponents/{p-Ct3ex90V.system.js.map → p-9wCtgwp6.system.js.map} +1 -1
  283. package/dist/webcomponents/{p-thasv5yZ.system.js.map → p-B3wPFyS5.system.js.map} +1 -1
  284. package/dist/webcomponents/{p-BqvdZkL7.system.js.map → p-B9GHNpiJ.system.js.map} +1 -1
  285. package/dist/webcomponents/{p-usq43hTj.system.js.map → p-BXpIEO27.system.js.map} +1 -1
  286. package/dist/webcomponents/{p-D86s8ueb.system.js.map → p-BXsqNLmg.system.js.map} +1 -1
  287. package/dist/webcomponents/p-Bhwl8CRi.system.js +77 -41
  288. package/dist/webcomponents/{p-C_4ySWyP.system.js.map → p-BoK6TcDE.system.js.map} +1 -1
  289. package/dist/webcomponents/p-BwFsTqJ9.system.js.map +1 -0
  290. package/dist/webcomponents/{p-MDfQKKJ3.system.js.map → p-ByHGgMEG.system.js.map} +1 -1
  291. package/dist/webcomponents/p-CD1bwFZi.system.js.map +1 -0
  292. package/dist/webcomponents/{p-wytm5zt0.system.js.map → p-CVHsq8dp.system.js.map} +1 -1
  293. package/dist/webcomponents/{p-B90gByRD.system.js.map → p-CgEwLRss.system.js.map} +1 -1
  294. package/dist/webcomponents/{p-DFVDihQu.system.js.map → p-CgegvyhC.system.js.map} +1 -1
  295. package/dist/webcomponents/{p-BNl1VeC2.system.js.map → p-D5FcCD9L.system.js.map} +1 -1
  296. package/dist/webcomponents/{p-mh9IZoxC.system.js.map → p-DFnGIoqM.system.js.map} +1 -1
  297. package/dist/webcomponents/{p-YAlbMep3.system.js.map → p-DTG-5_9_.system.js.map} +1 -1
  298. package/dist/webcomponents/{p-dwDliNFd.system.js.map → p-K5tFZU2o.system.js.map} +1 -1
  299. package/dist/webcomponents/p-X9v1LZix.system.js.map +1 -0
  300. package/dist/webcomponents/p-a29ef881.system.entry.js +2386 -0
  301. package/dist/webcomponents/p-b3e7180f.system.entry.js +515 -0
  302. package/dist/webcomponents/p-b9b466b2.system.entry.js +116 -0
  303. package/dist/webcomponents/p-ba1c6153.system.entry.js +278 -0
  304. package/dist/webcomponents/p-c0a85892.entry.js +398 -0
  305. package/dist/webcomponents/p-c2f4ab31.entry.js +144 -0
  306. package/dist/webcomponents/p-c422755c.entry.js +388 -0
  307. package/dist/webcomponents/p-c422755c.entry.js.map +1 -0
  308. package/dist/webcomponents/p-cb5ebcb6.system.entry.js +254 -0
  309. package/dist/webcomponents/p-d33ec3ae.entry.js +140 -0
  310. package/dist/webcomponents/p-d36f650d.system.entry.js +155 -0
  311. package/dist/webcomponents/p-d52fbba3.system.entry.js +251 -0
  312. package/dist/webcomponents/p-dbba1627.system.entry.js +282 -0
  313. package/dist/webcomponents/p-ddce5a0b.entry.js +467 -0
  314. package/dist/webcomponents/p-e4e2fd4f.entry.js +257 -0
  315. package/dist/webcomponents/p-eb06a6e1.entry.js +2361 -0
  316. package/dist/webcomponents/p-ee3853d3.system.entry.js +151 -0
  317. package/dist/webcomponents/p-f8262121.system.entry.js +251 -0
  318. package/dist/webcomponents/p-fd191bf0.entry.js +278 -0
  319. package/dist/webcomponents/p-fd191bf0.entry.js.map +1 -0
  320. package/dist/webcomponents/p-fe37ebb6.system.entry.js +575 -0
  321. package/dist/webcomponents/p-fe37ebb6.system.entry.js.map +1 -0
  322. package/dist/webcomponents/{p-BeMhoFbq.system.js.map → p-gTDesSZK.system.js.map} +1 -1
  323. package/dist/webcomponents/{p-Dde15d6z.system.js.map → p-oLikpHRj.system.js.map} +1 -1
  324. package/dist/webcomponents/webcomponents.esm.js +56 -20
  325. package/package.json +1 -1
  326. package/dist/components/p-4n7uz3ik.js +0 -173
  327. package/dist/components/p-B27qgEvJ.js +0 -284
  328. package/dist/components/p-D27CYIFW.js +0 -153
  329. package/dist/components/p-D6xl9W7Q.js +0 -385
  330. package/dist/components/p-DGRJ0cGS.js +0 -197
  331. package/dist/components/p-Dt9PiOfU.js +0 -129
  332. package/dist/webcomponents/p-06f7eeff.system.entry.js +0 -254
  333. package/dist/webcomponents/p-0b4b4c3c.system.entry.js +0 -235
  334. package/dist/webcomponents/p-0baea87b.system.entry.js +0 -157
  335. package/dist/webcomponents/p-15208deb.system.entry.js +0 -282
  336. package/dist/webcomponents/p-24ffcc2b.system.entry.js +0 -524
  337. package/dist/webcomponents/p-24ffcc2b.system.entry.js.map +0 -1
  338. package/dist/webcomponents/p-27378f51.system.entry.js +0 -251
  339. package/dist/webcomponents/p-37837c94.entry.js +0 -144
  340. package/dist/webcomponents/p-3a508420.system.entry.js +0 -425
  341. package/dist/webcomponents/p-3f0965c1.entry.js +0 -168
  342. package/dist/webcomponents/p-4c5b3ba6.entry.js +0 -254
  343. package/dist/webcomponents/p-5417fc76.system.entry.js +0 -121
  344. package/dist/webcomponents/p-55be3a1b.entry.js +0 -87
  345. package/dist/webcomponents/p-58c537dc.system.entry.js +0 -155
  346. package/dist/webcomponents/p-5e68b68a.system.entry.js +0 -515
  347. package/dist/webcomponents/p-64088f4f.entry.js +0 -398
  348. package/dist/webcomponents/p-689dffab.entry.js +0 -257
  349. package/dist/webcomponents/p-6b505a38.system.entry.js +0 -293
  350. package/dist/webcomponents/p-6e166dac.entry.js +0 -166
  351. package/dist/webcomponents/p-703d9fdd.entry.js +0 -209
  352. package/dist/webcomponents/p-70b7a2e1.system.entry.js +0 -93
  353. package/dist/webcomponents/p-817f83ec.entry.js +0 -148
  354. package/dist/webcomponents/p-8326e9aa.entry.js +0 -110
  355. package/dist/webcomponents/p-91c947d6.entry.js +0 -152
  356. package/dist/webcomponents/p-9e243fa3.entry.js +0 -2361
  357. package/dist/webcomponents/p-be24a356.entry.js +0 -357
  358. package/dist/webcomponents/p-be24a356.entry.js.map +0 -1
  359. package/dist/webcomponents/p-c17f8737.entry.js +0 -104
  360. package/dist/webcomponents/p-c50854a2.system.entry.js +0 -151
  361. package/dist/webcomponents/p-c51e88c5.system.entry.js +0 -280
  362. package/dist/webcomponents/p-d335142c.entry.js +0 -467
  363. package/dist/webcomponents/p-da852ece.system.entry.js +0 -278
  364. package/dist/webcomponents/p-daf44e2e.system.entry.js +0 -116
  365. package/dist/webcomponents/p-de7e8ab8.entry.js +0 -163
  366. package/dist/webcomponents/p-fa6f51fa.system.entry.js +0 -251
  367. package/dist/webcomponents/p-fcb2845b.system.entry.js +0 -2386
  368. package/dist/webcomponents/p-s9klvrRa.system.js.map +0 -1
  369. /package/dist/components/{p-Dt9PiOfU.js.map → p-BUAXx2fX.js.map} +0 -0
  370. /package/dist/components/{p-4n7uz3ik.js.map → p-C1G4wYL7.js.map} +0 -0
  371. /package/dist/components/{p-DGRJ0cGS.js.map → p-Cf1VoqB7.js.map} +0 -0
  372. /package/dist/components/{p-B27qgEvJ.js.map → p-D3sFUq_f.js.map} +0 -0
  373. /package/dist/components/{p-D27CYIFW.js.map → p-DJC0NAoD.js.map} +0 -0
  374. /package/dist/components/{p-D6xl9W7Q.js.map → p-DlpHRT0g.js.map} +0 -0
  375. /package/dist/components/{p-BPq5El3u.js.map → p-Dne-S1Hl.js.map} +0 -0
  376. /package/dist/webcomponents/{p-de7e8ab8.entry.js.map → p-019ce02a.entry.js.map} +0 -0
  377. /package/dist/webcomponents/{p-c51e88c5.system.entry.js.map → p-0e81892b.system.entry.js.map} +0 -0
  378. /package/dist/webcomponents/{p-55be3a1b.entry.js.map → p-121547cd.entry.js.map} +0 -0
  379. /package/dist/webcomponents/{p-0b4b4c3c.system.entry.js.map → p-352c7312.system.entry.js.map} +0 -0
  380. /package/dist/webcomponents/{p-4c5b3ba6.entry.js.map → p-36194f7c.entry.js.map} +0 -0
  381. /package/dist/webcomponents/{p-5417fc76.system.entry.js.map → p-3e073649.system.entry.js.map} +0 -0
  382. /package/dist/webcomponents/{p-91c947d6.entry.js.map → p-4c3c46ca.entry.js.map} +0 -0
  383. /package/dist/webcomponents/{p-0baea87b.system.entry.js.map → p-58a6aab1.system.entry.js.map} +0 -0
  384. /package/dist/webcomponents/{p-c17f8737.entry.js.map → p-69b18bcc.entry.js.map} +0 -0
  385. /package/dist/webcomponents/{p-37837c94.entry.js.map → p-76426a2e.entry.js.map} +0 -0
  386. /package/dist/webcomponents/{p-3a508420.system.entry.js.map → p-79aa414c.system.entry.js.map} +0 -0
  387. /package/dist/webcomponents/{p-3f0965c1.entry.js.map → p-79e747c1.entry.js.map} +0 -0
  388. /package/dist/webcomponents/{p-70b7a2e1.system.entry.js.map → p-7dd4f2a5.system.entry.js.map} +0 -0
  389. /package/dist/webcomponents/{p-817f83ec.entry.js.map → p-83f55139.entry.js.map} +0 -0
  390. /package/dist/webcomponents/{p-8326e9aa.entry.js.map → p-84f8edae.entry.js.map} +0 -0
  391. /package/dist/webcomponents/{p-703d9fdd.entry.js.map → p-928b76d0.entry.js.map} +0 -0
  392. /package/dist/webcomponents/{p-fcb2845b.system.entry.js.map → p-a29ef881.system.entry.js.map} +0 -0
  393. /package/dist/webcomponents/{p-5e68b68a.system.entry.js.map → p-b3e7180f.system.entry.js.map} +0 -0
  394. /package/dist/webcomponents/{p-daf44e2e.system.entry.js.map → p-b9b466b2.system.entry.js.map} +0 -0
  395. /package/dist/webcomponents/{p-da852ece.system.entry.js.map → p-ba1c6153.system.entry.js.map} +0 -0
  396. /package/dist/webcomponents/{p-64088f4f.entry.js.map → p-c0a85892.entry.js.map} +0 -0
  397. /package/dist/webcomponents/{p-cc4c57d8.entry.js.map → p-c2f4ab31.entry.js.map} +0 -0
  398. /package/dist/webcomponents/{p-06f7eeff.system.entry.js.map → p-cb5ebcb6.system.entry.js.map} +0 -0
  399. /package/dist/webcomponents/{p-df5400e2.entry.js.map → p-d33ec3ae.entry.js.map} +0 -0
  400. /package/dist/webcomponents/{p-58c537dc.system.entry.js.map → p-d36f650d.system.entry.js.map} +0 -0
  401. /package/dist/webcomponents/{p-27378f51.system.entry.js.map → p-d52fbba3.system.entry.js.map} +0 -0
  402. /package/dist/webcomponents/{p-15208deb.system.entry.js.map → p-dbba1627.system.entry.js.map} +0 -0
  403. /package/dist/webcomponents/{p-d335142c.entry.js.map → p-ddce5a0b.entry.js.map} +0 -0
  404. /package/dist/webcomponents/{p-689dffab.entry.js.map → p-e4e2fd4f.entry.js.map} +0 -0
  405. /package/dist/webcomponents/{p-9e243fa3.entry.js.map → p-eb06a6e1.entry.js.map} +0 -0
  406. /package/dist/webcomponents/{p-c50854a2.system.entry.js.map → p-ee3853d3.system.entry.js.map} +0 -0
  407. /package/dist/webcomponents/{p-fa6f51fa.system.entry.js.map → p-f8262121.system.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"br-select.entry.cjs.js","mappings":"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","names":["h","index"],"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: 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@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 * JSON contendo as opções do select.\n */\n @Prop({ reflect: true }) options: string = '[]'\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 * 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 // Valor exibido no input, refletindo as opções selecionadas.\n @State() inputValue: 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 */\n @Event() brDidSelectChange: EventEmitter\n\n @Watch('options')\n synchronizeSelect() {\n try {\n const rawOptions = JSON.parse(this.options)\n this.parsedOptions = this.sanitizeOptions(rawOptions)\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 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.addEventListener('click', this.handleClickOutside)\n }\n\n private sanitizeOptions(\n rawOptions: { label: string; value: string; selected: boolean }[]\n ): { label: string; value: string; selected: boolean }[] {\n const validOptions = []\n const invalidOptions = []\n\n rawOptions.forEach((option) => {\n if (typeof option.label === 'string' && option.label.trim() !== '') {\n validOptions.push({\n label: option.label.trim(),\n value: typeof option.value === 'string' ? option.value : '',\n selected: typeof option.selected === 'boolean' ? option.selected : false,\n })\n } else {\n invalidOptions.push(option)\n }\n })\n\n if (invalidOptions.length > 0) {\n console.warn('Opções inválidas descartadas:', invalidOptions)\n }\n\n return validOptions\n }\n\n private readonly handleClickOutside = (event: MouseEvent) => {\n const target = event.target as HTMLElement\n if (this.isExpanded && !this.el.contains(target)) {\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) // Garante que o índice correto será usado\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 HTMLElement\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 const item = items[index] as HTMLElement\n item.focus()\n }\n\n private openSelect() {\n this.isExpanded = true\n }\n\n private closeSelect() {\n this.isExpanded = false\n }\n\n private handleSelection(index: number) {\n if (index < 0 || index >= this.parsedOptions.length) {\n return\n }\n\n if (this.isMultiple) {\n this.parsedOptions[index].selected = !this.parsedOptions[index].selected\n } else {\n this.parsedOptions.forEach((option) => (option.selected = false))\n this.parsedOptions[index].selected = true\n this.isExpanded = false\n }\n this.updateSelectedOptions()\n this.emitSelectedOptions()\n this.updateSelectedAllState()\n }\n\n private updateSelectedOptions() {\n this.inputValue = this.getStringValue(this.parsedOptions.filter((option) => option.selected))\n }\n\n private getStringValue(options) {\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 const selectedOptions = this.parsedOptions\n .filter((option) => option.selected === true)\n .map((option) => option.label ?? option.value)\n\n this.brDidSelectChange.emit(selectedOptions)\n }\n\n private updateSelectedAllState() {\n const allSelected = this.parsedOptions.every((option) => option.selected)\n this.isAllSelected = allSelected\n }\n\n private toggleSelectAll() {\n if (this.isAllSelected) {\n this.parsedOptions.forEach((option) => (option.selected = false))\n this.isAllSelected = false\n } else {\n this.parsedOptions.forEach((option) => (option.selected = true))\n this.isAllSelected = true\n }\n\n this.updateSelectedOptions()\n this.emitSelectedOptions()\n }\n\n private renderInput() {\n return (\n <br-input\n value={this.inputValue}\n label={this.label}\n placeholder={this.placeholder}\n readonly\n onClick={() => this.toggleOpen()}\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 >\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 return this.parsedOptions.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 private getCssClassMap(): CssClassMap {\n return {\n 'br-select': true,\n }\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"],"version":3}
1
+ {"file":"br-select.entry.cjs.js","mappings":"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","names":["h","index"],"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: 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@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 * 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 // Valor exibido no input, refletindo as opções selecionadas.\n @State() inputValue: 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 */\n @Event() brDidSelectChange: 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 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 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 const target = event.target as HTMLElement\n if (this.isExpanded && !this.el.contains(target)) {\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 HTMLElement\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.parsedOptions.length) {\n return\n }\n\n if (this.isMultiple) {\n const updatedOptions = [...this.parsedOptions]\n updatedOptions[index].selected = !updatedOptions[index].selected\n this.parsedOptions = updatedOptions\n } else {\n const updatedOptions = this.parsedOptions.map((option) => ({ ...option, selected: false }))\n updatedOptions[index].selected = true\n this.parsedOptions = updatedOptions\n this.isExpanded = false\n }\n this.updateSelectedOptions()\n this.emitSelectedOptions()\n this.updateSelectedAllState()\n }\n\n private updateSelectedOptions() {\n this.inputValue = this.getStringValue(this.parsedOptions.filter((option) => option.selected))\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 const selectedOptions = this.parsedOptions\n .filter((option) => option.selected === true)\n .map((option) => option.label ?? option.value)\n\n this.brDidSelectChange.emit(selectedOptions)\n\n // Atualiza o valor do form associado\n this.elementInternals.setFormValue(JSON.stringify(selectedOptions))\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 this.emitSelectedOptions()\n }\n\n private renderInput() {\n return (\n <br-input\n value={this.inputValue}\n label={this.label}\n placeholder={this.placeholder}\n readonly\n onClick={() => this.toggleOpen()}\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 return this.parsedOptions.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 private getCssClassMap(): CssClassMap {\n return {\n 'br-select': true,\n }\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"],"version":3}
@@ -1 +1 @@
1
- {"version":3,"file":"br-select.entry.cjs.js","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: 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@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 * JSON contendo as opções do select.\n */\n @Prop({ reflect: true }) options: string = '[]'\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 * 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 // Valor exibido no input, refletindo as opções selecionadas.\n @State() inputValue: 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 */\n @Event() brDidSelectChange: EventEmitter\n\n @Watch('options')\n synchronizeSelect() {\n try {\n const rawOptions = JSON.parse(this.options)\n this.parsedOptions = this.sanitizeOptions(rawOptions)\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 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.addEventListener('click', this.handleClickOutside)\n }\n\n private sanitizeOptions(\n rawOptions: { label: string; value: string; selected: boolean }[]\n ): { label: string; value: string; selected: boolean }[] {\n const validOptions = []\n const invalidOptions = []\n\n rawOptions.forEach((option) => {\n if (typeof option.label === 'string' && option.label.trim() !== '') {\n validOptions.push({\n label: option.label.trim(),\n value: typeof option.value === 'string' ? option.value : '',\n selected: typeof option.selected === 'boolean' ? option.selected : false,\n })\n } else {\n invalidOptions.push(option)\n }\n })\n\n if (invalidOptions.length > 0) {\n console.warn('Opções inválidas descartadas:', invalidOptions)\n }\n\n return validOptions\n }\n\n private readonly handleClickOutside = (event: MouseEvent) => {\n const target = event.target as HTMLElement\n if (this.isExpanded && !this.el.contains(target)) {\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) // Garante que o índice correto será usado\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 HTMLElement\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 const item = items[index] as HTMLElement\n item.focus()\n }\n\n private openSelect() {\n this.isExpanded = true\n }\n\n private closeSelect() {\n this.isExpanded = false\n }\n\n private handleSelection(index: number) {\n if (index < 0 || index >= this.parsedOptions.length) {\n return\n }\n\n if (this.isMultiple) {\n this.parsedOptions[index].selected = !this.parsedOptions[index].selected\n } else {\n this.parsedOptions.forEach((option) => (option.selected = false))\n this.parsedOptions[index].selected = true\n this.isExpanded = false\n }\n this.updateSelectedOptions()\n this.emitSelectedOptions()\n this.updateSelectedAllState()\n }\n\n private updateSelectedOptions() {\n this.inputValue = this.getStringValue(this.parsedOptions.filter((option) => option.selected))\n }\n\n private getStringValue(options) {\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 const selectedOptions = this.parsedOptions\n .filter((option) => option.selected === true)\n .map((option) => option.label ?? option.value)\n\n this.brDidSelectChange.emit(selectedOptions)\n }\n\n private updateSelectedAllState() {\n const allSelected = this.parsedOptions.every((option) => option.selected)\n this.isAllSelected = allSelected\n }\n\n private toggleSelectAll() {\n if (this.isAllSelected) {\n this.parsedOptions.forEach((option) => (option.selected = false))\n this.isAllSelected = false\n } else {\n this.parsedOptions.forEach((option) => (option.selected = true))\n this.isAllSelected = true\n }\n\n this.updateSelectedOptions()\n this.emitSelectedOptions()\n }\n\n private renderInput() {\n return (\n <br-input\n value={this.inputValue}\n label={this.label}\n placeholder={this.placeholder}\n readonly\n onClick={() => this.toggleOpen()}\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 >\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 return this.parsedOptions.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 private getCssClassMap(): CssClassMap {\n return {\n 'br-select': true,\n }\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"],"names":["h","index"],"mappings":"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"}
1
+ {"version":3,"file":"br-select.entry.cjs.js","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: 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@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 * 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 // Valor exibido no input, refletindo as opções selecionadas.\n @State() inputValue: 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 */\n @Event() brDidSelectChange: 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 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 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 const target = event.target as HTMLElement\n if (this.isExpanded && !this.el.contains(target)) {\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 HTMLElement\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.parsedOptions.length) {\n return\n }\n\n if (this.isMultiple) {\n const updatedOptions = [...this.parsedOptions]\n updatedOptions[index].selected = !updatedOptions[index].selected\n this.parsedOptions = updatedOptions\n } else {\n const updatedOptions = this.parsedOptions.map((option) => ({ ...option, selected: false }))\n updatedOptions[index].selected = true\n this.parsedOptions = updatedOptions\n this.isExpanded = false\n }\n this.updateSelectedOptions()\n this.emitSelectedOptions()\n this.updateSelectedAllState()\n }\n\n private updateSelectedOptions() {\n this.inputValue = this.getStringValue(this.parsedOptions.filter((option) => option.selected))\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 const selectedOptions = this.parsedOptions\n .filter((option) => option.selected === true)\n .map((option) => option.label ?? option.value)\n\n this.brDidSelectChange.emit(selectedOptions)\n\n // Atualiza o valor do form associado\n this.elementInternals.setFormValue(JSON.stringify(selectedOptions))\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 this.emitSelectedOptions()\n }\n\n private renderInput() {\n return (\n <br-input\n value={this.inputValue}\n label={this.label}\n placeholder={this.placeholder}\n readonly\n onClick={() => this.toggleOpen()}\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 return this.parsedOptions.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 private getCssClassMap(): CssClassMap {\n return {\n 'br-select': true,\n }\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"],"names":["h","index"],"mappings":"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"}