@govbr-ds/webcomponents 2.0.0-next.34 → 2.0.0-next.36

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 (562) hide show
  1. package/dist/README.md +201 -208
  2. package/dist/cjs/app-globals-DcqHuMBv.js +12 -0
  3. package/dist/cjs/app-globals-DcqHuMBv.js.map +1 -0
  4. package/dist/cjs/br-avatar.cjs.entry.js +4 -3
  5. package/dist/cjs/br-avatar.cjs.entry.js.map +1 -1
  6. package/dist/cjs/br-avatar.entry.cjs.js.map +1 -1
  7. package/dist/cjs/br-breadcrumb.cjs.entry.js +4 -3
  8. package/dist/cjs/br-breadcrumb.cjs.entry.js.map +1 -1
  9. package/dist/cjs/br-breadcrumb.entry.cjs.js.map +1 -1
  10. package/dist/cjs/br-button.br-icon.entry.cjs.js.map +1 -1
  11. package/dist/cjs/br-button_2.cjs.entry.js +5 -4
  12. package/dist/cjs/br-button_2.cjs.entry.js.map +1 -1
  13. package/dist/cjs/br-checkbox.cjs.entry.js +4 -3
  14. package/dist/cjs/br-checkbox.cjs.entry.js.map +1 -1
  15. package/dist/cjs/br-checkbox.entry.cjs.js.map +1 -1
  16. package/dist/cjs/br-checkgroup.cjs.entry.js +4 -3
  17. package/dist/cjs/br-checkgroup.cjs.entry.js.map +1 -1
  18. package/dist/cjs/br-checkgroup.entry.cjs.js.map +1 -1
  19. package/dist/cjs/br-collapse.cjs.entry.js +4 -3
  20. package/dist/cjs/br-collapse.cjs.entry.js.map +1 -1
  21. package/dist/cjs/br-collapse.entry.cjs.js.map +1 -1
  22. package/dist/cjs/br-divider.cjs.entry.js +4 -3
  23. package/dist/cjs/br-divider.cjs.entry.js.map +1 -1
  24. package/dist/cjs/br-divider.entry.cjs.js.map +1 -1
  25. package/dist/cjs/br-dropdown.cjs.entry.js +4 -3
  26. package/dist/cjs/br-dropdown.cjs.entry.js.map +1 -1
  27. package/dist/cjs/br-dropdown.entry.cjs.js.map +1 -1
  28. package/dist/cjs/br-input.br-radio.entry.cjs.js.map +1 -1
  29. package/dist/cjs/br-input_2.cjs.entry.js +8 -14
  30. package/dist/cjs/br-input_2.cjs.entry.js.map +1 -1
  31. package/dist/cjs/br-item.cjs.entry.js +4 -3
  32. package/dist/cjs/br-item.cjs.entry.js.map +1 -1
  33. package/dist/cjs/br-item.entry.cjs.js.map +1 -1
  34. package/dist/cjs/br-list.cjs.entry.js +4 -3
  35. package/dist/cjs/br-list.cjs.entry.js.map +1 -1
  36. package/dist/cjs/br-list.entry.cjs.js.map +1 -1
  37. package/dist/cjs/br-loading.cjs.entry.js +4 -3
  38. package/dist/cjs/br-loading.cjs.entry.js.map +1 -1
  39. package/dist/cjs/br-loading.entry.cjs.js.map +1 -1
  40. package/dist/cjs/br-message.cjs.entry.js +4 -3
  41. package/dist/cjs/br-message.cjs.entry.js.map +1 -1
  42. package/dist/cjs/br-message.entry.cjs.js.map +1 -1
  43. package/dist/cjs/br-select.cjs.entry.js +59 -44
  44. package/dist/cjs/br-select.cjs.entry.js.map +1 -1
  45. package/dist/cjs/br-select.entry.cjs.js.map +1 -1
  46. package/dist/cjs/br-step-item.cjs.entry.js +245 -0
  47. package/dist/cjs/br-step-item.cjs.entry.js.map +1 -0
  48. package/dist/cjs/br-step-item.entry.cjs.js.map +1 -0
  49. package/dist/cjs/br-step.cjs.entry.js +283 -0
  50. package/dist/cjs/br-step.cjs.entry.js.map +1 -0
  51. package/dist/cjs/br-step.entry.cjs.js.map +1 -0
  52. package/dist/cjs/br-switch.cjs.entry.js +5 -4
  53. package/dist/cjs/br-switch.cjs.entry.js.map +1 -1
  54. package/dist/cjs/br-switch.entry.cjs.js.map +1 -1
  55. package/dist/cjs/br-tag.cjs.entry.js +6 -5
  56. package/dist/cjs/br-tag.cjs.entry.js.map +1 -1
  57. package/dist/cjs/br-tag.entry.cjs.js.map +1 -1
  58. package/dist/cjs/br-textarea.cjs.entry.js +5 -4
  59. package/dist/cjs/br-textarea.cjs.entry.js.map +1 -1
  60. package/dist/cjs/br-textarea.entry.cjs.js.map +1 -1
  61. package/dist/cjs/br-upload.cjs.entry.js +5 -4
  62. package/dist/cjs/br-upload.cjs.entry.js.map +1 -1
  63. package/dist/cjs/br-upload.entry.cjs.js.map +1 -1
  64. package/dist/cjs/{index-C5PKqcRm.js → index-DAOr34NM.js} +12 -3
  65. package/dist/{esm/index-CAyrQrUt.js.map → cjs/index-DAOr34NM.js.map} +1 -1
  66. package/dist/cjs/index.cjs.js +2 -1
  67. package/dist/cjs/index.cjs.js.map +1 -1
  68. package/dist/cjs/loader.cjs.js +5 -4
  69. package/dist/cjs/loader.cjs.js.map +1 -1
  70. package/dist/cjs/webcomponents.cjs.js +5 -4
  71. package/dist/cjs/webcomponents.cjs.js.map +1 -1
  72. package/dist/collection/collection-manifest.json +2 -0
  73. package/dist/collection/components/avatar/avatar.css +1 -1
  74. package/dist/collection/components/avatar/avatar.js +2 -1
  75. package/dist/collection/components/avatar/avatar.js.map +1 -1
  76. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
  77. package/dist/collection/components/breadcrumb/breadcrumb.js +2 -1
  78. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  79. package/dist/collection/components/button/button.css +1 -1
  80. package/dist/collection/components/button/button.js +2 -1
  81. package/dist/collection/components/button/button.js.map +1 -1
  82. package/dist/collection/components/checkbox/checkbox.css +1 -1
  83. package/dist/collection/components/checkbox/checkbox.js +2 -1
  84. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  85. package/dist/collection/components/checkgroup/checkgroup.css +1 -1
  86. package/dist/collection/components/checkgroup/checkgroup.js +2 -1
  87. package/dist/collection/components/checkgroup/checkgroup.js.map +1 -1
  88. package/dist/collection/components/collapse/collapse.css +1 -1
  89. package/dist/collection/components/collapse/collapse.js +2 -1
  90. package/dist/collection/components/collapse/collapse.js.map +1 -1
  91. package/dist/collection/components/divider/divider.css +1 -1
  92. package/dist/collection/components/divider/divider.js +2 -1
  93. package/dist/collection/components/divider/divider.js.map +1 -1
  94. package/dist/collection/components/dropdown/dropdown.css +1 -1
  95. package/dist/collection/components/dropdown/dropdown.js +2 -1
  96. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  97. package/dist/collection/components/icon/icon.css +1 -1
  98. package/dist/collection/components/icon/icon.js +2 -1
  99. package/dist/collection/components/icon/icon.js.map +1 -1
  100. package/dist/collection/components/input/input.css +1 -1
  101. package/dist/collection/components/input/input.js +2 -1
  102. package/dist/collection/components/input/input.js.map +1 -1
  103. package/dist/collection/components/item/item.css +1 -1
  104. package/dist/collection/components/item/item.js +2 -1
  105. package/dist/collection/components/item/item.js.map +1 -1
  106. package/dist/collection/components/list/list.css +1 -1
  107. package/dist/collection/components/list/list.js +2 -1
  108. package/dist/collection/components/list/list.js.map +1 -1
  109. package/dist/collection/components/loading/loading.css +1 -1
  110. package/dist/collection/components/loading/loading.js +2 -1
  111. package/dist/collection/components/loading/loading.js.map +1 -1
  112. package/dist/collection/components/message/message.css +1 -1
  113. package/dist/collection/components/message/message.js +2 -1
  114. package/dist/collection/components/message/message.js.map +1 -1
  115. package/dist/collection/components/radio/radio.css +1 -1
  116. package/dist/collection/components/radio/radio.js +5 -11
  117. package/dist/collection/components/radio/radio.js.map +1 -1
  118. package/dist/collection/components/select/select.css +1 -1
  119. package/dist/collection/components/select/select.js +62 -50
  120. package/dist/collection/components/select/select.js.map +1 -1
  121. package/dist/{webcomponents/p-df5400e2.entry.js → collection/components/step/step.css} +1 -140
  122. package/dist/collection/components/step/step.js +546 -0
  123. package/dist/collection/components/step/step.js.map +1 -0
  124. package/dist/{webcomponents/p-c17f8737.entry.js → collection/components/step-item/step-item.css} +1 -104
  125. package/dist/collection/components/step-item/step-item.js +551 -0
  126. package/dist/collection/components/step-item/step-item.js.map +1 -0
  127. package/dist/collection/components/switch/switch.css +1 -1
  128. package/dist/collection/components/switch/switch.js +3 -2
  129. package/dist/collection/components/switch/switch.js.map +1 -1
  130. package/dist/collection/components/tag/tag.css +1 -1
  131. package/dist/collection/components/tag/tag.js +4 -3
  132. package/dist/collection/components/tag/tag.js.map +1 -1
  133. package/dist/collection/components/textarea/textarea.css +1 -1
  134. package/dist/collection/components/textarea/textarea.js +3 -2
  135. package/dist/collection/components/textarea/textarea.js.map +1 -1
  136. package/dist/collection/components/upload/upload.css +1 -1
  137. package/dist/collection/components/upload/upload.js +3 -2
  138. package/dist/collection/components/upload/upload.js.map +1 -1
  139. package/dist/collection/index.js.map +1 -1
  140. package/dist/collection/pages/components/select/index.js +18 -0
  141. package/dist/collection/pages/components/step/index.js +33 -0
  142. package/dist/collection/pages/scripts/menu.js +7 -1
  143. package/dist/collection/pages/scripts/pageLoader.js +3 -16
  144. package/dist/collection/utils/interfaces.js.map +1 -1
  145. package/dist/collection/value-accessors/angular-value-accessor-config.js +2 -1
  146. package/dist/collection/value-accessors/angular-value-accessor-config.js.map +1 -1
  147. package/dist/collection/value-accessors/index.js +2 -1
  148. package/dist/collection/value-accessors/index.js.map +1 -1
  149. package/dist/collection/value-accessors/vue-model-config.js +2 -1
  150. package/dist/collection/value-accessors/vue-model-config.js.map +1 -1
  151. package/dist/components/br-avatar.js +5 -4
  152. package/dist/components/br-avatar.js.map +1 -1
  153. package/dist/components/br-breadcrumb.js +8 -7
  154. package/dist/components/br-breadcrumb.js.map +1 -1
  155. package/dist/components/br-button.js +6 -5
  156. package/dist/components/br-checkbox.js +5 -4
  157. package/dist/components/br-checkgroup.js +8 -7
  158. package/dist/components/br-checkgroup.js.map +1 -1
  159. package/dist/components/br-collapse.js +5 -4
  160. package/dist/components/br-collapse.js.map +1 -1
  161. package/dist/components/br-divider.js +4 -3
  162. package/dist/components/br-divider.js.map +1 -1
  163. package/dist/components/br-dropdown.js +4 -3
  164. package/dist/components/br-dropdown.js.map +1 -1
  165. package/dist/components/br-icon.js +3 -2
  166. package/dist/components/br-input.js +5 -4
  167. package/dist/components/br-item.js +3 -2
  168. package/dist/components/br-list.js +3 -2
  169. package/dist/components/br-loading.js +7 -6
  170. package/dist/components/br-loading.js.map +1 -1
  171. package/dist/components/br-message.js +6 -5
  172. package/dist/components/br-message.js.map +1 -1
  173. package/dist/components/br-radio.js +5 -4
  174. package/dist/components/br-select.js +75 -56
  175. package/dist/components/br-select.js.map +1 -1
  176. package/dist/components/br-step-item.d.ts +11 -0
  177. package/dist/components/br-step-item.js +336 -0
  178. package/dist/components/br-step-item.js.map +1 -0
  179. package/dist/components/br-step.d.ts +11 -0
  180. package/dist/components/br-step.js +313 -0
  181. package/dist/components/br-step.js.map +1 -0
  182. package/dist/components/br-switch.js +9 -8
  183. package/dist/components/br-switch.js.map +1 -1
  184. package/dist/components/br-tag.js +17 -16
  185. package/dist/components/br-tag.js.map +1 -1
  186. package/dist/components/br-textarea.js +13 -12
  187. package/dist/components/br-textarea.js.map +1 -1
  188. package/dist/components/br-upload.js +15 -14
  189. package/dist/components/br-upload.js.map +1 -1
  190. package/dist/components/index.d.ts +4 -0
  191. package/dist/components/index.js +7 -2
  192. package/dist/components/p-BQZa6fK2.js +198 -0
  193. package/dist/components/{p-DGRJ0cGS.js.map → p-BQZa6fK2.js.map} +1 -1
  194. package/dist/components/p-BQb4_NfQ.js +166 -0
  195. package/dist/components/p-BQb4_NfQ.js.map +1 -0
  196. package/dist/components/p-CAjrcMpR.js +154 -0
  197. package/dist/components/{p-D27CYIFW.js.map → p-CAjrcMpR.js.map} +1 -1
  198. package/dist/components/{p-D02C28Eq.js → p-CyMSBO1R.js} +4 -3
  199. package/dist/components/{p-D02C28Eq.js.map → p-CyMSBO1R.js.map} +1 -1
  200. package/dist/components/p-DP5hSLC1.js +130 -0
  201. package/dist/components/{p-Dt9PiOfU.js.map → p-DP5hSLC1.js.map} +1 -1
  202. package/dist/components/p-DvG8eiYP.js +285 -0
  203. package/dist/components/{p-B27qgEvJ.js.map → p-DvG8eiYP.js.map} +1 -1
  204. package/dist/components/p-ZjuPhQfh.js +2270 -0
  205. package/dist/components/{p-BPq5El3u.js.map → p-ZjuPhQfh.js.map} +1 -1
  206. package/dist/components/p-sndAoOGI.js +386 -0
  207. package/dist/components/{p-D6xl9W7Q.js.map → p-sndAoOGI.js.map} +1 -1
  208. package/dist/custom-docs/docs-utils.js +2 -1
  209. package/dist/custom-docs/docs-utils.js.map +1 -1
  210. package/dist/custom-docs/markdown-css-props.js +2 -1
  211. package/dist/custom-docs/markdown-css-props.js.map +1 -1
  212. package/dist/custom-docs/markdown-dependencies.js +2 -1
  213. package/dist/custom-docs/markdown-dependencies.js.map +1 -1
  214. package/dist/custom-docs/markdown-events-all.js +2 -1
  215. package/dist/custom-docs/markdown-events-all.js.map +1 -1
  216. package/dist/custom-docs/markdown-events.js +2 -1
  217. package/dist/custom-docs/markdown-events.js.map +1 -1
  218. package/dist/custom-docs/markdown-examples.js +2 -1
  219. package/dist/custom-docs/markdown-examples.js.map +1 -1
  220. package/dist/custom-docs/markdown-methods-all.js +2 -1
  221. package/dist/custom-docs/markdown-methods-all.js.map +1 -1
  222. package/dist/custom-docs/markdown-methods.js +2 -1
  223. package/dist/custom-docs/markdown-methods.js.map +1 -1
  224. package/dist/custom-docs/markdown-overview.js +2 -1
  225. package/dist/custom-docs/markdown-overview.js.map +1 -1
  226. package/dist/custom-docs/markdown-parts.js +2 -1
  227. package/dist/custom-docs/markdown-parts.js.map +1 -1
  228. package/dist/custom-docs/markdown-props-all.js +2 -1
  229. package/dist/custom-docs/markdown-props-all.js.map +1 -1
  230. package/dist/custom-docs/markdown-props.js +2 -1
  231. package/dist/custom-docs/markdown-props.js.map +1 -1
  232. package/dist/custom-docs/markdown-sections.js +2 -1
  233. package/dist/custom-docs/markdown-sections.js.map +1 -1
  234. package/dist/custom-docs/markdown-slots-all.js +2 -1
  235. package/dist/custom-docs/markdown-slots-all.js.map +1 -1
  236. package/dist/custom-docs/markdown-slots.js +2 -1
  237. package/dist/custom-docs/markdown-slots.js.map +1 -1
  238. package/dist/custom-docs/output-docs.js +2 -1
  239. package/dist/custom-docs/output-docs.js.map +1 -1
  240. package/dist/custom-docs/path.js +2 -1
  241. package/dist/custom-docs/path.js.map +1 -1
  242. package/dist/custom-docs/sort-markdown-tables.js +2 -1
  243. package/dist/custom-docs/sort-markdown-tables.js.map +1 -1
  244. package/dist/custom-elements.json +6264 -0
  245. package/dist/esm/app-globals-DVjNHTTs.js +10 -0
  246. package/dist/esm/app-globals-DVjNHTTs.js.map +1 -0
  247. package/dist/esm/br-avatar.entry.js +4 -3
  248. package/dist/esm/br-avatar.entry.js.map +1 -1
  249. package/dist/esm/br-breadcrumb.entry.js +4 -3
  250. package/dist/esm/br-breadcrumb.entry.js.map +1 -1
  251. package/dist/esm/br-button.br-icon.entry.js.map +1 -1
  252. package/dist/esm/br-button_2.entry.js +5 -4
  253. package/dist/esm/br-button_2.entry.js.map +1 -1
  254. package/dist/esm/br-checkbox.entry.js +4 -3
  255. package/dist/esm/br-checkbox.entry.js.map +1 -1
  256. package/dist/esm/br-checkgroup.entry.js +4 -3
  257. package/dist/esm/br-checkgroup.entry.js.map +1 -1
  258. package/dist/esm/br-collapse.entry.js +4 -3
  259. package/dist/esm/br-collapse.entry.js.map +1 -1
  260. package/dist/esm/br-divider.entry.js +4 -3
  261. package/dist/esm/br-divider.entry.js.map +1 -1
  262. package/dist/esm/br-dropdown.entry.js +4 -3
  263. package/dist/esm/br-dropdown.entry.js.map +1 -1
  264. package/dist/esm/br-input.br-radio.entry.js.map +1 -1
  265. package/dist/esm/br-input_2.entry.js +8 -14
  266. package/dist/esm/br-input_2.entry.js.map +1 -1
  267. package/dist/esm/br-item.entry.js +4 -3
  268. package/dist/esm/br-item.entry.js.map +1 -1
  269. package/dist/esm/br-list.entry.js +4 -3
  270. package/dist/esm/br-list.entry.js.map +1 -1
  271. package/dist/esm/br-loading.entry.js +4 -3
  272. package/dist/esm/br-loading.entry.js.map +1 -1
  273. package/dist/esm/br-message.entry.js +4 -3
  274. package/dist/esm/br-message.entry.js.map +1 -1
  275. package/dist/esm/br-select.entry.js +59 -44
  276. package/dist/esm/br-select.entry.js.map +1 -1
  277. package/dist/esm/br-step-item.entry.js +243 -0
  278. package/dist/esm/br-step-item.entry.js.map +1 -0
  279. package/dist/esm/br-step.entry.js +281 -0
  280. package/dist/esm/br-step.entry.js.map +1 -0
  281. package/dist/esm/br-switch.entry.js +5 -4
  282. package/dist/esm/br-switch.entry.js.map +1 -1
  283. package/dist/esm/br-tag.entry.js +6 -5
  284. package/dist/esm/br-tag.entry.js.map +1 -1
  285. package/dist/esm/br-textarea.entry.js +5 -4
  286. package/dist/esm/br-textarea.entry.js.map +1 -1
  287. package/dist/esm/br-upload.entry.js +5 -4
  288. package/dist/esm/br-upload.entry.js.map +1 -1
  289. package/dist/esm/{index-CAyrQrUt.js → index-ClsF4De3.js} +12 -3
  290. package/dist/{esm-es5/index-CAyrQrUt.js.map → esm/index-ClsF4De3.js.map} +1 -1
  291. package/dist/esm/index.js +2 -1
  292. package/dist/esm/index.js.map +1 -1
  293. package/dist/esm/loader.js +6 -5
  294. package/dist/esm/loader.js.map +1 -1
  295. package/dist/esm/webcomponents.js +6 -5
  296. package/dist/esm/webcomponents.js.map +1 -1
  297. package/dist/hydrate/index.js +653 -79
  298. package/dist/hydrate/index.mjs +653 -79
  299. package/dist/index.js +1 -1
  300. package/dist/loader/cdn.js +3 -3
  301. package/dist/loader/index.cjs.js +3 -3
  302. package/dist/loader/index.es2017.js +2 -2
  303. package/dist/loader/index.js +3 -3
  304. package/dist/stencil.config.js +12 -11
  305. package/dist/stencil.config.js.map +1 -1
  306. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/custom-docs/markdown-css-props.d.ts +2 -0
  307. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/{packages/webcomponents/.stencil → .stencil}/packages/webcomponents/custom-docs/markdown-dependencies.d.ts +1 -1
  308. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/custom-docs/markdown-events-all.d.ts +2 -0
  309. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/custom-docs/markdown-events.d.ts +2 -0
  310. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/{packages/webcomponents/.stencil → .stencil}/packages/webcomponents/custom-docs/markdown-examples.d.ts +1 -1
  311. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/custom-docs/markdown-methods-all.d.ts +2 -0
  312. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/custom-docs/markdown-methods.d.ts +2 -0
  313. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/{packages/webcomponents/.stencil → .stencil}/packages/webcomponents/custom-docs/markdown-parts.d.ts +1 -1
  314. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/custom-docs/markdown-props-all.d.ts +2 -0
  315. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/custom-docs/markdown-props.d.ts +2 -0
  316. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/{packages/webcomponents/.stencil → .stencil}/packages/webcomponents/custom-docs/markdown-sections.d.ts +1 -1
  317. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/custom-docs/markdown-slots-all.d.ts +2 -0
  318. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/{packages/webcomponents/.stencil → .stencil}/packages/webcomponents/custom-docs/markdown-slots.d.ts +1 -1
  319. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/custom-docs/output-docs.d.ts +2 -0
  320. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/stencil.config.d.ts +2 -0
  321. package/dist/types/components/select/select.d.ts +17 -4
  322. package/dist/types/components/step/step.d.ts +103 -0
  323. package/dist/types/components/step-item/step-item.d.ts +102 -0
  324. package/dist/types/components.d.ts +243 -4
  325. package/dist/webcomponents/br-avatar.entry.esm.js.map +1 -1
  326. package/dist/webcomponents/br-breadcrumb.entry.esm.js.map +1 -1
  327. package/dist/webcomponents/br-button.br-icon.entry.esm.js.map +1 -1
  328. package/dist/webcomponents/br-checkbox.entry.esm.js.map +1 -1
  329. package/dist/webcomponents/br-checkgroup.entry.esm.js.map +1 -1
  330. package/dist/webcomponents/br-collapse.entry.esm.js.map +1 -1
  331. package/dist/webcomponents/br-divider.entry.esm.js.map +1 -1
  332. package/dist/webcomponents/br-dropdown.entry.esm.js.map +1 -1
  333. package/dist/webcomponents/br-input.br-radio.entry.esm.js.map +1 -1
  334. package/dist/webcomponents/br-item.entry.esm.js.map +1 -1
  335. package/dist/webcomponents/br-list.entry.esm.js.map +1 -1
  336. package/dist/webcomponents/br-loading.entry.esm.js.map +1 -1
  337. package/dist/webcomponents/br-message.entry.esm.js.map +1 -1
  338. package/dist/webcomponents/br-select.entry.esm.js.map +1 -1
  339. package/dist/webcomponents/br-step-item.entry.esm.js.map +1 -0
  340. package/dist/webcomponents/br-step.entry.esm.js.map +1 -0
  341. package/dist/webcomponents/br-switch.entry.esm.js.map +1 -1
  342. package/dist/webcomponents/br-tag.entry.esm.js.map +1 -1
  343. package/dist/webcomponents/br-textarea.entry.esm.js.map +1 -1
  344. package/dist/webcomponents/br-upload.entry.esm.js.map +1 -1
  345. package/dist/webcomponents/index.esm.js +2 -1
  346. package/dist/webcomponents/index.esm.js.map +1 -1
  347. package/dist/webcomponents/loader.esm.js.map +1 -1
  348. package/dist/webcomponents/p-2537ae9c.entry.js +167 -0
  349. package/dist/webcomponents/{p-6e166dac.entry.js.map → p-2537ae9c.entry.js.map} +1 -1
  350. package/dist/webcomponents/p-36231217.entry.js +279 -0
  351. package/dist/webcomponents/p-36231217.entry.js.map +1 -0
  352. package/dist/webcomponents/p-3c0f3cb4.entry.js +169 -0
  353. package/dist/webcomponents/{p-3f0965c1.entry.js.map → p-3c0f3cb4.entry.js.map} +1 -1
  354. package/dist/webcomponents/p-477035e2.entry.js +164 -0
  355. package/dist/webcomponents/p-477035e2.entry.js.map +1 -0
  356. package/dist/webcomponents/p-48996f81.entry.js +282 -0
  357. package/dist/webcomponents/p-48996f81.entry.js.map +1 -0
  358. package/dist/webcomponents/p-520c5527.entry.js +149 -0
  359. package/dist/webcomponents/{p-817f83ec.entry.js.map → p-520c5527.entry.js.map} +1 -1
  360. package/dist/webcomponents/p-64df4b98.entry.js +255 -0
  361. package/dist/webcomponents/{p-4c5b3ba6.entry.js.map → p-64df4b98.entry.js.map} +1 -1
  362. package/dist/webcomponents/p-795c258e.entry.js +105 -0
  363. package/dist/webcomponents/p-795c258e.entry.js.map +1 -0
  364. package/dist/webcomponents/p-94aa48d4.entry.js +460 -0
  365. package/dist/webcomponents/p-94aa48d4.entry.js.map +1 -0
  366. package/dist/webcomponents/p-94aab132.entry.js +141 -0
  367. package/dist/webcomponents/{p-df5400e2.entry.js.map → p-94aab132.entry.js.map} +1 -1
  368. package/dist/webcomponents/p-9cf1963e.entry.js +145 -0
  369. package/dist/webcomponents/{p-37837c94.entry.js.map → p-9cf1963e.entry.js.map} +1 -1
  370. package/dist/webcomponents/p-9cfc8db7.entry.js +399 -0
  371. package/dist/webcomponents/p-9cfc8db7.entry.js.map +1 -0
  372. package/dist/webcomponents/{p-CAyrQrUt.js → p-ClsF4De3.js} +4 -3
  373. package/dist/webcomponents/{p-CAyrQrUt.js.map → p-ClsF4De3.js.map} +1 -1
  374. package/dist/webcomponents/p-DVjNHTTs.js +9 -0
  375. package/dist/webcomponents/p-DVjNHTTs.js.map +1 -0
  376. package/dist/webcomponents/p-bfb1bd71.entry.js +258 -0
  377. package/dist/webcomponents/{p-689dffab.entry.js.map → p-bfb1bd71.entry.js.map} +1 -1
  378. package/dist/webcomponents/p-c5ac5216.entry.js +210 -0
  379. package/dist/webcomponents/{p-703d9fdd.entry.js.map → p-c5ac5216.entry.js.map} +1 -1
  380. package/dist/webcomponents/p-caa64d3d.entry.js +111 -0
  381. package/dist/webcomponents/{p-8326e9aa.entry.js.map → p-caa64d3d.entry.js.map} +1 -1
  382. package/dist/webcomponents/p-cd2933f6.entry.js +153 -0
  383. package/dist/webcomponents/{p-91c947d6.entry.js.map → p-cd2933f6.entry.js.map} +1 -1
  384. package/dist/webcomponents/p-db618028.entry.js +2362 -0
  385. package/dist/webcomponents/{p-9e243fa3.entry.js.map → p-db618028.entry.js.map} +1 -1
  386. package/dist/webcomponents/p-ddee0a15.entry.js +88 -0
  387. package/dist/webcomponents/{p-55be3a1b.entry.js.map → p-ddee0a15.entry.js.map} +1 -1
  388. package/dist/webcomponents/p-eecebb46.entry.js +376 -0
  389. package/dist/webcomponents/p-eecebb46.entry.js.map +1 -0
  390. package/dist/webcomponents/p-ff97c81f.entry.js +145 -0
  391. package/dist/webcomponents/p-ff97c81f.entry.js.map +1 -0
  392. package/dist/webcomponents/webcomponents.esm.js +61 -24
  393. package/dist/webcomponents/webcomponents.esm.js.map +1 -1
  394. package/dist/webcomponents.html-custom-data.json +558 -0
  395. package/package.json +2 -3
  396. package/dist/cjs/app-globals-XonOcHUG.js +0 -11
  397. package/dist/cjs/app-globals-XonOcHUG.js.map +0 -1
  398. package/dist/cjs/index-C5PKqcRm.js.map +0 -1
  399. package/dist/components/p-4n7uz3ik.js +0 -173
  400. package/dist/components/p-4n7uz3ik.js.map +0 -1
  401. package/dist/components/p-B27qgEvJ.js +0 -284
  402. package/dist/components/p-BPq5El3u.js +0 -2269
  403. package/dist/components/p-D27CYIFW.js +0 -153
  404. package/dist/components/p-D6xl9W7Q.js +0 -385
  405. package/dist/components/p-DGRJ0cGS.js +0 -197
  406. package/dist/components/p-Dt9PiOfU.js +0 -129
  407. package/dist/esm/app-globals-BmgwYwlE.js +0 -9
  408. package/dist/esm/app-globals-BmgwYwlE.js.map +0 -1
  409. package/dist/esm/polyfills/core-js.js +0 -11
  410. package/dist/esm/polyfills/dom.js +0 -79
  411. package/dist/esm/polyfills/es5-html-element.js +0 -1
  412. package/dist/esm/polyfills/index.js +0 -34
  413. package/dist/esm/polyfills/system.js +0 -6
  414. package/dist/esm-es5/app-globals-BmgwYwlE.js +0 -9
  415. package/dist/esm-es5/app-globals-BmgwYwlE.js.map +0 -1
  416. package/dist/esm-es5/br-avatar.entry.js +0 -148
  417. package/dist/esm-es5/br-avatar.entry.js.map +0 -1
  418. package/dist/esm-es5/br-breadcrumb.entry.js +0 -419
  419. package/dist/esm-es5/br-breadcrumb.entry.js.map +0 -1
  420. package/dist/esm-es5/br-button.br-icon.entry.js.map +0 -1
  421. package/dist/esm-es5/br-button_2.entry.js +0 -2387
  422. package/dist/esm-es5/br-button_2.entry.js.map +0 -1
  423. package/dist/esm-es5/br-checkbox.entry.js +0 -274
  424. package/dist/esm-es5/br-checkbox.entry.js.map +0 -1
  425. package/dist/esm-es5/br-checkgroup.entry.js +0 -150
  426. package/dist/esm-es5/br-checkgroup.entry.js.map +0 -1
  427. package/dist/esm-es5/br-collapse.entry.js +0 -270
  428. package/dist/esm-es5/br-collapse.entry.js.map +0 -1
  429. package/dist/esm-es5/br-divider.entry.js +0 -109
  430. package/dist/esm-es5/br-divider.entry.js.map +0 -1
  431. package/dist/esm-es5/br-dropdown.entry.js +0 -272
  432. package/dist/esm-es5/br-dropdown.entry.js.map +0 -1
  433. package/dist/esm-es5/br-input.br-radio.entry.js.map +0 -1
  434. package/dist/esm-es5/br-input_2.entry.js +0 -511
  435. package/dist/esm-es5/br-input_2.entry.js.map +0 -1
  436. package/dist/esm-es5/br-item.entry.js +0 -246
  437. package/dist/esm-es5/br-item.entry.js.map +0 -1
  438. package/dist/esm-es5/br-list.entry.js +0 -114
  439. package/dist/esm-es5/br-list.entry.js.map +0 -1
  440. package/dist/esm-es5/br-loading.entry.js +0 -86
  441. package/dist/esm-es5/br-loading.entry.js.map +0 -1
  442. package/dist/esm-es5/br-message.entry.js +0 -143
  443. package/dist/esm-es5/br-message.entry.js.map +0 -1
  444. package/dist/esm-es5/br-select.entry.js +0 -517
  445. package/dist/esm-es5/br-select.entry.js.map +0 -1
  446. package/dist/esm-es5/br-switch.entry.js +0 -243
  447. package/dist/esm-es5/br-switch.entry.js.map +0 -1
  448. package/dist/esm-es5/br-tag.entry.js +0 -250
  449. package/dist/esm-es5/br-tag.entry.js.map +0 -1
  450. package/dist/esm-es5/br-textarea.entry.js +0 -285
  451. package/dist/esm-es5/br-textarea.entry.js.map +0 -1
  452. package/dist/esm-es5/br-upload.entry.js +0 -229
  453. package/dist/esm-es5/br-upload.entry.js.map +0 -1
  454. package/dist/esm-es5/index-CAyrQrUt.js +0 -2740
  455. package/dist/esm-es5/index.js +0 -7
  456. package/dist/esm-es5/index.js.map +0 -1
  457. package/dist/esm-es5/loader.js +0 -393
  458. package/dist/esm-es5/loader.js.map +0 -1
  459. package/dist/esm-es5/webcomponents.js +0 -423
  460. package/dist/esm-es5/webcomponents.js.map +0 -1
  461. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/packages/webcomponents/.stencil/packages/webcomponents/custom-docs/markdown-css-props.d.ts +0 -2
  462. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/packages/webcomponents/.stencil/packages/webcomponents/custom-docs/markdown-events-all.d.ts +0 -2
  463. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/packages/webcomponents/.stencil/packages/webcomponents/custom-docs/markdown-events.d.ts +0 -2
  464. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/packages/webcomponents/.stencil/packages/webcomponents/custom-docs/markdown-methods-all.d.ts +0 -2
  465. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/packages/webcomponents/.stencil/packages/webcomponents/custom-docs/markdown-methods.d.ts +0 -2
  466. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/packages/webcomponents/.stencil/packages/webcomponents/custom-docs/markdown-props-all.d.ts +0 -2
  467. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/packages/webcomponents/.stencil/packages/webcomponents/custom-docs/markdown-props.d.ts +0 -2
  468. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/packages/webcomponents/.stencil/packages/webcomponents/custom-docs/markdown-slots-all.d.ts +0 -2
  469. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/packages/webcomponents/.stencil/packages/webcomponents/custom-docs/output-docs.d.ts +0 -2
  470. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/packages/webcomponents/.stencil/packages/webcomponents/stencil.config.d.ts +0 -2
  471. package/dist/webcomponents/p-06f7eeff.system.entry.js +0 -254
  472. package/dist/webcomponents/p-06f7eeff.system.entry.js.map +0 -1
  473. package/dist/webcomponents/p-0b4b4c3c.system.entry.js +0 -235
  474. package/dist/webcomponents/p-0b4b4c3c.system.entry.js.map +0 -1
  475. package/dist/webcomponents/p-0baea87b.system.entry.js +0 -157
  476. package/dist/webcomponents/p-0baea87b.system.entry.js.map +0 -1
  477. package/dist/webcomponents/p-15208deb.system.entry.js +0 -282
  478. package/dist/webcomponents/p-15208deb.system.entry.js.map +0 -1
  479. package/dist/webcomponents/p-1dcPc0rI.system.js.map +0 -1
  480. package/dist/webcomponents/p-24ffcc2b.system.entry.js +0 -524
  481. package/dist/webcomponents/p-24ffcc2b.system.entry.js.map +0 -1
  482. package/dist/webcomponents/p-27378f51.system.entry.js +0 -251
  483. package/dist/webcomponents/p-27378f51.system.entry.js.map +0 -1
  484. package/dist/webcomponents/p-37837c94.entry.js +0 -144
  485. package/dist/webcomponents/p-3a508420.system.entry.js +0 -425
  486. package/dist/webcomponents/p-3a508420.system.entry.js.map +0 -1
  487. package/dist/webcomponents/p-3f0965c1.entry.js +0 -168
  488. package/dist/webcomponents/p-4c5b3ba6.entry.js +0 -254
  489. package/dist/webcomponents/p-5417fc76.system.entry.js +0 -121
  490. package/dist/webcomponents/p-5417fc76.system.entry.js.map +0 -1
  491. package/dist/webcomponents/p-55be3a1b.entry.js +0 -87
  492. package/dist/webcomponents/p-58c537dc.system.entry.js +0 -155
  493. package/dist/webcomponents/p-58c537dc.system.entry.js.map +0 -1
  494. package/dist/webcomponents/p-5e68b68a.system.entry.js +0 -515
  495. package/dist/webcomponents/p-5e68b68a.system.entry.js.map +0 -1
  496. package/dist/webcomponents/p-64088f4f.entry.js +0 -398
  497. package/dist/webcomponents/p-64088f4f.entry.js.map +0 -1
  498. package/dist/webcomponents/p-689dffab.entry.js +0 -257
  499. package/dist/webcomponents/p-6b505a38.system.entry.js +0 -293
  500. package/dist/webcomponents/p-6b505a38.system.entry.js.map +0 -1
  501. package/dist/webcomponents/p-6e166dac.entry.js +0 -166
  502. package/dist/webcomponents/p-703d9fdd.entry.js +0 -209
  503. package/dist/webcomponents/p-70b7a2e1.system.entry.js +0 -93
  504. package/dist/webcomponents/p-70b7a2e1.system.entry.js.map +0 -1
  505. package/dist/webcomponents/p-817f83ec.entry.js +0 -148
  506. package/dist/webcomponents/p-8326e9aa.entry.js +0 -110
  507. package/dist/webcomponents/p-91c947d6.entry.js +0 -152
  508. package/dist/webcomponents/p-9e243fa3.entry.js +0 -2361
  509. package/dist/webcomponents/p-B5mVBvvI.system.js.map +0 -1
  510. package/dist/webcomponents/p-B90gByRD.system.js.map +0 -1
  511. package/dist/webcomponents/p-BNl1VeC2.system.js.map +0 -1
  512. package/dist/webcomponents/p-BeMhoFbq.system.js.map +0 -1
  513. package/dist/webcomponents/p-Bhwl8CRi.system.js +0 -433
  514. package/dist/webcomponents/p-Bhwl8CRi.system.js.map +0 -1
  515. package/dist/webcomponents/p-BmSBn_cM.system.js +0 -14
  516. package/dist/webcomponents/p-BmSBn_cM.system.js.map +0 -1
  517. package/dist/webcomponents/p-BmgwYwlE.js +0 -8
  518. package/dist/webcomponents/p-BmgwYwlE.js.map +0 -1
  519. package/dist/webcomponents/p-BqvdZkL7.system.js.map +0 -1
  520. package/dist/webcomponents/p-CMdFJ4qj.system.js +0 -2512
  521. package/dist/webcomponents/p-CMdFJ4qj.system.js.map +0 -1
  522. package/dist/webcomponents/p-C_4ySWyP.system.js.map +0 -1
  523. package/dist/webcomponents/p-Ct3ex90V.system.js.map +0 -1
  524. package/dist/webcomponents/p-D86s8ueb.system.js.map +0 -1
  525. package/dist/webcomponents/p-DFVDihQu.system.js.map +0 -1
  526. package/dist/webcomponents/p-Dde15d6z.system.js.map +0 -1
  527. package/dist/webcomponents/p-IsnpLreB.system.js +0 -12
  528. package/dist/webcomponents/p-IsnpLreB.system.js.map +0 -1
  529. package/dist/webcomponents/p-MDfQKKJ3.system.js.map +0 -1
  530. package/dist/webcomponents/p-YAlbMep3.system.js.map +0 -1
  531. package/dist/webcomponents/p-be24a356.entry.js +0 -357
  532. package/dist/webcomponents/p-be24a356.entry.js.map +0 -1
  533. package/dist/webcomponents/p-c17f8737.entry.js.map +0 -1
  534. package/dist/webcomponents/p-c50854a2.system.entry.js +0 -151
  535. package/dist/webcomponents/p-c50854a2.system.entry.js.map +0 -1
  536. package/dist/webcomponents/p-c51e88c5.system.entry.js +0 -280
  537. package/dist/webcomponents/p-c51e88c5.system.entry.js.map +0 -1
  538. package/dist/webcomponents/p-cc4c57d8.entry.js +0 -144
  539. package/dist/webcomponents/p-cc4c57d8.entry.js.map +0 -1
  540. package/dist/webcomponents/p-d335142c.entry.js +0 -467
  541. package/dist/webcomponents/p-d335142c.entry.js.map +0 -1
  542. package/dist/webcomponents/p-da852ece.system.entry.js +0 -278
  543. package/dist/webcomponents/p-da852ece.system.entry.js.map +0 -1
  544. package/dist/webcomponents/p-daf44e2e.system.entry.js +0 -116
  545. package/dist/webcomponents/p-daf44e2e.system.entry.js.map +0 -1
  546. package/dist/webcomponents/p-de7e8ab8.entry.js +0 -163
  547. package/dist/webcomponents/p-de7e8ab8.entry.js.map +0 -1
  548. package/dist/webcomponents/p-dwDliNFd.system.js.map +0 -1
  549. package/dist/webcomponents/p-fa6f51fa.system.entry.js +0 -251
  550. package/dist/webcomponents/p-fa6f51fa.system.entry.js.map +0 -1
  551. package/dist/webcomponents/p-fcb2845b.system.entry.js +0 -2386
  552. package/dist/webcomponents/p-fcb2845b.system.entry.js.map +0 -1
  553. package/dist/webcomponents/p-mh9IZoxC.system.js.map +0 -1
  554. package/dist/webcomponents/p-s9klvrRa.system.js.map +0 -1
  555. package/dist/webcomponents/p-thasv5yZ.system.js.map +0 -1
  556. package/dist/webcomponents/p-usq43hTj.system.js.map +0 -1
  557. package/dist/webcomponents/p-wytm5zt0.system.js.map +0 -1
  558. package/dist/webcomponents/webcomponents.js +0 -127
  559. /package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/{packages/webcomponents/.stencil → .stencil}/packages/webcomponents/custom-docs/docs-utils.d.ts +0 -0
  560. /package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/{packages/webcomponents/.stencil → .stencil}/packages/webcomponents/custom-docs/markdown-overview.d.ts +0 -0
  561. /package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/{packages/webcomponents/.stencil → .stencil}/packages/webcomponents/custom-docs/path.d.ts +0 -0
  562. /package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/{packages/webcomponents/.stencil → .stencil}/packages/webcomponents/custom-docs/sort-markdown-tables.d.ts +0 -0
@@ -629,9 +629,9 @@ export namespace Components {
629
629
  */
630
630
  "label": string;
631
631
  /**
632
- * JSON contendo as opções do select.
632
+ * Define as opções do componente de seleção.
633
633
  */
634
- "options": string;
634
+ "options": { label: string; value: string; selected?: boolean }[];
635
635
  /**
636
636
  * Texto auxiliar exibido antes de uma seleção.
637
637
  */
@@ -653,6 +653,104 @@ export namespace Components {
653
653
  */
654
654
  "unselectAllLabel": string;
655
655
  }
656
+ /**
657
+ * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/step?tab=designer).
658
+ */
659
+ interface BrStep {
660
+ /**
661
+ * Método disponibilizado via API do elemento que controla o componente Step, responsável por retornar ao passo anterior e atualizar o valor do estado activeStep
662
+ */
663
+ "BackToPreviousStep": () => Promise<void>;
664
+ /**
665
+ * Método disponibilizado via API do elemento que permite a um componente externo obter a etapa com o estado ativo do componente Step.
666
+ */
667
+ "GetActiveStep": () => Promise<number>;
668
+ /**
669
+ * Método disponibilizado via API do elemento que controla o componente Step, responsável por avançar para o próximo passo e atualizar o valor do estado activeStep
670
+ */
671
+ "ProceedToNextStep": () => Promise<void>;
672
+ /**
673
+ * Método disponibilizado via API do elemento que integra um componente externo ao componente Step, permitindo sinalizar validações ou destacar a etapa com estado ativo.
674
+ */
675
+ "StepValidation": (validationStatus: "success" | "info" | "danger" | "warning") => Promise<void>;
676
+ /**
677
+ * Propriedade que define o tipo de conteúdo a ser exibido dentro do componente step e stepItem
678
+ */
679
+ "contentType": 'default' | 'br-icon' | 'no-content' | 'slotted';
680
+ /**
681
+ * define o passo que começará destacado
682
+ */
683
+ "initialStep": string;
684
+ /**
685
+ * Propriedade que define a posição onde o texto de destaque,label, ficará localizado no stepItem
686
+ */
687
+ "labelPosition"?: 'top' | 'right' | 'bottom' | 'left';
688
+ /**
689
+ * propriedade responsável por definir a orientação do componente Step
690
+ */
691
+ "layout": 'horizontal' | 'vertical';
692
+ /**
693
+ * Propriedade que define o tipo de comportamento que o componente Step deverá seguir
694
+ */
695
+ "mode": 'controller' | 'step';
696
+ /**
697
+ * Propriedade que define o tipo de progressão de etapas que o step vai executar
698
+ */
699
+ "progressionType": 'linear' | 'nonlinear';
700
+ }
701
+ /**
702
+ * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/step?tab=designer).
703
+ */
704
+ interface BrStepItem {
705
+ /**
706
+ * Propriedade que define se o item Step está com estado ativo.
707
+ */
708
+ "active": boolean;
709
+ /**
710
+ * Propriedade Define o nome do ícone o texto de acessibilidade apresentando quando o tipo de conteúdo for o br-icon
711
+ */
712
+ "brIconAria": string;
713
+ /**
714
+ * Propriedade Define o nome do ícone do componente BRIcon que será exibido como conteúdo do step item, propriedade funciona apenas quando o state contentType assume o valor br-icon.
715
+ */
716
+ "brIconName"?: string;
717
+ /**
718
+ * Propriedade que define se o item Step está com estado desativado..
719
+ */
720
+ "disabled": boolean;
721
+ /**
722
+ * Método que define a orientação do stepItem e controla a exibição da linha do tempo após o componente.
723
+ */
724
+ "handleShowTimeLine": (value: boolean, layout: any) => Promise<void>;
725
+ /**
726
+ * Propriedade que define o tipo de ícone de destaque exibido pelo item Step, com quatro opções disponíveis: "success", "info", "danger" e "warning".
727
+ */
728
+ "highlight"?: 'success' | 'info' | 'danger' | 'warning';
729
+ /**
730
+ * Propriedade que define o conteúdo do texto auxiliar de realce do item de Step.
731
+ */
732
+ "label": string;
733
+ /**
734
+ * Método disponibilizado via api do elemento que atribui o valor que irá ser exibido dentro do componente stepItem
735
+ */
736
+ "setContent": (value: string) => Promise<void>;
737
+ /**
738
+ * Método disponibilizado via api do elemento que atribui o valor que irá definir o tipo de conteúdo apresentado dentro do componente stepItem
739
+ */
740
+ "setContentType": (value: "default" | "br-icon" | "no-content" | "slotted") => Promise<void>;
741
+ /**
742
+ * Método disponibilizado via api do elemento que atribui o valor ao estado que define onde o label, o texto de destaque, irá ficar localizado
743
+ */
744
+ "setLabelPosition": (value: "top" | "right" | "bottom" | "left") => Promise<void>;
745
+ /**
746
+ * Método disponibilizado via api do elemento que atribui o valor que irá definir o modo como o componente irá se comportar e exibir seu estilo.
747
+ */
748
+ "setMode": (value: "controller" | "step") => Promise<void>;
749
+ /**
750
+ * Método disponibilizado via api do elemento que indica a posição do step item, ele serve para setar o state stepItemPositionStatus do componente
751
+ */
752
+ "setStepItemPositionStatus": (value: "first" | "middle" | "last") => Promise<void>;
753
+ }
656
754
  /**
657
755
  * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/switch?tab=designer).
658
756
  */
@@ -868,6 +966,14 @@ export interface BrSelectCustomEvent<T> extends CustomEvent<T> {
868
966
  detail: T;
869
967
  target: HTMLBrSelectElement;
870
968
  }
969
+ export interface BrStepCustomEvent<T> extends CustomEvent<T> {
970
+ detail: T;
971
+ target: HTMLBrStepElement;
972
+ }
973
+ export interface BrStepItemCustomEvent<T> extends CustomEvent<T> {
974
+ detail: T;
975
+ target: HTMLBrStepItemElement;
976
+ }
871
977
  export interface BrSwitchCustomEvent<T> extends CustomEvent<T> {
872
978
  detail: T;
873
979
  target: HTMLBrSwitchElement;
@@ -1118,6 +1224,49 @@ declare global {
1118
1224
  prototype: HTMLBrSelectElement;
1119
1225
  new (): HTMLBrSelectElement;
1120
1226
  };
1227
+ interface HTMLBrStepElementEventMap {
1228
+ "brDidLoad": void;
1229
+ "brWilLoad": void;
1230
+ "brShouldUpdate": void;
1231
+ }
1232
+ /**
1233
+ * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/step?tab=designer).
1234
+ */
1235
+ interface HTMLBrStepElement extends Components.BrStep, HTMLStencilElement {
1236
+ addEventListener<K extends keyof HTMLBrStepElementEventMap>(type: K, listener: (this: HTMLBrStepElement, ev: BrStepCustomEvent<HTMLBrStepElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1237
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1238
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1239
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1240
+ removeEventListener<K extends keyof HTMLBrStepElementEventMap>(type: K, listener: (this: HTMLBrStepElement, ev: BrStepCustomEvent<HTMLBrStepElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1241
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1242
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1243
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1244
+ }
1245
+ var HTMLBrStepElement: {
1246
+ prototype: HTMLBrStepElement;
1247
+ new (): HTMLBrStepElement;
1248
+ };
1249
+ interface HTMLBrStepItemElementEventMap {
1250
+ "brWillRender": void;
1251
+ "brDidRender": void;
1252
+ }
1253
+ /**
1254
+ * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/step?tab=designer).
1255
+ */
1256
+ interface HTMLBrStepItemElement extends Components.BrStepItem, HTMLStencilElement {
1257
+ addEventListener<K extends keyof HTMLBrStepItemElementEventMap>(type: K, listener: (this: HTMLBrStepItemElement, ev: BrStepItemCustomEvent<HTMLBrStepItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1258
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1259
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1260
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1261
+ removeEventListener<K extends keyof HTMLBrStepItemElementEventMap>(type: K, listener: (this: HTMLBrStepItemElement, ev: BrStepItemCustomEvent<HTMLBrStepItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1262
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1263
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1264
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1265
+ }
1266
+ var HTMLBrStepItemElement: {
1267
+ prototype: HTMLBrStepItemElement;
1268
+ new (): HTMLBrStepItemElement;
1269
+ };
1121
1270
  interface HTMLBrSwitchElementEventMap {
1122
1271
  "checkedChange": boolean;
1123
1272
  }
@@ -1201,6 +1350,8 @@ declare global {
1201
1350
  "br-message": HTMLBrMessageElement;
1202
1351
  "br-radio": HTMLBrRadioElement;
1203
1352
  "br-select": HTMLBrSelectElement;
1353
+ "br-step": HTMLBrStepElement;
1354
+ "br-step-item": HTMLBrStepItemElement;
1204
1355
  "br-switch": HTMLBrSwitchElement;
1205
1356
  "br-tag": HTMLBrTagElement;
1206
1357
  "br-textarea": HTMLBrTextareaElement;
@@ -1844,9 +1995,9 @@ declare namespace LocalJSX {
1844
1995
  */
1845
1996
  "onBrDidSelectChange"?: (event: BrSelectCustomEvent<any>) => void;
1846
1997
  /**
1847
- * JSON contendo as opções do select.
1998
+ * Define as opções do componente de seleção.
1848
1999
  */
1849
- "options"?: string;
2000
+ "options"?: { label: string; value: string; selected?: boolean }[];
1850
2001
  /**
1851
2002
  * Texto auxiliar exibido antes de uma seleção.
1852
2003
  */
@@ -1864,6 +2015,84 @@ declare namespace LocalJSX {
1864
2015
  */
1865
2016
  "unselectAllLabel"?: string;
1866
2017
  }
2018
+ /**
2019
+ * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/step?tab=designer).
2020
+ */
2021
+ interface BrStep {
2022
+ /**
2023
+ * Propriedade que define o tipo de conteúdo a ser exibido dentro do componente step e stepItem
2024
+ */
2025
+ "contentType"?: 'default' | 'br-icon' | 'no-content' | 'slotted';
2026
+ /**
2027
+ * define o passo que começará destacado
2028
+ */
2029
+ "initialStep"?: string;
2030
+ /**
2031
+ * Propriedade que define a posição onde o texto de destaque,label, ficará localizado no stepItem
2032
+ */
2033
+ "labelPosition"?: 'top' | 'right' | 'bottom' | 'left';
2034
+ /**
2035
+ * propriedade responsável por definir a orientação do componente Step
2036
+ */
2037
+ "layout"?: 'horizontal' | 'vertical';
2038
+ /**
2039
+ * Propriedade que define o tipo de comportamento que o componente Step deverá seguir
2040
+ */
2041
+ "mode"?: 'controller' | 'step';
2042
+ /**
2043
+ * Emite um evento após o componente ter sido carregado pela primeira vez. Utilize este evento para realizar ações que devem ocorrer depois que o componente foi totalmente carregado. Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes.
2044
+ */
2045
+ "onBrDidLoad"?: (event: BrStepCustomEvent<void>) => void;
2046
+ /**
2047
+ * Emite um evento para indicar se o componente deve ser atualizado ou não. Este evento é chamado antes de qualquer atualização do componente para decidir se a atualização deve prosseguir. Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentshouldupdate) para mais detalhes.
2048
+ */
2049
+ "onBrShouldUpdate"?: (event: BrStepCustomEvent<void>) => void;
2050
+ /**
2051
+ * Emite um evento antes do componente ser renderizado pela primeira vez, permitindo a preparação de dados ou inicializações necessárias. Utilize este evento para realizar ações que devem ocorrer depois que o componente foi totalmente carregado. Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdwillLoad) para mais detalhes.
2052
+ */
2053
+ "onBrWilLoad"?: (event: BrStepCustomEvent<void>) => void;
2054
+ /**
2055
+ * Propriedade que define o tipo de progressão de etapas que o step vai executar
2056
+ */
2057
+ "progressionType"?: 'linear' | 'nonlinear';
2058
+ }
2059
+ /**
2060
+ * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/step?tab=designer).
2061
+ */
2062
+ interface BrStepItem {
2063
+ /**
2064
+ * Propriedade que define se o item Step está com estado ativo.
2065
+ */
2066
+ "active"?: boolean;
2067
+ /**
2068
+ * Propriedade Define o nome do ícone o texto de acessibilidade apresentando quando o tipo de conteúdo for o br-icon
2069
+ */
2070
+ "brIconAria"?: string;
2071
+ /**
2072
+ * Propriedade Define o nome do ícone do componente BRIcon que será exibido como conteúdo do step item, propriedade funciona apenas quando o state contentType assume o valor br-icon.
2073
+ */
2074
+ "brIconName"?: string;
2075
+ /**
2076
+ * Propriedade que define se o item Step está com estado desativado..
2077
+ */
2078
+ "disabled"?: boolean;
2079
+ /**
2080
+ * Propriedade que define o tipo de ícone de destaque exibido pelo item Step, com quatro opções disponíveis: "success", "info", "danger" e "warning".
2081
+ */
2082
+ "highlight"?: 'success' | 'info' | 'danger' | 'warning';
2083
+ /**
2084
+ * Propriedade que define o conteúdo do texto auxiliar de realce do item de Step.
2085
+ */
2086
+ "label"?: string;
2087
+ /**
2088
+ * Emite um evento após o componente ter sido carregado pela primeira vez. Utilize este evento para realizar ações que devem ocorrer antes que o componente seja renderizado ou atualizado. Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes.
2089
+ */
2090
+ "onBrDidRender"?: (event: BrStepItemCustomEvent<void>) => void;
2091
+ /**
2092
+ * Emite um evento após o componente ter sido carregado pela primeira vez. Utilize este evento para realizar ações que devem ocorrer antes que o componente seja renderizado ou atualizado. Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes.
2093
+ */
2094
+ "onBrWillRender"?: (event: BrStepItemCustomEvent<void>) => void;
2095
+ }
1867
2096
  /**
1868
2097
  * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/switch?tab=designer).
1869
2098
  */
@@ -2066,6 +2295,8 @@ declare namespace LocalJSX {
2066
2295
  "br-message": BrMessage;
2067
2296
  "br-radio": BrRadio;
2068
2297
  "br-select": BrSelect;
2298
+ "br-step": BrStep;
2299
+ "br-step-item": BrStepItem;
2069
2300
  "br-switch": BrSwitch;
2070
2301
  "br-tag": BrTag;
2071
2302
  "br-textarea": BrTextarea;
@@ -2142,6 +2373,14 @@ declare module "@stencil/core" {
2142
2373
  */
2143
2374
  "br-radio": LocalJSX.BrRadio & JSXBase.HTMLAttributes<HTMLBrRadioElement>;
2144
2375
  "br-select": LocalJSX.BrSelect & JSXBase.HTMLAttributes<HTMLBrSelectElement>;
2376
+ /**
2377
+ * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/step?tab=designer).
2378
+ */
2379
+ "br-step": LocalJSX.BrStep & JSXBase.HTMLAttributes<HTMLBrStepElement>;
2380
+ /**
2381
+ * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/step?tab=designer).
2382
+ */
2383
+ "br-step-item": LocalJSX.BrStepItem & JSXBase.HTMLAttributes<HTMLBrStepItemElement>;
2145
2384
  /**
2146
2385
  * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/switch?tab=designer).
2147
2386
  */
@@ -1 +1 @@
1
- {"version":3,"file":"br-avatar.entry.esm.js","sources":["../../packages/webcomponents/src/components/avatar/avatar.scss?tag=br-avatar&encapsulation=shadow","../../packages/webcomponents/src/components/avatar/avatar.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/avatar/avatar\";\n\n:host {\n display: block;\n\n /**\n * @prop --border-radius: Border radius of the avatar and inner image\n */\n border-radius: var(--border-radius);\n}\n","import { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/avatar?tab=designer).\n */\n@Component({\n tag: 'br-avatar',\n styleUrl: 'avatar.scss',\n shadow: true,\n})\nexport class Avatar {\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: HTMLBrAvatarElement\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ mutable: true }) density: 'small' | 'medium' | 'large' = 'medium'\n\n @Watch('density')\n handleDensityChange(newValue: 'small' | 'medium' | 'large') {\n if (!['small', 'medium', 'large'].includes(newValue)) {\n console.warn(`Valor inválido para density: ${newValue}. Usando 'medium'.`)\n this.density = 'medium'\n }\n this.el.setAttribute('density', this.density)\n }\n\n /**\n * Executa validações iniciais quando o componente é carregado\n */\n componentWillLoad() {\n this.handleDensityChange(this.density)\n }\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-avatar-${avatarId++}`\n\n /**\n * URL da imagem a ser exibida no avatar do tipo 'fotográfico'.\n * Deve ser uma URL válida que aponta para a imagem desejada.\n */\n @Prop() readonly src: string\n\n /**\n * Texto alternativo (alt) associado à imagem do avatar. Essencial para acessibilidade e SEO.\n * Deve descrever de forma clara e concisa o conteúdo da imagem, por exemplo: \"Foto de perfil de João Silva\".\n */\n @Prop() readonly alt = 'Imagem do avatar'\n\n /**\n * Indica se o avatar deve ser exibido como um ícone em vez de uma imagem fotográfica.\n * Se definido como verdadeiro, o avatar será exibido como um ícone.\n */\n @Prop() readonly isIconic: boolean = false\n\n /**\n * Texto exibido no avatar do tipo 'letra'.\n * Esse texto será mostrado em vez de uma imagem e pode ser usado para representar iniciais ou outras informações textuais.\n */\n @Prop() readonly text: string\n\n /**\n * Largura do ícone no avatar do tipo icônico\n * */\n @Prop() readonly iconWidth: string\n\n /**\n * Altura do ícone no avatar do tipo icônico\n */\n @Prop() readonly iconHeight: string\n\n /**\n * Ajuste para a margem de cima do ícone no avatar do tipo icônico\n */\n @Prop() readonly iconMarginTop: string\n\n /**\n * Define se o avatar está desabilitado\n */\n @Prop() readonly disabled = false\n\n @State() private hasError = false\n\n /**\n * Gera um mapa de classes CSS com base nas propriedades do componente.\n * O mapa de classes determina quais classes CSS devem ser aplicadas\n * ao elemento host do componente, ajustando sua aparência.\n *\n * @returns {CssClassMap} Objeto contendo as classes CSS aplicadas.\n */\n private getCssClassMap(): CssClassMap {\n return {\n 'br-avatar': true,\n [this.density]: true,\n error: this.hasError,\n disabled: this.disabled,\n }\n }\n\n private readonly iconSizes = {\n small: { height: '32px', width: '40px' },\n medium: { height: '80px', width: '88px' },\n large: { height: '128px', width: '136px' },\n }\n\n private readonly iconMarginTops = {\n small: '0.7em',\n medium: '1em',\n large: '0.62em',\n }\n\n private readonly handleImageError = () => {\n this.hasError = true\n console.error(`Erro ao carregar imagem do avatar: ${this.src}`)\n }\n\n private renderAvatar() {\n if (this.text?.trim().length > 0) {\n return (\n <span class=\"content bg-support-01 text-pure-0\" title={this.text}>\n {this.text[0].toUpperCase()}\n </span>\n )\n } else if (this.src?.trim().length > 0 && !this.hasError) {\n return (\n <span class=\"content\" title={this.alt || this.text}>\n <img src={this.src} alt={this.alt} loading=\"lazy\" onError={this.handleImageError} />\n </span>\n )\n } else {\n return (\n <span class=\"content\" title={this.text}>\n <br-icon\n icon-name=\"fa-solid:user\"\n height={this.iconHeight?.length > 0 ? this.iconHeight : this.iconSizes[this.density]?.height}\n width={this.iconWidth?.length > 0 ? this.iconWidth : this.iconSizes[this.density]?.width}\n aria-hidden=\"true\"\n style={{\n 'margin-top': this.iconMarginTop?.length > 0 ? this.iconMarginTop : this.iconMarginTops[this.density],\n }}\n ></br-icon>\n </span>\n )\n }\n }\n\n render() {\n return (\n <Host>\n <span id={this.customId} class={this.getCssClassMap()} aria-disabled={this.disabled}>\n {this.renderAvatar()}\n </span>\n </Host>\n )\n }\n}\n\nlet avatarId = 0\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"br-avatar.entry.esm.js","sources":["../../packages/webcomponents/src/components/avatar/avatar.scss?tag=br-avatar&encapsulation=shadow","../../packages/webcomponents/src/components/avatar/avatar.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/avatar/avatar\";\n\n:host {\n display: block;\n}\n","import { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/avatar?tab=designer).\n */\n@Component({\n tag: 'br-avatar',\n styleUrl: 'avatar.scss',\n shadow: true,\n})\nexport class Avatar {\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: HTMLBrAvatarElement\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ mutable: true }) density: 'small' | 'medium' | 'large' = 'medium'\n\n @Watch('density')\n handleDensityChange(newValue: 'small' | 'medium' | 'large') {\n if (!['small', 'medium', 'large'].includes(newValue)) {\n console.warn(`Valor inválido para density: ${newValue}. Usando 'medium'.`)\n this.density = 'medium'\n }\n this.el.setAttribute('density', this.density)\n }\n\n /**\n * Executa validações iniciais quando o componente é carregado\n */\n componentWillLoad() {\n this.handleDensityChange(this.density)\n }\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-avatar-${avatarId++}`\n\n /**\n * URL da imagem a ser exibida no avatar do tipo 'fotográfico'.\n * Deve ser uma URL válida que aponta para a imagem desejada.\n */\n @Prop() readonly src: string\n\n /**\n * Texto alternativo (alt) associado à imagem do avatar. Essencial para acessibilidade e SEO.\n * Deve descrever de forma clara e concisa o conteúdo da imagem, por exemplo: \"Foto de perfil de João Silva\".\n */\n @Prop() readonly alt = 'Imagem do avatar'\n\n /**\n * Indica se o avatar deve ser exibido como um ícone em vez de uma imagem fotográfica.\n * Se definido como verdadeiro, o avatar será exibido como um ícone.\n */\n @Prop() readonly isIconic: boolean = false\n\n /**\n * Texto exibido no avatar do tipo 'letra'.\n * Esse texto será mostrado em vez de uma imagem e pode ser usado para representar iniciais ou outras informações textuais.\n */\n @Prop() readonly text: string\n\n /**\n * Largura do ícone no avatar do tipo icônico\n * */\n @Prop() readonly iconWidth: string\n\n /**\n * Altura do ícone no avatar do tipo icônico\n */\n @Prop() readonly iconHeight: string\n\n /**\n * Ajuste para a margem de cima do ícone no avatar do tipo icônico\n */\n @Prop() readonly iconMarginTop: string\n\n /**\n * Define se o avatar está desabilitado\n */\n @Prop() readonly disabled = false\n\n @State() private hasError = false\n\n /**\n * Gera um mapa de classes CSS com base nas propriedades do componente.\n * O mapa de classes determina quais classes CSS devem ser aplicadas\n * ao elemento host do componente, ajustando sua aparência.\n *\n * @returns {CssClassMap} Objeto contendo as classes CSS aplicadas.\n */\n private getCssClassMap(): CssClassMap {\n return {\n 'br-avatar': true,\n [this.density]: true,\n error: this.hasError,\n disabled: this.disabled,\n }\n }\n\n private readonly iconSizes = {\n small: { height: '32px', width: '40px' },\n medium: { height: '80px', width: '88px' },\n large: { height: '128px', width: '136px' },\n }\n\n private readonly iconMarginTops = {\n small: '0.7em',\n medium: '1em',\n large: '0.62em',\n }\n\n private readonly handleImageError = () => {\n this.hasError = true\n console.error(`Erro ao carregar imagem do avatar: ${this.src}`)\n }\n\n private renderAvatar() {\n if (this.text?.trim().length > 0) {\n return (\n <span class=\"content bg-support-01 text-pure-0\" title={this.text}>\n {this.text[0].toUpperCase()}\n </span>\n )\n } else if (this.src?.trim().length > 0 && !this.hasError) {\n return (\n <span class=\"content\" title={this.alt || this.text}>\n <img src={this.src} alt={this.alt} loading=\"lazy\" onError={this.handleImageError} />\n </span>\n )\n } else {\n return (\n <span class=\"content\" title={this.text}>\n <br-icon\n icon-name=\"fa-solid:user\"\n height={this.iconHeight?.length > 0 ? this.iconHeight : this.iconSizes[this.density]?.height}\n width={this.iconWidth?.length > 0 ? this.iconWidth : this.iconSizes[this.density]?.width}\n aria-hidden=\"true\"\n style={{\n 'margin-top': this.iconMarginTop?.length > 0 ? this.iconMarginTop : this.iconMarginTops[this.density],\n }}\n ></br-icon>\n </span>\n )\n }\n }\n\n render() {\n return (\n <Host>\n <span id={this.customId} class={this.getCssClassMap()} aria-disabled={this.disabled}>\n {this.renderAvatar()}\n </span>\n </Host>\n )\n }\n}\n\nlet avatarId = 0\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"br-breadcrumb.entry.esm.js","sources":["../../packages/webcomponents/src/components/breadcrumb/breadcrumb.scss?tag=br-breadcrumb&encapsulation=shadow","../../packages/webcomponents/src/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/breadcrumb/breadcrumb\";\n@import \"~@govbr-ds/core/src/partial/scss/configs/icons\";\n@import \"~@govbr-ds/core/src/components/button/button\";\n@import \"~@govbr-ds/core/src/components/list/list\";\n@import \"~@govbr-ds/core/src/components/item/item\";\n@import \"~@govbr-ds/core/src/components/divider/divider\";\n\n:host {\n display: block;\n}\n\n:host(:hover) {\n .tooltip-box {\n opacity: 1;\n }\n}\n\n.br-breadcrumb {\n .br-icon {\n color: #cccccc;\n }\n\n .br-icon,\n .mobile-active-page {\n display: flex;\n align-items: center;\n }\n\n .mobile-crumb-list {\n display: none;\n position: absolute;\n width: 200px;\n box-shadow: var(--surface-shadow-sm);\n }\n\n .mobile-crumb-list.show {\n display: block;\n top: 100%;\n z-index: 999;\n }\n\n .buttonFolderGroup,\n .buttonFolderGroup span {\n display: flex;\n align-items: center;\n }\n\n .mobile-active-page span:focus:focus-visible {\n outline-color: var(--focus);\n outline-offset: var(--focus-offset);\n outline-style: var(--focus-style);\n outline-width: var(--focus-width);\n }\n}\n\n.crumb {\n display: flex;\n align-items: center;\n\n span {\n display: flex;\n align-items: center;\n }\n}\n\n// tooltip\n\n.tooltip-box {\n position: fixed;\n background: #1351b4;\n color: #fff;\n padding: 8px 12px;\n border-radius: 4px;\n font-size: 12px;\n white-space: nowrap;\n transform: translate(-50%, -100%);\n pointer-events: none;\n z-index: 9999;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n opacity: 0;\n transition: opacity 0.2s ease-in-out;\n\n &::after {\n content: \"\";\n position: absolute;\n bottom: -5px;\n left: 50%;\n transform: translateX(-50%);\n width: 0;\n height: 0;\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-top: 6px solid #1351b4;\n }\n}\n","/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\nimport { AttachInternals, Component, Element, h, Host, Prop, State } from '@stencil/core'\n\ninterface BreadcrumbItem {\n label: string\n url?: string\n target?: string\n home?: boolean\n active?: boolean\n}\n@Component({\n tag: 'br-breadcrumb',\n styleUrl: 'breadcrumb.scss',\n shadow: true,\n})\nexport class Breadcrumb {\n @Element() el: HTMLBrBreadcrumbElement\n @AttachInternals() elementInternals: ElementInternals\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-breadcrumb-${breadcrumbId++}`\n\n /**\n * URL para home.\n * Caso não seja fornecido, o valor padrão será /.\n */\n @Prop() homeUrl: string = '/'\n\n /**\n * Define o array de objetos que receberá os nomes e links do breadcrumb.\n * Define valor padrão do breadcrumb 'defaultCrumbs'.\n */\n @Prop() crumbs: string | BreadcrumbItem[]\n\n private defaultCrumbs: BreadcrumbItem[] = [\n { label: 'Página 01', url: '/pagina-01' },\n { label: 'Página 02', url: '/pagina-02' },\n { label: 'Página Atual', active: true },\n ]\n\n /**\n * Define o estado oculto ou visível do tooltip.\n */\n @State() showTooltip: boolean = false\n\n /**\n * Define o posicionamento do tooltip na tela.\n */\n @State() tooltipPosition: { x: number; y: number } = { x: 0, y: 0 }\n\n /**\n * Define o texto do tooltip.\n */\n @State() tooltipText: string = ''\n\n /**\n * Define o estado isSmallScreen, usado para verificar a largura do container pai e aplicar as mudanças do formato mobile.\n * No formato mobile o breadcrumb apresenta um comportamento específico.\n */\n @State() isSmallScreen: boolean = false\n\n /**\n * Define se o breadcrumb deve truncar os itens por falta de espaço.\n */\n @State() isTruncate: boolean = false\n\n /**\n * Largura interna dos itens do breadcrumb.\n */\n @State() larguraInterna: number = 0\n\n /**\n * Largura do container pai do breadcrumb.\n */\n @State() larguraPai: number = 0\n\n /**\n * Define o estado do botão 'Folder'.\n * Caso a lista dropdown esteja oculta o ícone no botão será 'folder-plus'.\n * Caso a lista dropdown esteja visível o ícone no botão será 'folder-minus'.\n */\n @State() isFolderOpen: boolean = false\n\n /**\n * Verifica se o texto do link contém mais de 20 caracteres e realiza o truncamento deste caso positivo.\n * O número de caracteres pode ser configurado na variável 'charactersNumberTruncate'.\n */\n private trunc(word: string) {\n return word.length > charactersNumberTruncate ? `${word.slice(0, charactersNumberTruncate)}...` : word\n }\n\n /**\n * Exibe o tooltip e define seu posicionamento, caso o usuário realize o 'mouse over'.\n */\n private handleMouseOver(event: MouseEvent, text: string) {\n const target = event.target as HTMLElement | null\n if (!target) return\n\n const rect = target.getBoundingClientRect()\n this.tooltipPosition = { x: rect.left + rect.width / 2, y: rect.top - 10 }\n\n if (text.length > charactersNumberTruncate) {\n this.tooltipText = text\n this.showTooltip = true\n }\n }\n\n /**\n * Esconde o tooltip caso o usuário realize o 'mouse out'.\n */\n private handleMouseOut() {\n this.showTooltip = false\n }\n\n /**\n * Converte de string para JSON o valor passado na propriedade 'crumbs'.\n * Retorna o valor padrão do Breadcrumbs caso crumbs seja vazio ou inválido\n */\n private getParsedItems(): BreadcrumbItem[] {\n if (!this.crumbs || this.crumbs === '') {\n return this.defaultCrumbs\n }\n\n try {\n const parsed = typeof this.crumbs === 'string' ? JSON.parse(this.crumbs) : this.crumbs\n return Array.isArray(parsed) && parsed.length > 0 ? parsed : this.defaultCrumbs\n } catch {\n console.error('Invalid JSON format for crumbs:', this.crumbs)\n return this.defaultCrumbs\n }\n }\n\n /**\n * Ao clicar no botão HOME, direciona o usuário para URL passada na propriedade 'homeUrl'.\n */\n private handleHomeClick() {\n window.location.href = this.homeUrl\n }\n\n /**\n * Altera o estado do botão 'Folder', caso a lista dropdown esteja aberta ou fechada.\n */\n private toggleFolder() {\n this.isFolderOpen = !this.isFolderOpen\n }\n\n /**\n * Define as classes CSS usadas no breadcrumb.\n */\n private getCssClassMap(): { [key: string]: boolean } {\n return {\n 'br-breadcrumb': true,\n small: this.isSmallScreen,\n }\n }\n\n /**\n * Atualiza o estado 'isSmallScreen' com base no tamanho do container pai, se menor que 570px.\n */\n private resizeObserver: ResizeObserver\n\n /**\n * Atualiza os estados de largura do breadcrumb ao detectar mudanças no container pai.\n */\n private updateContainerSize = (entries: ResizeObserverEntry[]) => {\n for (const entry of entries) {\n const containerWidth = entry.contentRect.width\n this.isSmallScreen = containerWidth < 570\n this.larguraPai = containerWidth\n this.calcularLarguraItens()\n }\n }\n\n /**\n * Adiciona o 'resizeObserver' para checar o tamanho do container pai.\n */\n connectedCallback() {\n if (typeof ResizeObserver !== 'undefined') {\n this.resizeObserver = new ResizeObserver(this.updateContainerSize)\n if (this.el.parentElement !== null) {\n this.resizeObserver.observe(this.el.parentElement)\n }\n }\n }\n\n /**\n * Remove o 'resizeObserver'.\n */\n disconnectedCallback() {\n if (this.resizeObserver != null) {\n this.resizeObserver.disconnect()\n }\n }\n\n /**\n * Calcula a largura total dos itens do breadcrumb para determinar se precisa de truncamento.\n */\n private calcularLarguraItens() {\n requestAnimationFrame(() => {\n const itens = this.el.shadowRoot?.querySelectorAll('.crumb, .mobile-active-page, br-item')\n if (itens) {\n let totalWidth = 0\n itens.forEach((item) => {\n totalWidth += (item as HTMLElement).getBoundingClientRect().width\n })\n this.larguraInterna = totalWidth\n this.isTruncate = this.larguraInterna > this.larguraPai\n }\n })\n }\n\n /**\n * Executa cálculos de largura após o componente ser carregado.\n */\n componentDidLoad() {\n this.calcularLarguraItens()\n }\n\n /**\n * Renderiza botão Home\n */\n private renderHomeButton() {\n const buttonFolderClass = this.isFolderOpen ? 'fa6-solid:folder-minus' : 'fa6-solid:folder-plus'\n return (\n <br-button\n id=\"circle\"\n shape=\"circle\"\n aria-label={this.isSmallScreen ? 'Exibir lista de páginas' : 'Voltar para Home'}\n onClick={this.isSmallScreen ? () => this.toggleFolder() : () => this.handleHomeClick()}\n >\n <br-icon icon-name={`${this.isSmallScreen ? buttonFolderClass : 'fa6-solid:house'}`}></br-icon>\n </br-button>\n )\n }\n\n /**\n * Renderiza botão Folder no comportamento truncado\n */\n private renderTruncateButton() {\n if (this.isTruncate && !this.isSmallScreen) {\n const buttonFolderClass = this.isFolderOpen ? 'fa6-solid:folder-minus' : 'fa6-solid:folder-plus'\n return (\n <div class=\"buttonFolderGroup\">\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <br-button\n id=\"circle\"\n shape=\"circle\"\n aria-label={this.isFolderOpen ? 'Recolher lista de páginas' : 'Exibir lista de páginas'}\n onClick={() => this.toggleFolder()}\n onKeyDown={(event) => this.handleKeyDown(event)}\n >\n <br-icon icon-name={buttonFolderClass}></br-icon>\n </br-button>\n </div>\n )\n }\n return null\n }\n\n /**\n * Renderiza itens do Breadcrumb no comportamento mobile ou truncado\n */\n private renderBreadcrumbItems() {\n const parsedItems = this.getParsedItems()\n const lastItem = parsedItems[parsedItems.length - 2]\n\n return this.isSmallScreen || this.isTruncate ? (\n <div class=\"buttonFolderGroup\">\n {this.isTruncate && !this.isSmallScreen && lastItem ? (\n <span>\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <a\n id=\"nextCrumb\"\n href={lastItem.url || 'javascript:void(0)'}\n target={lastItem.target || '_self'}\n onMouseOver={(event) => this.handleMouseOver(event, lastItem.label)}\n onMouseOut={() => this.handleMouseOut()}\n >\n {this.trunc(lastItem.label)}\n </a>\n </span>\n ) : null}\n {this.renderMobileActiveItem(parsedItems)}\n {this.renderBreadcrumbList(parsedItems)}\n </div>\n ) : (\n parsedItems.map((item, index) => (\n <li\n key={index}\n class={`crumb ${item.home ? 'home' : ''}`}\n data-active={item.active ? 'active' : null}\n aria-label={`Página ${index + 1} de ${parsedItems.length}`}\n >\n {this.renderBreadcrumbLink(item)}\n </li>\n ))\n )\n }\n\n /**\n * Renderiza item da página atual\n */\n private renderMobileActiveItem(parsedItems: BreadcrumbItem[]) {\n const activeItem = parsedItems.find((item) => item.active)\n if (!activeItem) return null\n return (\n <span class=\"mobile-active-page\">\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <span aria-current=\"page\" data-active=\"active\" tabindex=\"0\">\n {activeItem.label}\n </span>\n </span>\n )\n }\n\n /**\n * Renderiza Lista dropdown contendo os itens do Breadcrumb\n */\n private renderBreadcrumbList(parsedItems: BreadcrumbItem[]) {\n return (\n <br-list class={this.isFolderOpen ? 'mobile-crumb-list show' : 'mobile-crumb-list'}>\n {this.isSmallScreen && (\n <div aria-label={`Página 1 de ${parsedItems.length}`}>\n <br-item>\n <a href={this.homeUrl} target=\"_self\">\n Página Inicial\n </a>\n </br-item>\n <span class=\"br-divider\"></span>\n </div>\n )}\n {parsedItems.map((item, index) => {\n if (this.isTruncate && !this.isSmallScreen && index === parsedItems.length - 2) {\n return null\n }\n return (\n !item.active && (\n <div\n key={index}\n aria-label={\n this.isTruncate && !this.isSmallScreen\n ? `Página ${index + 1} de ${parsedItems.length - 2}`\n : `Página ${index + 2} de ${parsedItems.length}`\n }\n >\n <br-item>\n <a\n id={index == 0 ? 'firstElementList' : ''}\n href={item.url || 'javascript:void(0)'}\n target={item.target || '_self'}\n onMouseOver={(event) => this.handleMouseOver(event, item.label)}\n onMouseOut={() => this.handleMouseOut()}\n onKeyDown={\n index == parsedItems.length - 3 && this.isFolderOpen && this.isTruncate && !this.isSmallScreen\n ? (event) => {\n if (event.key === 'Tab') {\n this.handleKeyDownOut(event)\n this.toggleFolder()\n }\n }\n : null\n }\n >\n {this.trunc(item.label)}\n </a>\n </br-item>\n <span class=\"br-divider\"></span>\n </div>\n )\n )\n })}\n </br-list>\n )\n }\n\n /**\n * Renderiza itens do Breadcrumb no formato desktop\n */\n private renderBreadcrumbLink(item: BreadcrumbItem) {\n return item.active ? (\n <span>\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <span aria-current=\"page\" tabindex=\"0\">\n {item.label}\n </span>\n </span>\n ) : (\n <span>\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <a\n href={item.url || 'javascript:void(0)'}\n target={item.target || '_self'}\n onMouseOver={(event) => this.handleMouseOver(event, item.label)}\n onMouseOut={() => this.handleMouseOut()}\n >\n {this.trunc(item.label)}\n </a>\n </span>\n )\n }\n\n /**\n * Renderiza Tooltip\n */\n private renderTooltip() {\n if (!this.showTooltip) return null\n return (\n <div class=\"tooltip-box\" style={{ left: `${this.tooltipPosition.x}px`, top: `${this.tooltipPosition.y}px` }}>\n {this.tooltipText}\n </div>\n )\n }\n\n /**\n * Controla navegação pelo teclado após lista de itens aberta\n * Dispara foco no primeiro item da lista flutuante\n */\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Tab') {\n if (this.isFolderOpen && this.isTruncate && !this.isSmallScreen) {\n setTimeout(() => {\n const element = this.el.shadowRoot?.getElementById('firstElementList')\n if (element) {\n element.focus()\n }\n }, 0) // Aguarda um ciclo de renderização\n }\n }\n }\n\n /**\n * Ao finalizar navegação por teclado dentro da lista, dispara foco no item fora da lista flutuante\n */\n private handleKeyDownOut(event: KeyboardEvent) {\n if (event.key === 'Tab') {\n if (this.isFolderOpen && this.isTruncate && !this.isSmallScreen) {\n setTimeout(() => {\n const element = this.el.shadowRoot?.getElementById('nextCrumb')\n if (element) {\n element.focus()\n }\n }, 0)\n }\n }\n }\n\n render() {\n return (\n <Host>\n <nav class={this.getCssClassMap()} aria-label=\"Breadcrumbs\">\n <ol class=\"crumb-list\">\n {this.renderHomeButton()}\n {this.renderTruncateButton()}\n {this.renderBreadcrumbItems()}\n </ol>\n </nav>\n {this.renderTooltip()}\n </Host>\n )\n }\n}\n\n/**\n * ID do Breadcrumb\n */\nlet breadcrumbId = 0\n\n/**\n * Limite de caracteres para o truncamento\n */\nconst charactersNumberTruncate = 20\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"br-breadcrumb.entry.esm.js","sources":["../../packages/webcomponents/src/components/breadcrumb/breadcrumb.scss?tag=br-breadcrumb&encapsulation=shadow","../../packages/webcomponents/src/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/breadcrumb/breadcrumb\";\n@import \"~@govbr-ds/core/src/partial/scss/configs/icons\";\n@import \"~@govbr-ds/core/src/components/button/button\";\n@import \"~@govbr-ds/core/src/components/list/list\";\n@import \"~@govbr-ds/core/src/components/item/item\";\n@import \"~@govbr-ds/core/src/components/divider/divider\";\n\n:host {\n display: block;\n\n .br-breadcrumb {\n .br-icon {\n color: #ccc;\n }\n\n .br-icon,\n .mobile-active-page {\n display: flex;\n align-items: center;\n }\n\n .mobile-crumb-list {\n display: none;\n position: absolute;\n width: 200px;\n box-shadow: var(--surface-shadow-sm);\n }\n\n .mobile-crumb-list.show {\n display: block;\n top: 100%;\n z-index: 999;\n }\n\n .buttonFolderGroup,\n .buttonFolderGroup span {\n display: flex;\n align-items: center;\n }\n\n .mobile-active-page span:focus:focus-visible {\n outline: var(--focus-width) var(--focus-style) var(--focus);\n outline-offset: var(--focus-offset);\n }\n\n .crumb {\n display: flex;\n align-items: center;\n\n span {\n display: flex;\n align-items: center;\n }\n }\n }\n\n .tooltip-box {\n position: fixed;\n background: #1351b4;\n color: #fff;\n padding: 8px 12px;\n border-radius: 4px;\n font-size: 12px;\n white-space: nowrap;\n transform: translate(-50%, -100%);\n pointer-events: none;\n z-index: 9999;\n box-shadow: 0 2px 4px rgba(0 0 0 / 20%);\n opacity: 0;\n transition: opacity 0.2s ease-in-out;\n\n &::after {\n content: \"\";\n position: absolute;\n bottom: -5px;\n left: 50%;\n transform: translateX(-50%);\n width: 0;\n height: 0;\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-top: 6px solid #1351b4;\n }\n }\n}\n\n:host(:hover) {\n .tooltip-box {\n opacity: 1;\n }\n}\n","/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\nimport { AttachInternals, Component, Element, h, Host, Prop, State } from '@stencil/core'\n\ninterface BreadcrumbItem {\n label: string\n url?: string\n target?: string\n home?: boolean\n active?: boolean\n}\n@Component({\n tag: 'br-breadcrumb',\n styleUrl: 'breadcrumb.scss',\n shadow: true,\n})\nexport class Breadcrumb {\n @Element() el: HTMLBrBreadcrumbElement\n @AttachInternals() elementInternals: ElementInternals\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-breadcrumb-${breadcrumbId++}`\n\n /**\n * URL para home.\n * Caso não seja fornecido, o valor padrão será /.\n */\n @Prop() homeUrl: string = '/'\n\n /**\n * Define o array de objetos que receberá os nomes e links do breadcrumb.\n * Define valor padrão do breadcrumb 'defaultCrumbs'.\n */\n @Prop() crumbs: string | BreadcrumbItem[]\n\n private defaultCrumbs: BreadcrumbItem[] = [\n { label: 'Página 01', url: '/pagina-01' },\n { label: 'Página 02', url: '/pagina-02' },\n { label: 'Página Atual', active: true },\n ]\n\n /**\n * Define o estado oculto ou visível do tooltip.\n */\n @State() showTooltip: boolean = false\n\n /**\n * Define o posicionamento do tooltip na tela.\n */\n @State() tooltipPosition: { x: number; y: number } = { x: 0, y: 0 }\n\n /**\n * Define o texto do tooltip.\n */\n @State() tooltipText: string = ''\n\n /**\n * Define o estado isSmallScreen, usado para verificar a largura do container pai e aplicar as mudanças do formato mobile.\n * No formato mobile o breadcrumb apresenta um comportamento específico.\n */\n @State() isSmallScreen: boolean = false\n\n /**\n * Define se o breadcrumb deve truncar os itens por falta de espaço.\n */\n @State() isTruncate: boolean = false\n\n /**\n * Largura interna dos itens do breadcrumb.\n */\n @State() larguraInterna: number = 0\n\n /**\n * Largura do container pai do breadcrumb.\n */\n @State() larguraPai: number = 0\n\n /**\n * Define o estado do botão 'Folder'.\n * Caso a lista dropdown esteja oculta o ícone no botão será 'folder-plus'.\n * Caso a lista dropdown esteja visível o ícone no botão será 'folder-minus'.\n */\n @State() isFolderOpen: boolean = false\n\n /**\n * Verifica se o texto do link contém mais de 20 caracteres e realiza o truncamento deste caso positivo.\n * O número de caracteres pode ser configurado na variável 'charactersNumberTruncate'.\n */\n private trunc(word: string) {\n return word.length > charactersNumberTruncate ? `${word.slice(0, charactersNumberTruncate)}...` : word\n }\n\n /**\n * Exibe o tooltip e define seu posicionamento, caso o usuário realize o 'mouse over'.\n */\n private handleMouseOver(event: MouseEvent, text: string) {\n const target = event.target as HTMLElement | null\n if (!target) return\n\n const rect = target.getBoundingClientRect()\n this.tooltipPosition = { x: rect.left + rect.width / 2, y: rect.top - 10 }\n\n if (text.length > charactersNumberTruncate) {\n this.tooltipText = text\n this.showTooltip = true\n }\n }\n\n /**\n * Esconde o tooltip caso o usuário realize o 'mouse out'.\n */\n private handleMouseOut() {\n this.showTooltip = false\n }\n\n /**\n * Converte de string para JSON o valor passado na propriedade 'crumbs'.\n * Retorna o valor padrão do Breadcrumbs caso crumbs seja vazio ou inválido\n */\n private getParsedItems(): BreadcrumbItem[] {\n if (!this.crumbs || this.crumbs === '') {\n return this.defaultCrumbs\n }\n\n try {\n const parsed = typeof this.crumbs === 'string' ? JSON.parse(this.crumbs) : this.crumbs\n return Array.isArray(parsed) && parsed.length > 0 ? parsed : this.defaultCrumbs\n } catch {\n console.error('Invalid JSON format for crumbs:', this.crumbs)\n return this.defaultCrumbs\n }\n }\n\n /**\n * Ao clicar no botão HOME, direciona o usuário para URL passada na propriedade 'homeUrl'.\n */\n private handleHomeClick() {\n window.location.href = this.homeUrl\n }\n\n /**\n * Altera o estado do botão 'Folder', caso a lista dropdown esteja aberta ou fechada.\n */\n private toggleFolder() {\n this.isFolderOpen = !this.isFolderOpen\n }\n\n /**\n * Define as classes CSS usadas no breadcrumb.\n */\n private getCssClassMap(): { [key: string]: boolean } {\n return {\n 'br-breadcrumb': true,\n small: this.isSmallScreen,\n }\n }\n\n /**\n * Atualiza o estado 'isSmallScreen' com base no tamanho do container pai, se menor que 570px.\n */\n private resizeObserver: ResizeObserver\n\n /**\n * Atualiza os estados de largura do breadcrumb ao detectar mudanças no container pai.\n */\n private updateContainerSize = (entries: ResizeObserverEntry[]) => {\n for (const entry of entries) {\n const containerWidth = entry.contentRect.width\n this.isSmallScreen = containerWidth < 570\n this.larguraPai = containerWidth\n this.calcularLarguraItens()\n }\n }\n\n /**\n * Adiciona o 'resizeObserver' para checar o tamanho do container pai.\n */\n connectedCallback() {\n if (typeof ResizeObserver !== 'undefined') {\n this.resizeObserver = new ResizeObserver(this.updateContainerSize)\n if (this.el.parentElement !== null) {\n this.resizeObserver.observe(this.el.parentElement)\n }\n }\n }\n\n /**\n * Remove o 'resizeObserver'.\n */\n disconnectedCallback() {\n if (this.resizeObserver != null) {\n this.resizeObserver.disconnect()\n }\n }\n\n /**\n * Calcula a largura total dos itens do breadcrumb para determinar se precisa de truncamento.\n */\n private calcularLarguraItens() {\n requestAnimationFrame(() => {\n const itens = this.el.shadowRoot?.querySelectorAll('.crumb, .mobile-active-page, br-item')\n if (itens) {\n let totalWidth = 0\n itens.forEach((item) => {\n totalWidth += (item as HTMLElement).getBoundingClientRect().width\n })\n this.larguraInterna = totalWidth\n this.isTruncate = this.larguraInterna > this.larguraPai\n }\n })\n }\n\n /**\n * Executa cálculos de largura após o componente ser carregado.\n */\n componentDidLoad() {\n this.calcularLarguraItens()\n }\n\n /**\n * Renderiza botão Home\n */\n private renderHomeButton() {\n const buttonFolderClass = this.isFolderOpen ? 'fa6-solid:folder-minus' : 'fa6-solid:folder-plus'\n return (\n <br-button\n id=\"circle\"\n shape=\"circle\"\n aria-label={this.isSmallScreen ? 'Exibir lista de páginas' : 'Voltar para Home'}\n onClick={this.isSmallScreen ? () => this.toggleFolder() : () => this.handleHomeClick()}\n >\n <br-icon icon-name={`${this.isSmallScreen ? buttonFolderClass : 'fa6-solid:house'}`}></br-icon>\n </br-button>\n )\n }\n\n /**\n * Renderiza botão Folder no comportamento truncado\n */\n private renderTruncateButton() {\n if (this.isTruncate && !this.isSmallScreen) {\n const buttonFolderClass = this.isFolderOpen ? 'fa6-solid:folder-minus' : 'fa6-solid:folder-plus'\n return (\n <div class=\"buttonFolderGroup\">\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <br-button\n id=\"circle\"\n shape=\"circle\"\n aria-label={this.isFolderOpen ? 'Recolher lista de páginas' : 'Exibir lista de páginas'}\n onClick={() => this.toggleFolder()}\n onKeyDown={(event) => this.handleKeyDown(event)}\n >\n <br-icon icon-name={buttonFolderClass}></br-icon>\n </br-button>\n </div>\n )\n }\n return null\n }\n\n /**\n * Renderiza itens do Breadcrumb no comportamento mobile ou truncado\n */\n private renderBreadcrumbItems() {\n const parsedItems = this.getParsedItems()\n const lastItem = parsedItems[parsedItems.length - 2]\n\n return this.isSmallScreen || this.isTruncate ? (\n <div class=\"buttonFolderGroup\">\n {this.isTruncate && !this.isSmallScreen && lastItem ? (\n <span>\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <a\n id=\"nextCrumb\"\n href={lastItem.url || 'javascript:void(0)'}\n target={lastItem.target || '_self'}\n onMouseOver={(event) => this.handleMouseOver(event, lastItem.label)}\n onMouseOut={() => this.handleMouseOut()}\n >\n {this.trunc(lastItem.label)}\n </a>\n </span>\n ) : null}\n {this.renderMobileActiveItem(parsedItems)}\n {this.renderBreadcrumbList(parsedItems)}\n </div>\n ) : (\n parsedItems.map((item, index) => (\n <li\n key={index}\n class={`crumb ${item.home ? 'home' : ''}`}\n data-active={item.active ? 'active' : null}\n aria-label={`Página ${index + 1} de ${parsedItems.length}`}\n >\n {this.renderBreadcrumbLink(item)}\n </li>\n ))\n )\n }\n\n /**\n * Renderiza item da página atual\n */\n private renderMobileActiveItem(parsedItems: BreadcrumbItem[]) {\n const activeItem = parsedItems.find((item) => item.active)\n if (!activeItem) return null\n return (\n <span class=\"mobile-active-page\">\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <span aria-current=\"page\" data-active=\"active\" tabindex=\"0\">\n {activeItem.label}\n </span>\n </span>\n )\n }\n\n /**\n * Renderiza Lista dropdown contendo os itens do Breadcrumb\n */\n private renderBreadcrumbList(parsedItems: BreadcrumbItem[]) {\n return (\n <br-list class={this.isFolderOpen ? 'mobile-crumb-list show' : 'mobile-crumb-list'}>\n {this.isSmallScreen && (\n <div aria-label={`Página 1 de ${parsedItems.length}`}>\n <br-item>\n <a href={this.homeUrl} target=\"_self\">\n Página Inicial\n </a>\n </br-item>\n <span class=\"br-divider\"></span>\n </div>\n )}\n {parsedItems.map((item, index) => {\n if (this.isTruncate && !this.isSmallScreen && index === parsedItems.length - 2) {\n return null\n }\n return (\n !item.active && (\n <div\n key={index}\n aria-label={\n this.isTruncate && !this.isSmallScreen\n ? `Página ${index + 1} de ${parsedItems.length - 2}`\n : `Página ${index + 2} de ${parsedItems.length}`\n }\n >\n <br-item>\n <a\n id={index == 0 ? 'firstElementList' : ''}\n href={item.url || 'javascript:void(0)'}\n target={item.target || '_self'}\n onMouseOver={(event) => this.handleMouseOver(event, item.label)}\n onMouseOut={() => this.handleMouseOut()}\n onKeyDown={\n index == parsedItems.length - 3 && this.isFolderOpen && this.isTruncate && !this.isSmallScreen\n ? (event) => {\n if (event.key === 'Tab') {\n this.handleKeyDownOut(event)\n this.toggleFolder()\n }\n }\n : null\n }\n >\n {this.trunc(item.label)}\n </a>\n </br-item>\n <span class=\"br-divider\"></span>\n </div>\n )\n )\n })}\n </br-list>\n )\n }\n\n /**\n * Renderiza itens do Breadcrumb no formato desktop\n */\n private renderBreadcrumbLink(item: BreadcrumbItem) {\n return item.active ? (\n <span>\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <span aria-current=\"page\" tabindex=\"0\">\n {item.label}\n </span>\n </span>\n ) : (\n <span>\n <br-icon class=\"br-icon\" icon-name=\"fa6-solid:chevron-right\" width=\"12\" height=\"12\"></br-icon>\n <a\n href={item.url || 'javascript:void(0)'}\n target={item.target || '_self'}\n onMouseOver={(event) => this.handleMouseOver(event, item.label)}\n onMouseOut={() => this.handleMouseOut()}\n >\n {this.trunc(item.label)}\n </a>\n </span>\n )\n }\n\n /**\n * Renderiza Tooltip\n */\n private renderTooltip() {\n if (!this.showTooltip) return null\n return (\n <div class=\"tooltip-box\" style={{ left: `${this.tooltipPosition.x}px`, top: `${this.tooltipPosition.y}px` }}>\n {this.tooltipText}\n </div>\n )\n }\n\n /**\n * Controla navegação pelo teclado após lista de itens aberta\n * Dispara foco no primeiro item da lista flutuante\n */\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Tab') {\n if (this.isFolderOpen && this.isTruncate && !this.isSmallScreen) {\n setTimeout(() => {\n const element = this.el.shadowRoot?.getElementById('firstElementList')\n if (element) {\n element.focus()\n }\n }, 0) // Aguarda um ciclo de renderização\n }\n }\n }\n\n /**\n * Ao finalizar navegação por teclado dentro da lista, dispara foco no item fora da lista flutuante\n */\n private handleKeyDownOut(event: KeyboardEvent) {\n if (event.key === 'Tab') {\n if (this.isFolderOpen && this.isTruncate && !this.isSmallScreen) {\n setTimeout(() => {\n const element = this.el.shadowRoot?.getElementById('nextCrumb')\n if (element) {\n element.focus()\n }\n }, 0)\n }\n }\n }\n\n render() {\n return (\n <Host>\n <nav class={this.getCssClassMap()} aria-label=\"Breadcrumbs\">\n <ol class=\"crumb-list\">\n {this.renderHomeButton()}\n {this.renderTruncateButton()}\n {this.renderBreadcrumbItems()}\n </ol>\n </nav>\n {this.renderTooltip()}\n </Host>\n )\n }\n}\n\n/**\n * ID do Breadcrumb\n */\nlet breadcrumbId = 0\n\n/**\n * Limite de caracteres para o truncamento\n */\nconst charactersNumberTruncate = 20\n"],"names":[],"mappings":"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"}