@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
@@ -0,0 +1 @@
1
+ {"version":3,"names":["selectCss","Select","exports","this","placeholder","isMultiple","options","selectAllLabel","unselectAllLabel","showSearchIcon","isOpen","customId","concat","selectId","parsedOptions","inputValue","isAllSelected","isExpanded","focusedIndex","handleClickOutside","event","target","_this","el","contains","class_1","prototype","synchronizeSelect","jsonData","JSON","parse","Array","isArray","Error","error","console","message","updateSelectedOptions","updateSelectedAllState","emitSelectedOptions","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","updatedOptions","__spreadArray","selected","map","option","__assign","getStringValue","filter","firstSelected","label","value","howManySelected","selectedOptions","_a","brDidSelectChange","emit","elementInternals","setFormValue","stringify","allSelected","every","renderInput","h","readonly","onClick","onKeyDown","slot","height","renderSelectAllCheckbox","class","tabindex","role","name","checked","onCheckedChange","renderOptions","exportparts","getComputedId","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: 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"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"p-BeMhoFbq.system.js","sources":["../../packages/webcomponents/src/components/upload/upload.scss?tag=br-upload&encapsulation=shadow","../../packages/webcomponents/src/components/upload/upload.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/upload/upload\";\n\n:host {\n display: block;\n}\n","import { AttachInternals, Component, Element, h, Host, Prop, State } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\nenum UploadState {\n INFO = 'info',\n WARNING = 'warning',\n DANGER = 'danger',\n SUCCESS = 'success',\n}\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/upload?tab=designer).\n *\n * @slot default - Descrição do slot\n */\n@Component({\n tag: 'br-upload',\n styleUrl: 'upload.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Upload {\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!: HTMLBrUploadElement\n\n /**\n * Tipos de arquivo permitidos (ex: 'image/*').\n * Esta propriedade define quais tipos de arquivos podem ser selecionados para upload.\n */\n @Prop() accept: string = ''\n\n /**\n * Texto descritivo do campo de upload.\n * Este é o texto que é mostrado no label do textarea.\n */\n @Prop() label: string = 'Envio de arquivo'\n\n /**\n * Evento emitido quando um arquivo é selecionado.\n * Este estado armazena os arquivos que foram selecionados pelo usuário.\n */\n @State() filesSelected: FileList | null = null\n\n /**\n * Referência ao elemento de arquivo selecionado.\n * Este estado armazena o arquivo que foi selecionado para upload.\n */\n @State() file: File | null = null\n\n /**\n * Indica se o componente está desativado.\n * Quando definido como `true`, o campo de upload se torna não interativo,\n * impedindo que o usuário selecione ou envie arquivos.\n * Isso é útil para controlar a interação do usuário em situações específicas,\n * como durante o carregamento de dados ou quando o formulário está em um estado inválido.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * Define o estado visual da mensagem.\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 }) state: string = UploadState.INFO\n\n /**\n * Indica se o componente permite a seleção de múltiplos arquivos.\n * Quando definido como `true`, o usuário pode selecionar mais de um arquivo para upload.\n */\n @Prop() multiple: boolean = false\n\n @AttachInternals() elementInternals: ElementInternals\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-upload': true,\n [this.state]: true,\n }\n }\n\n private handleRemoveFileSelection(file: File) {\n const newArrayFilter = Array.from(this.filesSelected).filter((f) => f !== file)\n this.filesSelected = newArrayFilter as unknown as FileList\n const fileInput = this.el.shadowRoot.getElementById('single-file') as HTMLInputElement\n fileInput.value = ''\n }\n\n private renderFilesUploaded() {\n const fileSizes = this._calculateFileSize(this.filesSelected)\n\n return fileSizes.map(({ file, size }) => {\n return (\n <div class=\"br-item d-flex\" key={file.name}>\n <div class=\"content text-primary-default mr-auto\">{file.name}</div>\n <div class=\"support mr-n2\">\n <span class=\"\">{size}</span>\n <br-button\n shape=\"circle\"\n type=\"button\"\n aria-label=\"Remover arquivo\"\n onClick={() => this.handleRemoveFileSelection(file)}\n >\n <br-icon icon-name=\"fa-solid:trash\" aria-hidden=\"true\"></br-icon>\n </br-button>\n </div>\n </div>\n )\n })\n }\n\n private onInputChange(files: FileList) {\n if (files.length === 1) {\n this.filesSelected = files\n } else if (files.length > 0) {\n this.filesSelected = files\n } else {\n console.error(files.length === 0 ? 'NENHUM ARQUIVO ENVIADO' : 'VOCÊ SÓ PODE ENVIAR UM ARQUIVO POR VEZ')\n\n return false\n }\n }\n\n private _calculateFileSize(files: FileList) {\n return Array.from(files).map((file) => {\n let sOutput = ''\n const aMultiples = ['KB', 'MB', 'GB', 'TB']\n let nMultiple = 0\n let nApprox = file.size / 1024\n\n if (nApprox < 1) {\n sOutput = `${file.size} bytes`\n } else {\n while (nApprox > 1 && nMultiple < aMultiples.length) {\n sOutput = `${nApprox.toFixed(2)} ${aMultiples[nMultiple]}`\n nApprox /= 1024\n nMultiple++\n }\n }\n\n return { file: file, size: sOutput || 0 }\n })\n }\n\n private handleDrop(event: DragEvent) {\n event.preventDefault()\n const files = event.dataTransfer?.files\n if (files && files.length > 0) {\n this.onInputChange(files)\n }\n }\n\n private handleDragOver(event: DragEvent) {\n event.preventDefault()\n }\n\n private handleFileSelection() {\n const fileInput = this.el.shadowRoot.getElementById('single-file') as HTMLInputElement\n fileInput.click()\n }\n\n private readonly handleInputChange = (event: Event) => {\n const target = event.target as HTMLInputElement\n this.onInputChange(target.files)\n }\n\n render() {\n return (\n <Host>\n <div class={this.getCssClassMap()}>\n <label class=\"upload-label\" form=\"single-file\">\n <span>{this.label}</span>\n </label>\n <button\n class=\"upload-button\"\n type=\"button\"\n tabIndex={this.disabled ? -1 : 0}\n disabled={this.disabled}\n aria-label=\"Selecionar arquivo para upload\"\n onClick={() => this.handleFileSelection()}\n onDrop={(event) => this.handleDrop(event)}\n onDragOver={(event) => this.handleDragOver(event)}\n >\n <br-icon icon-name=\"fa-solid:upload\" height=\"16\" aria-hidden=\"true\"></br-icon>\n <span>Selecione o arquivo</span>\n </button>\n\n <input\n class=\"upload-input\"\n id=\"single-file\"\n type=\"file\"\n aria-label=\"enviar arquivo\"\n onChange={this.handleInputChange}\n multiple={this.multiple}\n disabled={this.disabled}\n accept={this.accept}\n />\n <div id=\"list-files\" class=\"upload-list\">\n {this.filesSelected ? this.renderFilesUploaded() : null}\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p-gTDesSZK.system.js","sources":["../../packages/webcomponents/src/components/upload/upload.scss?tag=br-upload&encapsulation=shadow","../../packages/webcomponents/src/components/upload/upload.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/upload/upload\";\n\n:host {\n display: block;\n}\n","import { AttachInternals, Component, Element, h, Host, Prop, State } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\nenum UploadState {\n INFO = 'info',\n WARNING = 'warning',\n DANGER = 'danger',\n SUCCESS = 'success',\n}\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/upload?tab=designer).\n *\n * @slot default - Descrição do slot\n */\n@Component({\n tag: 'br-upload',\n styleUrl: 'upload.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Upload {\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!: HTMLBrUploadElement\n\n /**\n * Tipos de arquivo permitidos (ex: 'image/*').\n * Esta propriedade define quais tipos de arquivos podem ser selecionados para upload.\n */\n @Prop() accept: string = ''\n\n /**\n * Texto descritivo do campo de upload.\n * Este é o texto que é mostrado no label do textarea.\n */\n @Prop() label: string = 'Envio de arquivo'\n\n /**\n * Evento emitido quando um arquivo é selecionado.\n * Este estado armazena os arquivos que foram selecionados pelo usuário.\n */\n @State() filesSelected: FileList | null = null\n\n /**\n * Referência ao elemento de arquivo selecionado.\n * Este estado armazena o arquivo que foi selecionado para upload.\n */\n @State() file: File | null = null\n\n /**\n * Indica se o componente está desativado.\n * Quando definido como `true`, o campo de upload se torna não interativo,\n * impedindo que o usuário selecione ou envie arquivos.\n * Isso é útil para controlar a interação do usuário em situações específicas,\n * como durante o carregamento de dados ou quando o formulário está em um estado inválido.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * Define o estado visual da mensagem.\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 }) state: string = UploadState.INFO\n\n /**\n * Indica se o componente permite a seleção de múltiplos arquivos.\n * Quando definido como `true`, o usuário pode selecionar mais de um arquivo para upload.\n */\n @Prop() multiple: boolean = false\n\n @AttachInternals() elementInternals: ElementInternals\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-upload': true,\n [this.state]: true,\n }\n }\n\n private handleRemoveFileSelection(file: File) {\n const newArrayFilter = Array.from(this.filesSelected).filter((f) => f !== file)\n this.filesSelected = newArrayFilter as unknown as FileList\n const fileInput = this.el.shadowRoot.getElementById('single-file') as HTMLInputElement\n fileInput.value = ''\n }\n\n private renderFilesUploaded() {\n const fileSizes = this._calculateFileSize(this.filesSelected)\n\n return fileSizes.map(({ file, size }) => {\n return (\n <div class=\"br-item d-flex\" key={file.name}>\n <div class=\"content text-primary-default mr-auto\">{file.name}</div>\n <div class=\"support mr-n2\">\n <span class=\"\">{size}</span>\n <br-button\n shape=\"circle\"\n type=\"button\"\n aria-label=\"Remover arquivo\"\n onClick={() => this.handleRemoveFileSelection(file)}\n >\n <br-icon icon-name=\"fa-solid:trash\" aria-hidden=\"true\"></br-icon>\n </br-button>\n </div>\n </div>\n )\n })\n }\n\n private onInputChange(files: FileList) {\n if (files.length === 1) {\n this.filesSelected = files\n } else if (files.length > 0) {\n this.filesSelected = files\n } else {\n console.error(files.length === 0 ? 'NENHUM ARQUIVO ENVIADO' : 'VOCÊ SÓ PODE ENVIAR UM ARQUIVO POR VEZ')\n\n return false\n }\n }\n\n private _calculateFileSize(files: FileList) {\n return Array.from(files).map((file) => {\n let sOutput = ''\n const aMultiples = ['KB', 'MB', 'GB', 'TB']\n let nMultiple = 0\n let nApprox = file.size / 1024\n\n if (nApprox < 1) {\n sOutput = `${file.size} bytes`\n } else {\n while (nApprox > 1 && nMultiple < aMultiples.length) {\n sOutput = `${nApprox.toFixed(2)} ${aMultiples[nMultiple]}`\n nApprox /= 1024\n nMultiple++\n }\n }\n\n return { file: file, size: sOutput || 0 }\n })\n }\n\n private handleDrop(event: DragEvent) {\n event.preventDefault()\n const files = event.dataTransfer?.files\n if (files && files.length > 0) {\n this.onInputChange(files)\n }\n }\n\n private handleDragOver(event: DragEvent) {\n event.preventDefault()\n }\n\n private handleFileSelection() {\n const fileInput = this.el.shadowRoot.getElementById('single-file') as HTMLInputElement\n fileInput.click()\n }\n\n private readonly handleInputChange = (event: Event) => {\n const target = event.target as HTMLInputElement\n this.onInputChange(target.files)\n }\n\n render() {\n return (\n <Host>\n <div class={this.getCssClassMap()}>\n <label class=\"upload-label\" form=\"single-file\">\n <span>{this.label}</span>\n </label>\n <button\n class=\"upload-button\"\n type=\"button\"\n tabIndex={this.disabled ? -1 : 0}\n disabled={this.disabled}\n aria-label=\"Selecionar arquivo para upload\"\n onClick={() => this.handleFileSelection()}\n onDrop={(event) => this.handleDrop(event)}\n onDragOver={(event) => this.handleDragOver(event)}\n >\n <br-icon icon-name=\"fa-solid:upload\" height=\"16\" aria-hidden=\"true\"></br-icon>\n <span>Selecione o arquivo</span>\n </button>\n\n <input\n class=\"upload-input\"\n id=\"single-file\"\n type=\"file\"\n aria-label=\"enviar arquivo\"\n onChange={this.handleInputChange}\n multiple={this.multiple}\n disabled={this.disabled}\n accept={this.accept}\n />\n <div id=\"list-files\" class=\"upload-list\">\n {this.filesSelected ? this.renderFilesUploaded() : null}\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;MAAA,MAAM,SAAS,GAAG,o65DAAo65D;;MCIt75D,IAAK,WAKJ;MALD,CAAA,UAAK,WAAW,EAAA;MACd,IAAA,WAAA,CAAA,MAAA,CAAA,GAAA,MAAa;MACb,IAAA,WAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;MACnB,IAAA,WAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;MACjB,IAAA,WAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;MACrB,CAAC,EALI,WAAW,KAAX,WAAW,GAKf,EAAA,CAAA,CAAA;YAaY,MAAM,wBAAA,MAAA;;;;;;;;;;;;MAOjB;;;MAGG;UACK,MAAM,GAAW,EAAE;MAE3B;;;MAGG;UACK,KAAK,GAAW,kBAAkB;MAE1C;;;MAGG;UACM,aAAa,GAAoB,IAAI;MAE9C;;;MAGG;UACM,IAAI,GAAgB,IAAI;MAEjC;;;;;;MAMG;UACsB,QAAQ,GAAY,KAAK;MAElD;;;;;;;;MAQG;MACsB,IAAA,KAAK,GAAW,WAAW,CAAC,IAAI;MAEzD;;;MAGG;UACK,QAAQ,GAAY,KAAK;MAEd,IAAA,gBAAgB;UAE3B,cAAc,GAAA;cACpB,OAAO;MACL,YAAA,WAAW,EAAE,IAAI;MACjB,YAAA,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI;eACnB;;MAGK,IAAA,yBAAyB,CAAC,IAAU,EAAA;cAC1C,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;MAC/E,QAAA,IAAI,CAAC,aAAa,GAAG,cAAqC;MAC1D,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,CAAqB;MACtF,QAAA,SAAS,CAAC,KAAK,GAAG,EAAE;;UAGd,mBAAmB,GAAA;cACzB,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC;cAE7D,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAI;kBACtC,QACE,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,gBAAgB,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAA,EACxC,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,sCAAsC,IAAE,IAAI,CAAC,IAAI,CAAO,EACnE,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,eAAe,EAAA,EACxB,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,EAAE,EAAA,EAAE,IAAI,CAAQ,EAC5B,CACE,CAAA,WAAA,EAAA,EAAA,KAAK,EAAC,QAAQ,EACd,IAAI,EAAC,QAAQ,gBACF,iBAAiB,EAC5B,OAAO,EAAE,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAA,EAEnD,CAAmB,CAAA,SAAA,EAAA,EAAA,WAAA,EAAA,gBAAgB,iBAAa,MAAM,EAAA,CAAW,CACvD,CACR,CACF;MAEV,SAAC,CAAC;;MAGI,IAAA,aAAa,CAAC,KAAe,EAAA;MACnC,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;MACtB,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;;MACrB,aAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;MAC3B,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;;mBACrB;MACL,YAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,wBAAwB,GAAG,wCAAwC,CAAC;MAEvG,YAAA,OAAO,KAAK;;;MAIR,IAAA,kBAAkB,CAAC,KAAe,EAAA;MACxC,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;kBACpC,IAAI,OAAO,GAAG,EAAE;kBAChB,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;kBAC3C,IAAI,SAAS,GAAG,CAAC;MACjB,YAAA,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI;MAE9B,YAAA,IAAI,OAAO,GAAG,CAAC,EAAE;MACf,gBAAA,OAAO,GAAG,CAAG,EAAA,IAAI,CAAC,IAAI,QAAQ;;uBACzB;sBACL,OAAO,OAAO,GAAG,CAAC,IAAI,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE;MACnD,oBAAA,OAAO,GAAG,CAAA,EAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,UAAU,CAAC,SAAS,CAAC,EAAE;0BAC1D,OAAO,IAAI,IAAI;MACf,oBAAA,SAAS,EAAE;;;kBAIf,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,IAAI,CAAC,EAAE;MAC3C,SAAC,CAAC;;MAGI,IAAA,UAAU,CAAC,KAAgB,EAAA;cACjC,KAAK,CAAC,cAAc,EAAE;MACtB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,KAAK;cACvC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;MAC7B,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;;;MAIrB,IAAA,cAAc,CAAC,KAAgB,EAAA;cACrC,KAAK,CAAC,cAAc,EAAE;;UAGhB,mBAAmB,GAAA;MACzB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,CAAqB;cACtF,SAAS,CAAC,KAAK,EAAE;;MAGF,IAAA,iBAAiB,GAAG,CAAC,KAAY,KAAI;MACpD,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B;MAC/C,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;MAClC,KAAC;UAED,MAAM,GAAA;MACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAAA,EAC/B,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAO,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,aAAa,EAAA,EAC5C,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAO,IAAI,CAAC,KAAK,CAAQ,CACnB,EACR,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,EAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACZ,YAAA,EAAA,gCAAgC,EAC3C,OAAO,EAAE,MAAM,IAAI,CAAC,mBAAmB,EAAE,EACzC,MAAM,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EACzC,UAAU,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAA,EAEjD,CAAA,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,WAAA,EAAmB,iBAAiB,EAAC,MAAM,EAAC,IAAI,EAAA,aAAA,EAAa,MAAM,EAAW,CAAA,EAC9E,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAA,qBAAA,CAAgC,CACzB,EAET,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,cAAc,EACpB,EAAE,EAAC,aAAa,EAChB,IAAI,EAAC,MAAM,EACA,YAAA,EAAA,gBAAgB,EAC3B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,CAAA,EACF,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAE,EAAC,YAAY,EAAC,KAAK,EAAC,aAAa,EACrC,EAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CACnD,CACF,CACD;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"p-Dde15d6z.system.js","sources":["../../packages/webcomponents/src/components/item/item.scss?tag=br-item&encapsulation=shadow","../../packages/webcomponents/src/components/item/item.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/item/item\";\n\n:host {\n display: block;\n}\n\n::slotted(br-checkbox) {\n max-width: fit-content;\n max-height: fit-content;\n}\n\n::slotted(br-radio) {\n max-width: fit-content;\n max-height: fit-content;\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Listen, Prop, State } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/item?tab=designer).\n *\n * @slot default - Área de conteúdo, podendo conter qualquer componente, exceto botões primários e componentes relacionados à navegação (como carrosséis, paginações, abas, menus, etc.).\n *\n * @slot start - Área de recursos visuais, podendo conter elementos como ícones, avatares e mídias.\n *\n * @slot end - Área de recursos complementares, podendo conter componentes interativos, metadados e informações adicionais.\n */\n@Component({\n tag: 'br-item',\n styleUrl: 'item.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Item {\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: HTMLBrItemElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Desativa o item, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: 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-item-${itemId++}`\n\n /**\n * Indica se o item está no estado ativo.\n * Se definido como verdadeiro, o item será exibido como ativo.\n */\n @Prop({ reflect: true }) readonly isActive: boolean = false\n\n /**\n * Indica se o item está no estado selecionado.\n * Se definido como verdadeiro, o item será exibido como selecionado.\n */\n @Prop({ reflect: true }) readonly isSelected: boolean = false\n\n /**\n * Marca o item como interativo, permitindo que toda a superfície do item seja clicável.\n */\n @Prop({ reflect: true }) readonly isInteractive: boolean = false\n\n /**\n * URL ou caminho para o qual o usuário será direcionado ao clicar no item. Quando definido, o item será renderizado como um link.\n */\n @Prop({ reflect: true }) readonly href?: string\n\n /**\n * Define o alvo do link quando `href` está presente. Pode ser:\n * - `_blank` para abrir em uma nova aba,\n * - `_self` para abrir na mesma aba,\n * - `_parent` para abrir na aba pai,\n * - `_top` para abrir na aba superior.\n */\n @Prop({ reflect: true }) readonly target?: '_blank' | '_self' | '_parent' | '_top'\n\n /**\n * Quando definido como `true`, o item será tratado como um botão.\n */\n @Prop({ reflect: true }) readonly isButton: boolean = false\n\n /**\n * Tipo do botão, aplicável apenas se `isButton` for `true`. Pode ser:\n * - `'submit'` para enviar um formulário,\n * - `'reset'` para redefinir um formulário,\n * - `'button'` para um botão padrão.\n */\n @Prop({ reflect: true, mutable: true }) type: 'submit' | 'reset' | 'button'\n\n /**\n * Define um valor associado ao br-item quando renderizado como um botão, utilizado em contextos de formulário.\n */\n @Prop({ reflect: true }) readonly value?: string\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 // Propriedade interna para verificar a presença de conteúdo no slot default\n @State() hasSlotDefault: boolean = false\n\n @State() hasSlotStart: boolean = false\n\n @State() hasSlotEnd: boolean = false\n\n // Propriedade interna para armazenar o valor selecionado\n @State() selectedValue: boolean = false\n\n // Propriedade para rastrear a presença de rádios dentro do item\n private hasRadios: boolean = false\n\n @Listen('checkedChange', { target: 'document' })\n handleRadioChange() {\n requestAnimationFrame(() => {\n this.updateRadioSelectionState()\n })\n }\n\n @Listen('checkedChange', { target: 'document' })\n handleCheckboxChange(event: Event) {\n const target = event.target as HTMLElement\n\n if (this.el.contains(target)) {\n this.updateCheckboxSelectionState()\n }\n }\n\n /**\n * Evento customizado emitido quando o item é clicado, aplicável apenas se o item for um botão (`<button>`).\n * Pode ser utilizado para ações personalizadas, exceto quando o item está desativado.\n */\n @Event({ composed: true, cancelable: true, bubbles: true }) brDidClick: EventEmitter\n\n /**\n * Evento customizado aplicável para todos os tipos de elementos (`div`, `button`, `a`), emitido quando o item é selecionado e desde que a propriedade `isInteractive` esteja presente.\n */\n @Event({ bubbles: true, composed: true }) brDidSelect: EventEmitter<{ selected: boolean }>\n\n componentWillLoad() {\n this.hasSlotContentDefault()\n this.hasSlotStart = this.hasSlotContent('start')\n this.hasSlotEnd = this.hasSlotContent('end')\n this.selectedValue = this.isSelected\n if (this.isButton) {\n this.type = this.type || 'button'\n }\n const radios = Array.from(this.el.querySelectorAll('br-radio'))\n const checkboxes = Array.from(this.el.querySelectorAll('br-checkbox'))\n this.hasRadios = radios.length > 0\n\n if (this.isSelected) {\n if (checkboxes.length > 0) {\n checkboxes.forEach((checkbox) => (checkbox.checked = true))\n }\n if (radios.length > 0) {\n radios[0].checked = true\n }\n }\n\n this.updateRadioSelectionState()\n this.updateCheckboxSelectionState()\n }\n\n private hasSlotContentDefault(): void {\n this.hasSlotDefault = this.el.innerHTML !== ''\n }\n\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-item': true,\n disabled: this.disabled,\n active: this.isActive,\n selected: this.selectedValue,\n 'py-3': this.density === 'medium',\n 'py-4': this.density === 'small',\n }\n }\n\n private getTagType(): string {\n if (this.isButton) {\n return 'button'\n }\n if (this.href?.length > 0) {\n return 'a'\n }\n return 'div'\n }\n\n private getAttributes() {\n const TagType = this.getTagType()\n const baseAttributes =\n TagType === 'button' ? { type: this.type, value: this.value } : { href: this.href, target: this.target }\n\n return {\n ...baseAttributes,\n 'aria-disabled': this.disabled ? 'true' : null,\n 'aria-current': this.isActive ? 'true' : null,\n 'data-toggle': this.isInteractive ? 'selection' : null,\n 'is-selected': this.selectedValue ? true : null,\n }\n }\n\n private updateCheckboxSelectionState() {\n if (this.hasRadios) return\n\n const checkboxes = Array.from(this.el.querySelectorAll('br-checkbox'))\n\n this.selectedValue = checkboxes.some((checkbox) => checkbox.checked)\n this.brDidSelect.emit({ selected: this.selectedValue })\n }\n\n private updateRadioSelectionState() {\n if (!this.hasRadios) return\n\n const radios = Array.from(this.el.querySelectorAll('br-radio'))\n\n this.selectedValue = radios.some((radio) => radio.checked)\n this.brDidSelect.emit({ selected: this.selectedValue })\n }\n\n // Função para verificar se o clique foi dentro do slot do item.\n private isClickInsideInteractiveElement(target: HTMLElement): boolean {\n const interactiveSelectors = 'br-checkbox, br-radio, br-input, br-button, br-select, br-textarea'\n const interactiveElements = this.el.querySelectorAll(interactiveSelectors)\n return Array.from(interactiveElements).some((el) => el.contains(target) || target === el)\n }\n\n private updateCheckboxes() {\n const checkboxes = Array.from(this.el.querySelectorAll('br-checkbox'))\n\n checkboxes.forEach((checkbox) => {\n checkbox.checked = this.selectedValue\n })\n }\n\n private readonly handleClick = (event: MouseEvent) => {\n const clickedElement = event.target as HTMLElement\n\n if (this.disabled) {\n event.preventDefault()\n event.stopPropagation()\n }\n\n if (this.hasRadios) {\n return\n }\n\n if (this.isButton) {\n this.brDidClick.emit()\n } else if (this.isInteractive && !this.isClickInsideInteractiveElement(clickedElement)) {\n this.selectedValue = !this.selectedValue\n this.brDidSelect.emit({ selected: this.selectedValue })\n this.updateCheckboxes()\n }\n\n event.stopPropagation()\n }\n\n render() {\n const TagType = this.getTagType()\n const attributes = this.getAttributes()\n const classList = this.getCssClassMap()\n return (\n <Host>\n <TagType class={classList} {...attributes} onClick={this.handleClick} id={this.customId}>\n {this.hasSlotStart || this.hasSlotEnd ? (\n <div class=\"row align-items-center\">\n {this.hasSlotStart && (\n <div class=\"col-auto\">\n <slot name=\"start\"></slot>\n </div>\n )}\n\n <div class=\"col\">\n <slot></slot>\n </div>\n\n {this.hasSlotEnd && (\n <div class=\"col-auto\">\n <slot name=\"end\"></slot>\n </div>\n )}\n </div>\n ) : (\n <slot></slot>\n )}\n </TagType>\n </Host>\n )\n }\n}\n\nlet itemId = 0\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p-oLikpHRj.system.js","sources":["../../packages/webcomponents/src/components/item/item.scss?tag=br-item&encapsulation=shadow","../../packages/webcomponents/src/components/item/item.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/item/item\";\n\n:host {\n display: block;\n}\n\n::slotted(br-checkbox) {\n max-width: fit-content;\n max-height: fit-content;\n}\n\n::slotted(br-radio) {\n max-width: fit-content;\n max-height: fit-content;\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Listen, Prop, State } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/item?tab=designer).\n *\n * @slot default - Área de conteúdo, podendo conter qualquer componente, exceto botões primários e componentes relacionados à navegação (como carrosséis, paginações, abas, menus, etc.).\n *\n * @slot start - Área de recursos visuais, podendo conter elementos como ícones, avatares e mídias.\n *\n * @slot end - Área de recursos complementares, podendo conter componentes interativos, metadados e informações adicionais.\n */\n@Component({\n tag: 'br-item',\n styleUrl: 'item.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Item {\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: HTMLBrItemElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Desativa o item, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: 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-item-${itemId++}`\n\n /**\n * Indica se o item está no estado ativo.\n * Se definido como verdadeiro, o item será exibido como ativo.\n */\n @Prop({ reflect: true }) readonly isActive: boolean = false\n\n /**\n * Indica se o item está no estado selecionado.\n * Se definido como verdadeiro, o item será exibido como selecionado.\n */\n @Prop({ reflect: true }) readonly isSelected: boolean = false\n\n /**\n * Marca o item como interativo, permitindo que toda a superfície do item seja clicável.\n */\n @Prop({ reflect: true }) readonly isInteractive: boolean = false\n\n /**\n * URL ou caminho para o qual o usuário será direcionado ao clicar no item. Quando definido, o item será renderizado como um link.\n */\n @Prop({ reflect: true }) readonly href?: string\n\n /**\n * Define o alvo do link quando `href` está presente. Pode ser:\n * - `_blank` para abrir em uma nova aba,\n * - `_self` para abrir na mesma aba,\n * - `_parent` para abrir na aba pai,\n * - `_top` para abrir na aba superior.\n */\n @Prop({ reflect: true }) readonly target?: '_blank' | '_self' | '_parent' | '_top'\n\n /**\n * Quando definido como `true`, o item será tratado como um botão.\n */\n @Prop({ reflect: true }) readonly isButton: boolean = false\n\n /**\n * Tipo do botão, aplicável apenas se `isButton` for `true`. Pode ser:\n * - `'submit'` para enviar um formulário,\n * - `'reset'` para redefinir um formulário,\n * - `'button'` para um botão padrão.\n */\n @Prop({ reflect: true, mutable: true }) type: 'submit' | 'reset' | 'button'\n\n /**\n * Define um valor associado ao br-item quando renderizado como um botão, utilizado em contextos de formulário.\n */\n @Prop({ reflect: true }) readonly value?: string\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 // Propriedade interna para verificar a presença de conteúdo no slot default\n @State() hasSlotDefault: boolean = false\n\n @State() hasSlotStart: boolean = false\n\n @State() hasSlotEnd: boolean = false\n\n // Propriedade interna para armazenar o valor selecionado\n @State() selectedValue: boolean = false\n\n // Propriedade para rastrear a presença de rádios dentro do item\n private hasRadios: boolean = false\n\n @Listen('checkedChange', { target: 'document' })\n handleRadioChange() {\n requestAnimationFrame(() => {\n this.updateRadioSelectionState()\n })\n }\n\n @Listen('checkedChange', { target: 'document' })\n handleCheckboxChange(event: Event) {\n const target = event.target as HTMLElement\n\n if (this.el.contains(target)) {\n this.updateCheckboxSelectionState()\n }\n }\n\n /**\n * Evento customizado emitido quando o item é clicado, aplicável apenas se o item for um botão (`<button>`).\n * Pode ser utilizado para ações personalizadas, exceto quando o item está desativado.\n */\n @Event({ composed: true, cancelable: true, bubbles: true }) brDidClick: EventEmitter\n\n /**\n * Evento customizado aplicável para todos os tipos de elementos (`div`, `button`, `a`), emitido quando o item é selecionado e desde que a propriedade `isInteractive` esteja presente.\n */\n @Event({ bubbles: true, composed: true }) brDidSelect: EventEmitter<{ selected: boolean }>\n\n componentWillLoad() {\n this.hasSlotContentDefault()\n this.hasSlotStart = this.hasSlotContent('start')\n this.hasSlotEnd = this.hasSlotContent('end')\n this.selectedValue = this.isSelected\n if (this.isButton) {\n this.type = this.type || 'button'\n }\n const radios = Array.from(this.el.querySelectorAll('br-radio'))\n const checkboxes = Array.from(this.el.querySelectorAll('br-checkbox'))\n this.hasRadios = radios.length > 0\n\n if (this.isSelected) {\n if (checkboxes.length > 0) {\n checkboxes.forEach((checkbox) => (checkbox.checked = true))\n }\n if (radios.length > 0) {\n radios[0].checked = true\n }\n }\n\n this.updateRadioSelectionState()\n this.updateCheckboxSelectionState()\n }\n\n private hasSlotContentDefault(): void {\n this.hasSlotDefault = this.el.innerHTML !== ''\n }\n\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-item': true,\n disabled: this.disabled,\n active: this.isActive,\n selected: this.selectedValue,\n 'py-3': this.density === 'medium',\n 'py-4': this.density === 'small',\n }\n }\n\n private getTagType(): string {\n if (this.isButton) {\n return 'button'\n }\n if (this.href?.length > 0) {\n return 'a'\n }\n return 'div'\n }\n\n private getAttributes() {\n const TagType = this.getTagType()\n const baseAttributes =\n TagType === 'button' ? { type: this.type, value: this.value } : { href: this.href, target: this.target }\n\n return {\n ...baseAttributes,\n 'aria-disabled': this.disabled ? 'true' : null,\n 'aria-current': this.isActive ? 'true' : null,\n 'data-toggle': this.isInteractive ? 'selection' : null,\n 'is-selected': this.selectedValue ? true : null,\n }\n }\n\n private updateCheckboxSelectionState() {\n if (this.hasRadios) return\n\n const checkboxes = Array.from(this.el.querySelectorAll('br-checkbox'))\n\n this.selectedValue = checkboxes.some((checkbox) => checkbox.checked)\n this.brDidSelect.emit({ selected: this.selectedValue })\n }\n\n private updateRadioSelectionState() {\n if (!this.hasRadios) return\n\n const radios = Array.from(this.el.querySelectorAll('br-radio'))\n\n this.selectedValue = radios.some((radio) => radio.checked)\n this.brDidSelect.emit({ selected: this.selectedValue })\n }\n\n // Função para verificar se o clique foi dentro do slot do item.\n private isClickInsideInteractiveElement(target: HTMLElement): boolean {\n const interactiveSelectors = 'br-checkbox, br-radio, br-input, br-button, br-select, br-textarea'\n const interactiveElements = this.el.querySelectorAll(interactiveSelectors)\n return Array.from(interactiveElements).some((el) => el.contains(target) || target === el)\n }\n\n private updateCheckboxes() {\n const checkboxes = Array.from(this.el.querySelectorAll('br-checkbox'))\n\n checkboxes.forEach((checkbox) => {\n checkbox.checked = this.selectedValue\n })\n }\n\n private readonly handleClick = (event: MouseEvent) => {\n const clickedElement = event.target as HTMLElement\n\n if (this.disabled) {\n event.preventDefault()\n event.stopPropagation()\n }\n\n if (this.hasRadios) {\n return\n }\n\n if (this.isButton) {\n this.brDidClick.emit()\n } else if (this.isInteractive && !this.isClickInsideInteractiveElement(clickedElement)) {\n this.selectedValue = !this.selectedValue\n this.brDidSelect.emit({ selected: this.selectedValue })\n this.updateCheckboxes()\n }\n\n event.stopPropagation()\n }\n\n render() {\n const TagType = this.getTagType()\n const attributes = this.getAttributes()\n const classList = this.getCssClassMap()\n return (\n <Host>\n <TagType class={classList} {...attributes} onClick={this.handleClick} id={this.customId}>\n {this.hasSlotStart || this.hasSlotEnd ? (\n <div class=\"row align-items-center\">\n {this.hasSlotStart && (\n <div class=\"col-auto\">\n <slot name=\"start\"></slot>\n </div>\n )}\n\n <div class=\"col\">\n <slot></slot>\n </div>\n\n {this.hasSlotEnd && (\n <div class=\"col-auto\">\n <slot name=\"end\"></slot>\n </div>\n )}\n </div>\n ) : (\n <slot></slot>\n )}\n </TagType>\n </Host>\n )\n }\n}\n\nlet itemId = 0\n"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { p as e, H as t, b as i } from "./p-CAyrQrUt.js";
5
5
 
6
6
  export { s as setNonce } from "./p-CAyrQrUt.js";
7
7
 
8
- import { g as l } from "./p-BmgwYwlE.js";
8
+ import { g as o } from "./p-BmgwYwlE.js";
9
9
 
10
10
  /*
11
11
  Stencil Client Patch Browser v4.28.2 | MIT Licensed | https://stenciljs.com
@@ -41,8 +41,8 @@ var patchCloneNodeFix = e => {
41
41
  };
42
42
 
43
43
  patchBrowser().then((async e => {
44
- await l();
45
- return i([ [ "p-be24a356", [ [ 65, "br-select", {
44
+ await o();
45
+ return i([ [ "p-c422755c", [ [ 65, "br-select", {
46
46
  label: [ 513 ],
47
47
  placeholder: [ 513 ],
48
48
  isMultiple: [ 516, "is-multiple" ],
@@ -60,7 +60,7 @@ patchBrowser().then((async e => {
60
60
  toggleOpen: [ 64 ]
61
61
  }, null, {
62
62
  options: [ "synchronizeSelect" ]
63
- } ] ] ], [ "p-64088f4f", [ [ 1, "br-breadcrumb", {
63
+ } ] ] ], [ "p-c0a85892", [ [ 1, "br-breadcrumb", {
64
64
  customId: [ 513, "custom-id" ],
65
65
  homeUrl: [ 1, "home-url" ],
66
66
  crumbs: [ 1 ],
@@ -72,7 +72,7 @@ patchBrowser().then((async e => {
72
72
  larguraInterna: [ 32 ],
73
73
  larguraPai: [ 32 ],
74
74
  isFolderOpen: [ 32 ]
75
- } ] ] ], [ "p-91c947d6", [ [ 65, "br-message", {
75
+ } ] ] ], [ "p-4c3c46ca", [ [ 65, "br-message", {
76
76
  messageTitle: [ 513, "message-title" ],
77
77
  customId: [ 513, "custom-id" ],
78
78
  message: [ 513 ],
@@ -82,7 +82,30 @@ patchBrowser().then((async e => {
82
82
  showIcon: [ 516, "show-icon" ],
83
83
  isFeedback: [ 516, "is-feedback" ],
84
84
  state: [ 513 ]
85
- } ] ] ], [ "p-689dffab", [ [ 65, "br-tag", {
85
+ } ] ] ], [ "p-fd191bf0", [ [ 65, "br-step-item", {
86
+ label: [ 513 ],
87
+ highlight: [ 513 ],
88
+ active: [ 516 ],
89
+ disabled: [ 516 ],
90
+ brIconName: [ 513, "br-icon-name" ],
91
+ brIconAria: [ 513, "br-icon-aria" ],
92
+ showTimeLine: [ 32 ],
93
+ stepItemPositionStatus: [ 32 ],
94
+ stepLayout: [ 32 ],
95
+ labelPosition: [ 32 ],
96
+ contentType: [ 32 ],
97
+ mode: [ 32 ],
98
+ content: [ 32 ],
99
+ ariaLabelContent: [ 32 ],
100
+ setStepItemPositionStatus: [ 64 ],
101
+ handleShowTimeLine: [ 64 ],
102
+ setLabelPosition: [ 64 ],
103
+ setContentType: [ 64 ],
104
+ setMode: [ 64 ],
105
+ setContent: [ 64 ]
106
+ }, null, {
107
+ active: [ "watchItemIsActive" ]
108
+ } ] ] ], [ "p-e4e2fd4f", [ [ 65, "br-tag", {
86
109
  label: [ 513 ],
87
110
  iconName: [ 513, "icon-name" ],
88
111
  name: [ 513 ],
@@ -101,7 +124,7 @@ patchBrowser().then((async e => {
101
124
  interaction: [ "handleInteractionChange" ],
102
125
  interactionSelect: [ "handleInteractionSelectChange" ],
103
126
  selected: [ "handleSelectedChange" ]
104
- } ] ] ], [ "p-703d9fdd", [ [ 65, "br-upload", {
127
+ } ] ] ], [ "p-928b76d0", [ [ 65, "br-upload", {
105
128
  accept: [ 1 ],
106
129
  label: [ 1 ],
107
130
  disabled: [ 516 ],
@@ -109,7 +132,7 @@ patchBrowser().then((async e => {
109
132
  multiple: [ 4 ],
110
133
  filesSelected: [ 32 ],
111
134
  file: [ 32 ]
112
- } ] ] ], [ "p-de7e8ab8", [ [ 1, "br-avatar", {
135
+ } ] ] ], [ "p-019ce02a", [ [ 1, "br-avatar", {
113
136
  density: [ 1025 ],
114
137
  customId: [ 513, "custom-id" ],
115
138
  src: [ 1 ],
@@ -123,7 +146,7 @@ patchBrowser().then((async e => {
123
146
  hasError: [ 32 ]
124
147
  }, null, {
125
148
  density: [ "handleDensityChange" ]
126
- } ] ] ], [ "p-37837c94", [ [ 65, "br-checkgroup", {
149
+ } ] ] ], [ "p-76426a2e", [ [ 65, "br-checkgroup", {
127
150
  label: [ 1 ],
128
151
  labelSelecionado: [ 513, "label-selecionado" ],
129
152
  labelDesselecionado: [ 513, "label-desselecionado" ],
@@ -131,7 +154,7 @@ patchBrowser().then((async e => {
131
154
  customId: [ 513, "custom-id" ],
132
155
  checked: [ 32 ],
133
156
  isIndeterminate: [ 32 ]
134
- }, [ [ 4, "checkedChange", "handleChange" ] ] ] ] ], [ "p-cc4c57d8", [ [ 65, "br-collapse", {
157
+ }, [ [ 4, "checkedChange", "handleChange" ] ] ] ] ], [ "p-c2f4ab31", [ [ 65, "br-collapse", {
135
158
  customId: [ 513, "custom-id" ],
136
159
  open: [ 1540 ],
137
160
  accordionGroup: [ 1, "accordion-group" ],
@@ -140,7 +163,7 @@ patchBrowser().then((async e => {
140
163
  iconPosition: [ 1, "icon-position" ],
141
164
  openCollapse: [ 64 ],
142
165
  closeCollapse: [ 64 ]
143
- } ] ] ], [ "p-c17f8737", [ [ 1, "br-divider", {
166
+ } ] ] ], [ "p-69b18bcc", [ [ 1, "br-divider", {
144
167
  customId: [ 513, "custom-id" ],
145
168
  orientation: [ 513 ],
146
169
  thickness: [ 513 ],
@@ -152,20 +175,33 @@ patchBrowser().then((async e => {
152
175
  slotDefault: [ 32 ]
153
176
  }, null, {
154
177
  color: [ "updateColor" ]
155
- } ] ] ], [ "p-df5400e2", [ [ 65, "br-dropdown", {
178
+ } ] ] ], [ "p-d33ec3ae", [ [ 65, "br-dropdown", {
156
179
  isOpen: [ 1540, "is-open" ],
157
180
  customId: [ 513, "custom-id" ],
158
181
  open: [ 64 ],
159
182
  hide: [ 64 ]
160
183
  }, null, {
161
184
  isOpen: [ "isOpenChanged" ]
162
- } ] ] ], [ "p-55be3a1b", [ [ 65, "br-loading", {
185
+ } ] ] ], [ "p-121547cd", [ [ 65, "br-loading", {
163
186
  isProgress: [ 516, "is-progress" ],
164
187
  customId: [ 513, "custom-id" ],
165
188
  progressPercent: [ 514, "progress-percent" ],
166
189
  isMedium: [ 516, "is-medium" ],
167
190
  label: [ 513 ]
168
- } ] ] ], [ "p-817f83ec", [ [ 65, "br-switch", {
191
+ } ] ] ], [ "p-3221d882", [ [ 65, "br-step", {
192
+ layout: [ 513 ],
193
+ initialStep: [ 513, "initial-step" ],
194
+ labelPosition: [ 513, "label-position" ],
195
+ contentType: [ 513, "content-type" ],
196
+ mode: [ 513 ],
197
+ progressionType: [ 513, "progression-type" ],
198
+ activeStep: [ 32 ],
199
+ stepItems: [ 32 ],
200
+ ProceedToNextStep: [ 64 ],
201
+ BackToPreviousStep: [ 64 ],
202
+ StepValidation: [ 64 ],
203
+ GetActiveStep: [ 64 ]
204
+ }, [ [ 2, "click", "handleClick" ] ] ] ] ], [ "p-83f55139", [ [ 65, "br-switch", {
169
205
  disabled: [ 516 ],
170
206
  checked: [ 1540 ],
171
207
  customId: [ 513, "custom-id" ],
@@ -179,7 +215,7 @@ patchBrowser().then((async e => {
179
215
  density: [ 513 ],
180
216
  _slotDefault: [ 32 ],
181
217
  toggleChecked: [ 64 ]
182
- } ] ] ], [ "p-6e166dac", [ [ 65, "br-textarea", {
218
+ } ] ] ], [ "p-32ca900a", [ [ 65, "br-textarea", {
183
219
  value: [ 1537 ],
184
220
  label: [ 513 ],
185
221
  placeholder: [ 513 ],
@@ -194,7 +230,7 @@ patchBrowser().then((async e => {
194
230
  setValue: [ 64 ]
195
231
  }, null, {
196
232
  value: [ "valueChanged" ]
197
- } ] ] ], [ "p-4c5b3ba6", [ [ 65, "br-item", {
233
+ } ] ] ], [ "p-36194f7c", [ [ 65, "br-item", {
198
234
  disabled: [ 516 ],
199
235
  customId: [ 513, "custom-id" ],
200
236
  isActive: [ 516, "is-active" ],
@@ -210,7 +246,7 @@ patchBrowser().then((async e => {
210
246
  hasSlotStart: [ 32 ],
211
247
  hasSlotEnd: [ 32 ],
212
248
  selectedValue: [ 32 ]
213
- }, [ [ 4, "checkedChange", "handleRadioChange" ], [ 4, "checkedChange", "handleCheckboxChange" ] ] ] ] ], [ "p-d335142c", [ [ 65, "br-input", {
249
+ }, [ [ 4, "checkedChange", "handleRadioChange" ], [ 4, "checkedChange", "handleCheckboxChange" ] ] ] ] ], [ "p-ddce5a0b", [ [ 65, "br-input", {
214
250
  type: [ 513 ],
215
251
  autocomplete: [ 513 ],
216
252
  density: [ 513 ],
@@ -249,7 +285,7 @@ patchBrowser().then((async e => {
249
285
  label: [ 513 ],
250
286
  value: [ 513 ],
251
287
  toggleChecked: [ 64 ]
252
- }, [ [ 8, "checkedChange", "handleCheckedChange" ] ] ] ] ], [ "p-3f0965c1", [ [ 65, "br-checkbox", {
288
+ }, [ [ 8, "checkedChange", "handleCheckedChange" ] ] ] ] ], [ "p-79e747c1", [ [ 65, "br-checkbox", {
253
289
  indeterminate: [ 1540 ],
254
290
  checked: [ 1540 ],
255
291
  customId: [ 513, "custom-id" ],
@@ -264,12 +300,12 @@ patchBrowser().then((async e => {
264
300
  toggleChecked: [ 64 ]
265
301
  }, null, {
266
302
  indeterminate: [ "updateIndeterminate" ]
267
- } ] ] ], [ "p-8326e9aa", [ [ 65, "br-list", {
303
+ } ] ] ], [ "p-84f8edae", [ [ 65, "br-list", {
268
304
  header: [ 513 ],
269
305
  isHorizontal: [ 516, "is-horizontal" ],
270
306
  customId: [ 513, "custom-id" ],
271
307
  hideHeaderDivider: [ 516, "hide-header-divider" ]
272
- } ] ] ], [ "p-9e243fa3", [ [ 65, "br-button", {
308
+ } ] ] ], [ "p-eb06a6e1", [ [ 65, "br-button", {
273
309
  colorMode: [ 513, "color-mode" ],
274
310
  customId: [ 513, "custom-id" ],
275
311
  density: [ 513 ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@govbr-ds/webcomponents",
3
- "version": "2.0.0-next.33",
3
+ "version": "2.0.0-next.35",
4
4
  "description": "Biblioteca de Web Components baseado no GovBR-DS",
5
5
  "keywords": [
6
6
  "design system",