@govbr-ds/webcomponents 2.0.0-next.35 → 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 (550) 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 +7 -19
  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 +4 -3
  47. package/dist/cjs/br-step-item.cjs.entry.js.map +1 -1
  48. package/dist/cjs/br-step-item.entry.cjs.js.map +1 -1
  49. package/dist/cjs/br-step.cjs.entry.js +4 -3
  50. package/dist/cjs/br-step.cjs.entry.js.map +1 -1
  51. package/dist/cjs/br-step.entry.cjs.js.map +1 -1
  52. package/dist/cjs/br-switch.cjs.entry.js +4 -3
  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 +4 -3
  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 +4 -3
  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 +4 -3
  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} +4 -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/components/avatar/avatar.css +1 -1
  73. package/dist/collection/components/avatar/avatar.js +2 -1
  74. package/dist/collection/components/avatar/avatar.js.map +1 -1
  75. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
  76. package/dist/collection/components/breadcrumb/breadcrumb.js +2 -1
  77. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  78. package/dist/collection/components/button/button.js +2 -1
  79. package/dist/collection/components/button/button.js.map +1 -1
  80. package/dist/collection/components/checkbox/checkbox.js +2 -1
  81. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  82. package/dist/collection/components/checkgroup/checkgroup.js +2 -1
  83. package/dist/collection/components/checkgroup/checkgroup.js.map +1 -1
  84. package/dist/collection/components/collapse/collapse.css +1 -1
  85. package/dist/collection/components/collapse/collapse.js +2 -1
  86. package/dist/collection/components/collapse/collapse.js.map +1 -1
  87. package/dist/collection/components/divider/divider.js +2 -1
  88. package/dist/collection/components/divider/divider.js.map +1 -1
  89. package/dist/collection/components/dropdown/dropdown.js +2 -1
  90. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  91. package/dist/collection/components/icon/icon.js +2 -1
  92. package/dist/collection/components/icon/icon.js.map +1 -1
  93. package/dist/collection/components/input/input.js +2 -1
  94. package/dist/collection/components/input/input.js.map +1 -1
  95. package/dist/collection/components/item/item.js +2 -1
  96. package/dist/collection/components/item/item.js.map +1 -1
  97. package/dist/collection/components/list/list.js +2 -1
  98. package/dist/collection/components/list/list.js.map +1 -1
  99. package/dist/collection/components/loading/loading.js +2 -1
  100. package/dist/collection/components/loading/loading.js.map +1 -1
  101. package/dist/collection/components/message/message.js +2 -1
  102. package/dist/collection/components/message/message.js.map +1 -1
  103. package/dist/collection/components/radio/radio.js +5 -11
  104. package/dist/collection/components/radio/radio.js.map +1 -1
  105. package/dist/collection/components/select/select.js +10 -25
  106. package/dist/collection/components/select/select.js.map +1 -1
  107. package/dist/collection/components/step/step.css +1 -1
  108. package/dist/collection/components/step/step.js +2 -1
  109. package/dist/collection/components/step/step.js.map +1 -1
  110. package/dist/collection/components/step-item/step-item.css +1 -1
  111. package/dist/collection/components/step-item/step-item.js +2 -1
  112. package/dist/collection/components/step-item/step-item.js.map +1 -1
  113. package/dist/collection/components/switch/switch.js +2 -1
  114. package/dist/collection/components/switch/switch.js.map +1 -1
  115. package/dist/collection/components/tag/tag.js +2 -1
  116. package/dist/collection/components/tag/tag.js.map +1 -1
  117. package/dist/collection/components/textarea/textarea.js +2 -1
  118. package/dist/collection/components/textarea/textarea.js.map +1 -1
  119. package/dist/collection/components/upload/upload.js +2 -1
  120. package/dist/collection/components/upload/upload.js.map +1 -1
  121. package/dist/collection/index.js.map +1 -1
  122. package/dist/collection/utils/interfaces.js.map +1 -1
  123. package/dist/collection/value-accessors/angular-value-accessor-config.js +2 -1
  124. package/dist/collection/value-accessors/angular-value-accessor-config.js.map +1 -1
  125. package/dist/collection/value-accessors/index.js +2 -1
  126. package/dist/collection/value-accessors/index.js.map +1 -1
  127. package/dist/collection/value-accessors/vue-model-config.js +2 -1
  128. package/dist/collection/value-accessors/vue-model-config.js.map +1 -1
  129. package/dist/components/br-avatar.js +9 -8
  130. package/dist/components/br-avatar.js.map +1 -1
  131. package/dist/components/br-breadcrumb.js +8 -7
  132. package/dist/components/br-breadcrumb.js.map +1 -1
  133. package/dist/components/br-button.js +6 -5
  134. package/dist/components/br-checkbox.js +5 -4
  135. package/dist/components/br-checkgroup.js +5 -4
  136. package/dist/components/br-checkgroup.js.map +1 -1
  137. package/dist/components/br-collapse.js +5 -4
  138. package/dist/components/br-collapse.js.map +1 -1
  139. package/dist/components/br-divider.js +4 -3
  140. package/dist/components/br-divider.js.map +1 -1
  141. package/dist/components/br-dropdown.js +4 -3
  142. package/dist/components/br-dropdown.js.map +1 -1
  143. package/dist/components/br-icon.js +5 -4
  144. package/dist/components/br-input.js +6 -5
  145. package/dist/components/br-item.js +5 -4
  146. package/dist/components/br-list.js +3 -2
  147. package/dist/components/br-loading.js +4 -3
  148. package/dist/components/br-loading.js.map +1 -1
  149. package/dist/components/br-message.js +6 -5
  150. package/dist/components/br-message.js.map +1 -1
  151. package/dist/components/br-radio.js +3 -2
  152. package/dist/components/br-select.js +18 -30
  153. package/dist/components/br-select.js.map +1 -1
  154. package/dist/components/br-step-item.js +6 -5
  155. package/dist/components/br-step-item.js.map +1 -1
  156. package/dist/components/br-step.js +8 -7
  157. package/dist/components/br-step.js.map +1 -1
  158. package/dist/components/br-switch.js +4 -3
  159. package/dist/components/br-switch.js.map +1 -1
  160. package/dist/components/br-tag.js +6 -5
  161. package/dist/components/br-tag.js.map +1 -1
  162. package/dist/components/br-textarea.js +4 -3
  163. package/dist/components/br-textarea.js.map +1 -1
  164. package/dist/components/br-upload.js +6 -5
  165. package/dist/components/br-upload.js.map +1 -1
  166. package/dist/components/index.js +3 -2
  167. package/dist/components/p-BQZa6fK2.js +198 -0
  168. package/dist/components/{p-Cf1VoqB7.js.map → p-BQZa6fK2.js.map} +1 -1
  169. package/dist/components/p-BQb4_NfQ.js +166 -0
  170. package/dist/components/p-BQb4_NfQ.js.map +1 -0
  171. package/dist/components/p-CAjrcMpR.js +154 -0
  172. package/dist/components/{p-DJC0NAoD.js.map → p-CAjrcMpR.js.map} +1 -1
  173. package/dist/components/{p-D02C28Eq.js → p-CyMSBO1R.js} +4 -3
  174. package/dist/components/{p-D02C28Eq.js.map → p-CyMSBO1R.js.map} +1 -1
  175. package/dist/components/p-DP5hSLC1.js +130 -0
  176. package/dist/components/{p-BUAXx2fX.js.map → p-DP5hSLC1.js.map} +1 -1
  177. package/dist/components/p-DvG8eiYP.js +285 -0
  178. package/dist/components/{p-D3sFUq_f.js.map → p-DvG8eiYP.js.map} +1 -1
  179. package/dist/components/{p-Dne-S1Hl.js → p-ZjuPhQfh.js} +16 -15
  180. package/dist/components/{p-Dne-S1Hl.js.map → p-ZjuPhQfh.js.map} +1 -1
  181. package/dist/components/p-sndAoOGI.js +386 -0
  182. package/dist/components/{p-DlpHRT0g.js.map → p-sndAoOGI.js.map} +1 -1
  183. package/dist/custom-docs/docs-utils.js +2 -1
  184. package/dist/custom-docs/docs-utils.js.map +1 -1
  185. package/dist/custom-docs/markdown-css-props.js +2 -1
  186. package/dist/custom-docs/markdown-css-props.js.map +1 -1
  187. package/dist/custom-docs/markdown-dependencies.js +2 -1
  188. package/dist/custom-docs/markdown-dependencies.js.map +1 -1
  189. package/dist/custom-docs/markdown-events-all.js +2 -1
  190. package/dist/custom-docs/markdown-events-all.js.map +1 -1
  191. package/dist/custom-docs/markdown-events.js +2 -1
  192. package/dist/custom-docs/markdown-events.js.map +1 -1
  193. package/dist/custom-docs/markdown-examples.js +2 -1
  194. package/dist/custom-docs/markdown-examples.js.map +1 -1
  195. package/dist/custom-docs/markdown-methods-all.js +2 -1
  196. package/dist/custom-docs/markdown-methods-all.js.map +1 -1
  197. package/dist/custom-docs/markdown-methods.js +2 -1
  198. package/dist/custom-docs/markdown-methods.js.map +1 -1
  199. package/dist/custom-docs/markdown-overview.js +2 -1
  200. package/dist/custom-docs/markdown-overview.js.map +1 -1
  201. package/dist/custom-docs/markdown-parts.js +2 -1
  202. package/dist/custom-docs/markdown-parts.js.map +1 -1
  203. package/dist/custom-docs/markdown-props-all.js +2 -1
  204. package/dist/custom-docs/markdown-props-all.js.map +1 -1
  205. package/dist/custom-docs/markdown-props.js +2 -1
  206. package/dist/custom-docs/markdown-props.js.map +1 -1
  207. package/dist/custom-docs/markdown-sections.js +2 -1
  208. package/dist/custom-docs/markdown-sections.js.map +1 -1
  209. package/dist/custom-docs/markdown-slots-all.js +2 -1
  210. package/dist/custom-docs/markdown-slots-all.js.map +1 -1
  211. package/dist/custom-docs/markdown-slots.js +2 -1
  212. package/dist/custom-docs/markdown-slots.js.map +1 -1
  213. package/dist/custom-docs/output-docs.js +2 -1
  214. package/dist/custom-docs/output-docs.js.map +1 -1
  215. package/dist/custom-docs/path.js +2 -1
  216. package/dist/custom-docs/path.js.map +1 -1
  217. package/dist/custom-docs/sort-markdown-tables.js +2 -1
  218. package/dist/custom-docs/sort-markdown-tables.js.map +1 -1
  219. package/dist/custom-elements.json +6264 -0
  220. package/dist/esm/app-globals-DVjNHTTs.js +10 -0
  221. package/dist/esm/app-globals-DVjNHTTs.js.map +1 -0
  222. package/dist/esm/br-avatar.entry.js +4 -3
  223. package/dist/esm/br-avatar.entry.js.map +1 -1
  224. package/dist/esm/br-breadcrumb.entry.js +4 -3
  225. package/dist/esm/br-breadcrumb.entry.js.map +1 -1
  226. package/dist/esm/br-button.br-icon.entry.js.map +1 -1
  227. package/dist/esm/br-button_2.entry.js +5 -4
  228. package/dist/esm/br-button_2.entry.js.map +1 -1
  229. package/dist/esm/br-checkbox.entry.js +4 -3
  230. package/dist/esm/br-checkbox.entry.js.map +1 -1
  231. package/dist/esm/br-checkgroup.entry.js +4 -3
  232. package/dist/esm/br-checkgroup.entry.js.map +1 -1
  233. package/dist/esm/br-collapse.entry.js +4 -3
  234. package/dist/esm/br-collapse.entry.js.map +1 -1
  235. package/dist/esm/br-divider.entry.js +4 -3
  236. package/dist/esm/br-divider.entry.js.map +1 -1
  237. package/dist/esm/br-dropdown.entry.js +4 -3
  238. package/dist/esm/br-dropdown.entry.js.map +1 -1
  239. package/dist/esm/br-input.br-radio.entry.js.map +1 -1
  240. package/dist/esm/br-input_2.entry.js +8 -14
  241. package/dist/esm/br-input_2.entry.js.map +1 -1
  242. package/dist/esm/br-item.entry.js +4 -3
  243. package/dist/esm/br-item.entry.js.map +1 -1
  244. package/dist/esm/br-list.entry.js +4 -3
  245. package/dist/esm/br-list.entry.js.map +1 -1
  246. package/dist/esm/br-loading.entry.js +4 -3
  247. package/dist/esm/br-loading.entry.js.map +1 -1
  248. package/dist/esm/br-message.entry.js +4 -3
  249. package/dist/esm/br-message.entry.js.map +1 -1
  250. package/dist/esm/br-select.entry.js +7 -19
  251. package/dist/esm/br-select.entry.js.map +1 -1
  252. package/dist/esm/br-step-item.entry.js +4 -3
  253. package/dist/esm/br-step-item.entry.js.map +1 -1
  254. package/dist/esm/br-step.entry.js +4 -3
  255. package/dist/esm/br-step.entry.js.map +1 -1
  256. package/dist/esm/br-switch.entry.js +4 -3
  257. package/dist/esm/br-switch.entry.js.map +1 -1
  258. package/dist/esm/br-tag.entry.js +4 -3
  259. package/dist/esm/br-tag.entry.js.map +1 -1
  260. package/dist/esm/br-textarea.entry.js +4 -3
  261. package/dist/esm/br-textarea.entry.js.map +1 -1
  262. package/dist/esm/br-upload.entry.js +4 -3
  263. package/dist/esm/br-upload.entry.js.map +1 -1
  264. package/dist/esm/{index-CAyrQrUt.js → index-ClsF4De3.js} +4 -3
  265. package/dist/{esm-es5/index-CAyrQrUt.js.map → esm/index-ClsF4De3.js.map} +1 -1
  266. package/dist/esm/index.js +2 -1
  267. package/dist/esm/index.js.map +1 -1
  268. package/dist/esm/loader.js +6 -5
  269. package/dist/esm/loader.js.map +1 -1
  270. package/dist/esm/webcomponents.js +6 -5
  271. package/dist/esm/webcomponents.js.map +1 -1
  272. package/dist/hydrate/index.js +32 -51
  273. package/dist/hydrate/index.mjs +32 -51
  274. package/dist/index.js +1 -1
  275. package/dist/loader/cdn.js +3 -3
  276. package/dist/loader/index.cjs.js +3 -3
  277. package/dist/loader/index.es2017.js +2 -2
  278. package/dist/loader/index.js +3 -3
  279. package/dist/stencil.config.js +12 -11
  280. package/dist/stencil.config.js.map +1 -1
  281. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/custom-docs/markdown-css-props.d.ts +2 -0
  282. 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
  283. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/custom-docs/markdown-events-all.d.ts +2 -0
  284. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/custom-docs/markdown-events.d.ts +2 -0
  285. 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
  286. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/custom-docs/markdown-methods-all.d.ts +2 -0
  287. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/custom-docs/markdown-methods.d.ts +2 -0
  288. 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
  289. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/custom-docs/markdown-props-all.d.ts +2 -0
  290. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/custom-docs/markdown-props.d.ts +2 -0
  291. 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
  292. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/custom-docs/markdown-slots-all.d.ts +2 -0
  293. 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
  294. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/custom-docs/output-docs.d.ts +2 -0
  295. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/.stencil/packages/webcomponents/stencil.config.d.ts +2 -0
  296. package/dist/types/components/select/select.d.ts +2 -15
  297. package/dist/types/components.d.ts +4 -14
  298. package/dist/webcomponents/br-avatar.entry.esm.js.map +1 -1
  299. package/dist/webcomponents/br-breadcrumb.entry.esm.js.map +1 -1
  300. package/dist/webcomponents/br-button.br-icon.entry.esm.js.map +1 -1
  301. package/dist/webcomponents/br-checkbox.entry.esm.js.map +1 -1
  302. package/dist/webcomponents/br-checkgroup.entry.esm.js.map +1 -1
  303. package/dist/webcomponents/br-collapse.entry.esm.js.map +1 -1
  304. package/dist/webcomponents/br-divider.entry.esm.js.map +1 -1
  305. package/dist/webcomponents/br-dropdown.entry.esm.js.map +1 -1
  306. package/dist/webcomponents/br-input.br-radio.entry.esm.js.map +1 -1
  307. package/dist/webcomponents/br-item.entry.esm.js.map +1 -1
  308. package/dist/webcomponents/br-list.entry.esm.js.map +1 -1
  309. package/dist/webcomponents/br-loading.entry.esm.js.map +1 -1
  310. package/dist/webcomponents/br-message.entry.esm.js.map +1 -1
  311. package/dist/webcomponents/br-select.entry.esm.js.map +1 -1
  312. package/dist/webcomponents/br-step-item.entry.esm.js.map +1 -1
  313. package/dist/webcomponents/br-step.entry.esm.js.map +1 -1
  314. package/dist/webcomponents/br-switch.entry.esm.js.map +1 -1
  315. package/dist/webcomponents/br-tag.entry.esm.js.map +1 -1
  316. package/dist/webcomponents/br-textarea.entry.esm.js.map +1 -1
  317. package/dist/webcomponents/br-upload.entry.esm.js.map +1 -1
  318. package/dist/webcomponents/index.esm.js +2 -1
  319. package/dist/webcomponents/index.esm.js.map +1 -1
  320. package/dist/webcomponents/loader.esm.js.map +1 -1
  321. package/dist/webcomponents/p-2537ae9c.entry.js +167 -0
  322. package/dist/webcomponents/{p-32ca900a.entry.js.map → p-2537ae9c.entry.js.map} +1 -1
  323. package/dist/webcomponents/p-36231217.entry.js +279 -0
  324. package/dist/webcomponents/p-36231217.entry.js.map +1 -0
  325. package/dist/webcomponents/p-3c0f3cb4.entry.js +169 -0
  326. package/dist/webcomponents/{p-79e747c1.entry.js.map → p-3c0f3cb4.entry.js.map} +1 -1
  327. package/dist/webcomponents/p-477035e2.entry.js +164 -0
  328. package/dist/webcomponents/p-477035e2.entry.js.map +1 -0
  329. package/dist/webcomponents/p-48996f81.entry.js +282 -0
  330. package/dist/webcomponents/p-48996f81.entry.js.map +1 -0
  331. package/dist/webcomponents/p-520c5527.entry.js +149 -0
  332. package/dist/webcomponents/{p-83f55139.entry.js.map → p-520c5527.entry.js.map} +1 -1
  333. package/dist/webcomponents/p-64df4b98.entry.js +255 -0
  334. package/dist/webcomponents/{p-36194f7c.entry.js.map → p-64df4b98.entry.js.map} +1 -1
  335. package/dist/webcomponents/p-795c258e.entry.js +105 -0
  336. package/dist/webcomponents/p-795c258e.entry.js.map +1 -0
  337. package/dist/webcomponents/p-94aa48d4.entry.js +460 -0
  338. package/dist/webcomponents/p-94aa48d4.entry.js.map +1 -0
  339. package/dist/webcomponents/p-94aab132.entry.js +141 -0
  340. package/dist/webcomponents/{p-d33ec3ae.entry.js.map → p-94aab132.entry.js.map} +1 -1
  341. package/dist/webcomponents/p-9cf1963e.entry.js +145 -0
  342. package/dist/webcomponents/{p-76426a2e.entry.js.map → p-9cf1963e.entry.js.map} +1 -1
  343. package/dist/webcomponents/p-9cfc8db7.entry.js +399 -0
  344. package/dist/webcomponents/p-9cfc8db7.entry.js.map +1 -0
  345. package/dist/webcomponents/{p-CAyrQrUt.js → p-ClsF4De3.js} +4 -3
  346. package/dist/webcomponents/{p-CAyrQrUt.js.map → p-ClsF4De3.js.map} +1 -1
  347. package/dist/webcomponents/p-DVjNHTTs.js +9 -0
  348. package/dist/webcomponents/p-DVjNHTTs.js.map +1 -0
  349. package/dist/webcomponents/p-bfb1bd71.entry.js +258 -0
  350. package/dist/webcomponents/{p-e4e2fd4f.entry.js.map → p-bfb1bd71.entry.js.map} +1 -1
  351. package/dist/webcomponents/p-c5ac5216.entry.js +210 -0
  352. package/dist/webcomponents/{p-928b76d0.entry.js.map → p-c5ac5216.entry.js.map} +1 -1
  353. package/dist/webcomponents/p-caa64d3d.entry.js +111 -0
  354. package/dist/webcomponents/{p-84f8edae.entry.js.map → p-caa64d3d.entry.js.map} +1 -1
  355. package/dist/webcomponents/p-cd2933f6.entry.js +153 -0
  356. package/dist/webcomponents/{p-4c3c46ca.entry.js.map → p-cd2933f6.entry.js.map} +1 -1
  357. package/dist/webcomponents/p-db618028.entry.js +2362 -0
  358. package/dist/webcomponents/{p-eb06a6e1.entry.js.map → p-db618028.entry.js.map} +1 -1
  359. package/dist/webcomponents/p-ddee0a15.entry.js +88 -0
  360. package/dist/webcomponents/{p-121547cd.entry.js.map → p-ddee0a15.entry.js.map} +1 -1
  361. package/dist/webcomponents/p-eecebb46.entry.js +376 -0
  362. package/dist/webcomponents/p-eecebb46.entry.js.map +1 -0
  363. package/dist/webcomponents/p-ff97c81f.entry.js +145 -0
  364. package/dist/webcomponents/p-ff97c81f.entry.js.map +1 -0
  365. package/dist/webcomponents/webcomponents.esm.js +26 -25
  366. package/dist/webcomponents/webcomponents.esm.js.map +1 -1
  367. package/dist/webcomponents.html-custom-data.json +558 -0
  368. package/package.json +2 -3
  369. package/dist/cjs/app-globals-XonOcHUG.js +0 -11
  370. package/dist/cjs/app-globals-XonOcHUG.js.map +0 -1
  371. package/dist/cjs/index-C5PKqcRm.js.map +0 -1
  372. package/dist/components/p-BUAXx2fX.js +0 -129
  373. package/dist/components/p-C1G4wYL7.js +0 -173
  374. package/dist/components/p-C1G4wYL7.js.map +0 -1
  375. package/dist/components/p-Cf1VoqB7.js +0 -197
  376. package/dist/components/p-D3sFUq_f.js +0 -284
  377. package/dist/components/p-DJC0NAoD.js +0 -153
  378. package/dist/components/p-DlpHRT0g.js +0 -385
  379. package/dist/esm/app-globals-BmgwYwlE.js +0 -9
  380. package/dist/esm/app-globals-BmgwYwlE.js.map +0 -1
  381. package/dist/esm/polyfills/core-js.js +0 -11
  382. package/dist/esm/polyfills/dom.js +0 -79
  383. package/dist/esm/polyfills/es5-html-element.js +0 -1
  384. package/dist/esm/polyfills/index.js +0 -34
  385. package/dist/esm/polyfills/system.js +0 -6
  386. package/dist/esm-es5/app-globals-BmgwYwlE.js +0 -9
  387. package/dist/esm-es5/app-globals-BmgwYwlE.js.map +0 -1
  388. package/dist/esm-es5/br-avatar.entry.js +0 -148
  389. package/dist/esm-es5/br-avatar.entry.js.map +0 -1
  390. package/dist/esm-es5/br-breadcrumb.entry.js +0 -419
  391. package/dist/esm-es5/br-breadcrumb.entry.js.map +0 -1
  392. package/dist/esm-es5/br-button.br-icon.entry.js.map +0 -1
  393. package/dist/esm-es5/br-button_2.entry.js +0 -2387
  394. package/dist/esm-es5/br-button_2.entry.js.map +0 -1
  395. package/dist/esm-es5/br-checkbox.entry.js +0 -274
  396. package/dist/esm-es5/br-checkbox.entry.js.map +0 -1
  397. package/dist/esm-es5/br-checkgroup.entry.js +0 -150
  398. package/dist/esm-es5/br-checkgroup.entry.js.map +0 -1
  399. package/dist/esm-es5/br-collapse.entry.js +0 -270
  400. package/dist/esm-es5/br-collapse.entry.js.map +0 -1
  401. package/dist/esm-es5/br-divider.entry.js +0 -109
  402. package/dist/esm-es5/br-divider.entry.js.map +0 -1
  403. package/dist/esm-es5/br-dropdown.entry.js +0 -272
  404. package/dist/esm-es5/br-dropdown.entry.js.map +0 -1
  405. package/dist/esm-es5/br-input.br-radio.entry.js.map +0 -1
  406. package/dist/esm-es5/br-input_2.entry.js +0 -511
  407. package/dist/esm-es5/br-input_2.entry.js.map +0 -1
  408. package/dist/esm-es5/br-item.entry.js +0 -246
  409. package/dist/esm-es5/br-item.entry.js.map +0 -1
  410. package/dist/esm-es5/br-list.entry.js +0 -114
  411. package/dist/esm-es5/br-list.entry.js.map +0 -1
  412. package/dist/esm-es5/br-loading.entry.js +0 -86
  413. package/dist/esm-es5/br-loading.entry.js.map +0 -1
  414. package/dist/esm-es5/br-message.entry.js +0 -143
  415. package/dist/esm-es5/br-message.entry.js.map +0 -1
  416. package/dist/esm-es5/br-select.entry.js +0 -568
  417. package/dist/esm-es5/br-select.entry.js.map +0 -1
  418. package/dist/esm-es5/br-step-item.entry.js +0 -419
  419. package/dist/esm-es5/br-step-item.entry.js.map +0 -1
  420. package/dist/esm-es5/br-step.entry.js +0 -431
  421. package/dist/esm-es5/br-step.entry.js.map +0 -1
  422. package/dist/esm-es5/br-switch.entry.js +0 -243
  423. package/dist/esm-es5/br-switch.entry.js.map +0 -1
  424. package/dist/esm-es5/br-tag.entry.js +0 -250
  425. package/dist/esm-es5/br-tag.entry.js.map +0 -1
  426. package/dist/esm-es5/br-textarea.entry.js +0 -285
  427. package/dist/esm-es5/br-textarea.entry.js.map +0 -1
  428. package/dist/esm-es5/br-upload.entry.js +0 -229
  429. package/dist/esm-es5/br-upload.entry.js.map +0 -1
  430. package/dist/esm-es5/index-CAyrQrUt.js +0 -2750
  431. package/dist/esm-es5/index.js +0 -7
  432. package/dist/esm-es5/index.js.map +0 -1
  433. package/dist/esm-es5/loader.js +0 -429
  434. package/dist/esm-es5/loader.js.map +0 -1
  435. package/dist/esm-es5/webcomponents.js +0 -459
  436. package/dist/esm-es5/webcomponents.js.map +0 -1
  437. 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
  438. 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
  439. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/packages/webcomponents/.stencil/packages/webcomponents/custom-docs/markdown-events.d.ts +0 -2
  440. 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
  441. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/packages/webcomponents/.stencil/packages/webcomponents/custom-docs/markdown-methods.d.ts +0 -2
  442. 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
  443. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/packages/webcomponents/.stencil/packages/webcomponents/custom-docs/markdown-props.d.ts +0 -2
  444. 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
  445. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/packages/webcomponents/.stencil/packages/webcomponents/custom-docs/output-docs.d.ts +0 -2
  446. package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/packages/webcomponents/.stencil/packages/webcomponents/stencil.config.d.ts +0 -2
  447. package/dist/webcomponents/p-019ce02a.entry.js +0 -163
  448. package/dist/webcomponents/p-019ce02a.entry.js.map +0 -1
  449. package/dist/webcomponents/p-0e81892b.system.entry.js +0 -280
  450. package/dist/webcomponents/p-0e81892b.system.entry.js.map +0 -1
  451. package/dist/webcomponents/p-121547cd.entry.js +0 -87
  452. package/dist/webcomponents/p-1e63a10d.system.entry.js +0 -293
  453. package/dist/webcomponents/p-1e63a10d.system.entry.js.map +0 -1
  454. package/dist/webcomponents/p-302f5fbd.system.entry.js +0 -428
  455. package/dist/webcomponents/p-302f5fbd.system.entry.js.map +0 -1
  456. package/dist/webcomponents/p-3221d882.entry.js +0 -281
  457. package/dist/webcomponents/p-3221d882.entry.js.map +0 -1
  458. package/dist/webcomponents/p-32ca900a.entry.js +0 -166
  459. package/dist/webcomponents/p-352c7312.system.entry.js +0 -235
  460. package/dist/webcomponents/p-352c7312.system.entry.js.map +0 -1
  461. package/dist/webcomponents/p-36194f7c.entry.js +0 -254
  462. package/dist/webcomponents/p-3e073649.system.entry.js +0 -121
  463. package/dist/webcomponents/p-3e073649.system.entry.js.map +0 -1
  464. package/dist/webcomponents/p-4c3c46ca.entry.js +0 -152
  465. package/dist/webcomponents/p-4c6733a1.system.entry.js +0 -440
  466. package/dist/webcomponents/p-4c6733a1.system.entry.js.map +0 -1
  467. package/dist/webcomponents/p-58a6aab1.system.entry.js +0 -157
  468. package/dist/webcomponents/p-58a6aab1.system.entry.js.map +0 -1
  469. package/dist/webcomponents/p-69b18bcc.entry.js +0 -104
  470. package/dist/webcomponents/p-69b18bcc.entry.js.map +0 -1
  471. package/dist/webcomponents/p-76426a2e.entry.js +0 -144
  472. package/dist/webcomponents/p-79aa414c.system.entry.js +0 -425
  473. package/dist/webcomponents/p-79aa414c.system.entry.js.map +0 -1
  474. package/dist/webcomponents/p-79e747c1.entry.js +0 -168
  475. package/dist/webcomponents/p-7dd4f2a5.system.entry.js +0 -93
  476. package/dist/webcomponents/p-7dd4f2a5.system.entry.js.map +0 -1
  477. package/dist/webcomponents/p-7tDq9qWy.system.js.map +0 -1
  478. package/dist/webcomponents/p-83f55139.entry.js +0 -148
  479. package/dist/webcomponents/p-84f8edae.entry.js +0 -110
  480. package/dist/webcomponents/p-928b76d0.entry.js +0 -209
  481. package/dist/webcomponents/p-9wCtgwp6.system.js.map +0 -1
  482. package/dist/webcomponents/p-B3wPFyS5.system.js.map +0 -1
  483. package/dist/webcomponents/p-B5mVBvvI.system.js.map +0 -1
  484. package/dist/webcomponents/p-B9GHNpiJ.system.js.map +0 -1
  485. package/dist/webcomponents/p-BXpIEO27.system.js.map +0 -1
  486. package/dist/webcomponents/p-BXsqNLmg.system.js.map +0 -1
  487. package/dist/webcomponents/p-Bhwl8CRi.system.js +0 -469
  488. package/dist/webcomponents/p-Bhwl8CRi.system.js.map +0 -1
  489. package/dist/webcomponents/p-BmSBn_cM.system.js +0 -14
  490. package/dist/webcomponents/p-BmSBn_cM.system.js.map +0 -1
  491. package/dist/webcomponents/p-BmgwYwlE.js +0 -8
  492. package/dist/webcomponents/p-BmgwYwlE.js.map +0 -1
  493. package/dist/webcomponents/p-BoK6TcDE.system.js.map +0 -1
  494. package/dist/webcomponents/p-BwFsTqJ9.system.js.map +0 -1
  495. package/dist/webcomponents/p-ByHGgMEG.system.js.map +0 -1
  496. package/dist/webcomponents/p-CD1bwFZi.system.js.map +0 -1
  497. package/dist/webcomponents/p-CMdFJ4qj.system.js +0 -2512
  498. package/dist/webcomponents/p-CMdFJ4qj.system.js.map +0 -1
  499. package/dist/webcomponents/p-CVHsq8dp.system.js.map +0 -1
  500. package/dist/webcomponents/p-CgEwLRss.system.js.map +0 -1
  501. package/dist/webcomponents/p-CgegvyhC.system.js.map +0 -1
  502. package/dist/webcomponents/p-D5FcCD9L.system.js.map +0 -1
  503. package/dist/webcomponents/p-DFnGIoqM.system.js.map +0 -1
  504. package/dist/webcomponents/p-DTG-5_9_.system.js.map +0 -1
  505. package/dist/webcomponents/p-IsnpLreB.system.js +0 -12
  506. package/dist/webcomponents/p-IsnpLreB.system.js.map +0 -1
  507. package/dist/webcomponents/p-K5tFZU2o.system.js.map +0 -1
  508. package/dist/webcomponents/p-X9v1LZix.system.js.map +0 -1
  509. package/dist/webcomponents/p-a29ef881.system.entry.js +0 -2386
  510. package/dist/webcomponents/p-a29ef881.system.entry.js.map +0 -1
  511. package/dist/webcomponents/p-b3e7180f.system.entry.js +0 -515
  512. package/dist/webcomponents/p-b3e7180f.system.entry.js.map +0 -1
  513. package/dist/webcomponents/p-b9b466b2.system.entry.js +0 -116
  514. package/dist/webcomponents/p-b9b466b2.system.entry.js.map +0 -1
  515. package/dist/webcomponents/p-ba1c6153.system.entry.js +0 -278
  516. package/dist/webcomponents/p-ba1c6153.system.entry.js.map +0 -1
  517. package/dist/webcomponents/p-c0a85892.entry.js +0 -398
  518. package/dist/webcomponents/p-c0a85892.entry.js.map +0 -1
  519. package/dist/webcomponents/p-c2f4ab31.entry.js +0 -144
  520. package/dist/webcomponents/p-c2f4ab31.entry.js.map +0 -1
  521. package/dist/webcomponents/p-c422755c.entry.js +0 -388
  522. package/dist/webcomponents/p-c422755c.entry.js.map +0 -1
  523. package/dist/webcomponents/p-cb5ebcb6.system.entry.js +0 -254
  524. package/dist/webcomponents/p-cb5ebcb6.system.entry.js.map +0 -1
  525. package/dist/webcomponents/p-d33ec3ae.entry.js +0 -140
  526. package/dist/webcomponents/p-d36f650d.system.entry.js +0 -155
  527. package/dist/webcomponents/p-d36f650d.system.entry.js.map +0 -1
  528. package/dist/webcomponents/p-d52fbba3.system.entry.js +0 -251
  529. package/dist/webcomponents/p-d52fbba3.system.entry.js.map +0 -1
  530. package/dist/webcomponents/p-dbba1627.system.entry.js +0 -282
  531. package/dist/webcomponents/p-dbba1627.system.entry.js.map +0 -1
  532. package/dist/webcomponents/p-ddce5a0b.entry.js +0 -467
  533. package/dist/webcomponents/p-ddce5a0b.entry.js.map +0 -1
  534. package/dist/webcomponents/p-e4e2fd4f.entry.js +0 -257
  535. package/dist/webcomponents/p-eb06a6e1.entry.js +0 -2361
  536. package/dist/webcomponents/p-ee3853d3.system.entry.js +0 -151
  537. package/dist/webcomponents/p-ee3853d3.system.entry.js.map +0 -1
  538. package/dist/webcomponents/p-f8262121.system.entry.js +0 -251
  539. package/dist/webcomponents/p-f8262121.system.entry.js.map +0 -1
  540. package/dist/webcomponents/p-fd191bf0.entry.js +0 -278
  541. package/dist/webcomponents/p-fd191bf0.entry.js.map +0 -1
  542. package/dist/webcomponents/p-fe37ebb6.system.entry.js +0 -575
  543. package/dist/webcomponents/p-fe37ebb6.system.entry.js.map +0 -1
  544. package/dist/webcomponents/p-gTDesSZK.system.js.map +0 -1
  545. package/dist/webcomponents/p-oLikpHRj.system.js.map +0 -1
  546. package/dist/webcomponents/webcomponents.js +0 -127
  547. /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
  548. /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
  549. /package/dist/types/builds/govbr-ds/bibliotecas/wbc/govbr-ds-wbc/{packages/webcomponents/.stencil → .stencil}/packages/webcomponents/custom-docs/path.d.ts +0 -0
  550. /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
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../../../../src/components/input/input.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n *\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/input?tab=designer).\n *\n * @slot action - Botão à direita do input.\n * @slot icon - Ícone à esquerda do input.\n * @slot help-text - Personalização do texto de ajuda.\n * @slot feedback - Mensagem de feedback como resposta específica a uma interação do usuário com o input. Pode ser feedback de erro, aviso, sucesso ou informação.\n */\n@Component({\n tag: 'br-input',\n styleUrl: 'input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Input {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrInputElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Especifica o tipo de entrada do campo. Pode ser um dos seguintes:\n * - 'color': Seletor de cor\n * - 'email': Campo para e-mail\n * - 'hidden': Campo oculto\n * - 'password': Campo para senha\n * - 'range': Controle deslizante\n * - 'search': Campo de pesquisa\n * - 'number': Campo para números\n * - 'tel': Campo para números de telefone\n * - 'text': Campo de texto padrão\n * - 'url': Campo para URLs\n */\n @Prop({ reflect: true }) readonly type:\n | 'color'\n | 'email'\n | 'hidden'\n | 'password'\n | 'range'\n | 'search'\n | 'number'\n | 'tel'\n | 'text'\n | 'file'\n | 'url' = 'text'\n\n /**\n * Controla o comportamento de preenchimento automático do navegador para o input.\n */\n @Prop({ reflect: true }) readonly autocomplete: 'on' | 'off'\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Desativa o input, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Se verdadeiro, o rótulo e o input estarão na mesma linha (layout inline).\n */\n @Prop({ reflect: true }) readonly isInline: boolean = false\n\n /**\n * Se verdadeiro, o input terá destaque visual.\n */\n @Prop({ reflect: true }) readonly isHighlight: boolean = false\n\n /**\n * Define o estado do input\n * Os possíveis valores são:\n * - 'info': Mensagem informativa.\n * - 'warning': Mensagem de aviso.\n * - 'danger': Mensagem de erro ou alerta.\n * - 'success': Mensagem de sucesso.\n * O valor padrão é 'info'.\n */\n @Prop({ reflect: true }) readonly state: 'info' | 'warning' | 'danger' | 'success'\n\n /**\n * Texto exibido como rótulo do input.\n */\n @Prop({ reflect: true }) readonly label: string\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-input-${inputId++}`\n\n /**\n * Nome do input, utilizado para identificação em formulários.\n */\n @Prop({ reflect: true }) readonly name: string\n\n /**\n * Texto exibido dentro do input quando está vazio, fornecendo uma dica ou sugestão ao usuário.\n */\n @Prop({ reflect: true }) readonly placeholder: string\n\n /**\n * Se verdadeiro, o valor do input é exibido, mas não pode ser editado pelo usuário.\n */\n @Prop({ reflect: true }) readonly readonly: boolean = false\n\n /**\n * Se verdadeiro, o input é obrigatório e deve ser preenchido antes que o formulário possa ser enviado.\n */\n @Prop({ reflect: true }) readonly required: boolean = false\n\n /**\n * Valor exibido no input.\n * Pode ser alterado pelo usuário se a propriedade `readonly` não estiver ativa.\n */\n @Prop({ reflect: true, mutable: true }) value: string\n\n /**\n * Texto adicional que fornece ajuda ou informações sobre o input.\n */\n @Prop({ reflect: true }) readonly helpText: string\n\n /**\n * Controla a correção automática do texto.\n */\n @Prop({ reflect: true }) readonly autocorrect: 'off' | 'on' = 'off'\n\n /**\n * Define o valor mínimo para campos de entrada numéricos.\n */\n @Prop({ reflect: true }) readonly min: number\n\n /**\n * Define o valor máximo para campos de entrada numéricos.\n */\n @Prop({ reflect: true }) readonly max: number\n\n /**\n * Define o comprimento mínimo do valor do campo de entrada.\n */\n @Prop({ reflect: true }) readonly minlength: number\n\n /**\n * Define o comprimento máximo do valor do campo de entrada.\n */\n @Prop({ reflect: true }) readonly maxlength: number\n\n /**\n * Se verdadeiro, permite a seleção de múltiplos arquivos.\n */\n @Prop({ reflect: true }) readonly multiple: boolean = false\n\n /**\n * Define o padrão de entrada para validação.\n */\n @Prop({ reflect: true }) readonly pattern: string\n\n /**\n * Define o valor do passo para campos de entrada numéricos.\n */\n @Prop({ reflect: true }) readonly step: number\n\n @State() isPasswordVisible: boolean = false\n\n @State() internalState: 'info' | 'warning' | 'danger' | 'success' = 'info'\n\n @State() hasIconSlot: boolean = false\n\n @State() hasActionSlot: boolean = false\n\n @State() hasFeedbackSlot: boolean = false\n\n componentWillLoad() {\n this.hasIconSlot = this.hasSlotContent('icon')\n this.hasActionSlot = this.hasSlotContent('action')\n this.hasFeedbackSlot = this.hasSlotContent('feedback')\n this.internalState = this.state\n\n if (this.hasFeedbackSlot) {\n this.initializeStateWithFeedback()\n }\n }\n\n componentDidLoad() {\n if (this.hasFeedbackSlot) {\n this.setupSlotFeedbackListener()\n }\n }\n\n private initializeStateWithFeedback() {\n const initialMessageElement = this.el.querySelector('br-message')\n\n if (initialMessageElement) {\n const messageState = initialMessageElement.getAttribute('state')\n this.internalState = (messageState as 'info' | 'warning' | 'danger' | 'success') || this.state\n } else {\n this.internalState = this.state\n }\n }\n\n private setupSlotFeedbackListener() {\n const slot = this.el.shadowRoot?.querySelector('slot[name=\"feedback\"]')\n if (slot) {\n slot.addEventListener('slotchange', () => {\n this.syncStateWithSlotFeedback()\n })\n }\n }\n\n private syncStateWithSlotFeedback() {\n const messageElement = this.el.querySelector('br-message')\n\n if (messageElement) {\n this.internalState = messageElement.getAttribute('state') as 'info' | 'warning' | 'danger' | 'success'\n } else {\n this.internalState = this.state\n }\n }\n\n private getInputCssClassMap(): CssClassMap {\n return {\n 'br-input': true,\n 'input-button': this.hasActionSlot,\n small: this.density === 'small',\n large: this.density === 'large',\n medium: this.density === 'medium',\n 'input-inline': this.isInline,\n 'input-highlight': this.isHighlight,\n success: this.internalState === 'success',\n danger: this.internalState === 'danger',\n info: this.internalState === 'info',\n warning: this.internalState === 'warning',\n }\n }\n\n /**\n * Valor atualizado do input\n */\n @Event() valueChange: EventEmitter<string>\n\n private readonly handleInput = (event: Event) => {\n this.value = (event.target as HTMLInputElement).value\n this.valueChange.emit(this.value)\n }\n\n private readonly renderLabel = () => {\n if (this.label?.length > 0) {\n if (this.isInline) {\n return (\n <div class=\"input-label\">\n <label class=\"text-nowrap\" htmlFor={this.customId}>\n {this.label}\n </label>\n </div>\n )\n } else {\n return <label htmlFor={this.customId}>{this.label}</label>\n }\n }\n }\n\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private readonly renderInput = () => {\n return (\n <input\n class={this.isHighlight ? 'input-highlight' : null}\n id={this.customId}\n autocomplete={this.autocomplete}\n disabled={this.disabled}\n autoCorrect={this.autocorrect}\n min={this.min}\n max={this.max}\n minLength={this.minlength}\n maxLength={this.maxlength}\n multiple={this.multiple}\n name={this.name}\n pattern={this.pattern}\n step={this.step}\n onInput={this.handleInput}\n placeholder={this.placeholder}\n readonly={this.readonly}\n required={this.required}\n title={this.el.title}\n type={this.type}\n value={this.value}\n />\n )\n }\n\n private readonly renderHelpText = () => {\n return this.helpText?.length > 0 ? <p>{this.helpText}</p> : <slot name=\"help-text\"></slot>\n }\n\n private readonly renderIconPassword = () => {\n const iconName = this.isPasswordVisible ? 'fa-solid:eye-slash' : 'fa-solid:eye'\n return <br-icon icon-name={iconName}></br-icon>\n }\n\n private readonly togglePasswordVisibility = () => {\n const input = this.el.shadowRoot.querySelector('input')\n this.isPasswordVisible = !this.isPasswordVisible\n input.type = this.isPasswordVisible ? 'text' : 'password'\n }\n\n private renderIconSlot() {\n if (this.hasSlotContent('icon')) {\n return (\n <div class=\"input-icon\">\n <slot name=\"icon\"></slot>\n </div>\n )\n }\n }\n\n private renderButton() {\n if (this.type === 'password') {\n return (\n <br-button\n class=\"button-transform\"\n shape=\"circle\"\n density=\"small\"\n aria-label=\"botão de ação do ícone\"\n onClick={this.togglePasswordVisibility}\n >\n {this.renderIconPassword()}\n </br-button>\n )\n } else if (this.hasSlotContent('action')) {\n return (\n <br-button class=\"button-transform\" shape=\"circle\" density=\"small\" aria-label=\"botão de ação do ícone\">\n <slot name=\"action\"></slot>\n </br-button>\n )\n }\n return null\n }\n\n private readonly renderInlineInputContent = () => {\n if (this.hasIconSlot) {\n return <div class=\"input-content\">{this.renderInputWithIcon()}</div>\n } else {\n return <div class=\"input-content\">{this.renderInputWithoutIcon()}</div>\n }\n }\n\n private readonly renderInputContent = () => {\n return this.hasIconSlot ? this.renderInputWithIcon() : this.renderInputWithoutIcon()\n }\n\n private readonly renderInputWithIcon = () => {\n return (\n <div class=\"input-group\">\n {this.renderIconSlot()}\n {this.renderInput()}\n {this.renderButton()}\n {this.renderHelpText()}\n </div>\n )\n }\n\n private readonly renderInputWithoutIcon = () => {\n return [this.renderInput(), this.renderButton(), this.renderHelpText()]\n }\n\n private renderFeedback() {\n if (this.hasFeedbackSlot) {\n return <slot name=\"feedback\"></slot>\n }\n }\n\n render() {\n return (\n <Host>\n <div class={this.getInputCssClassMap()}>\n {this.renderLabel()}\n\n {this.isInline ? this.renderInlineInputContent() : this.renderInputContent()}\n\n {this.renderFeedback()}\n </div>\n </Host>\n )\n }\n}\n\nlet inputId = 0\n"]}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../../../../packages/webcomponents/src/components/input/input.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n *\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/input?tab=designer).\n *\n * @slot action - Botão à direita do input.\n * @slot icon - Ícone à esquerda do input.\n * @slot help-text - Personalização do texto de ajuda.\n * @slot feedback - Mensagem de feedback como resposta específica a uma interação do usuário com o input. Pode ser feedback de erro, aviso, sucesso ou informação.\n */\n@Component({\n tag: 'br-input',\n styleUrl: 'input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Input {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrInputElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Especifica o tipo de entrada do campo. Pode ser um dos seguintes:\n * - 'color': Seletor de cor\n * - 'email': Campo para e-mail\n * - 'hidden': Campo oculto\n * - 'password': Campo para senha\n * - 'range': Controle deslizante\n * - 'search': Campo de pesquisa\n * - 'number': Campo para números\n * - 'tel': Campo para números de telefone\n * - 'text': Campo de texto padrão\n * - 'url': Campo para URLs\n */\n @Prop({ reflect: true }) readonly type:\n | 'color'\n | 'email'\n | 'hidden'\n | 'password'\n | 'range'\n | 'search'\n | 'number'\n | 'tel'\n | 'text'\n | 'file'\n | 'url' = 'text'\n\n /**\n * Controla o comportamento de preenchimento automático do navegador para o input.\n */\n @Prop({ reflect: true }) readonly autocomplete: 'on' | 'off'\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Desativa o input, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Se verdadeiro, o rótulo e o input estarão na mesma linha (layout inline).\n */\n @Prop({ reflect: true }) readonly isInline: boolean = false\n\n /**\n * Se verdadeiro, o input terá destaque visual.\n */\n @Prop({ reflect: true }) readonly isHighlight: boolean = false\n\n /**\n * Define o estado do input\n * Os possíveis valores são:\n * - 'info': Mensagem informativa.\n * - 'warning': Mensagem de aviso.\n * - 'danger': Mensagem de erro ou alerta.\n * - 'success': Mensagem de sucesso.\n * O valor padrão é 'info'.\n */\n @Prop({ reflect: true }) readonly state: 'info' | 'warning' | 'danger' | 'success'\n\n /**\n * Texto exibido como rótulo do input.\n */\n @Prop({ reflect: true }) readonly label: string\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-input-${inputId++}`\n\n /**\n * Nome do input, utilizado para identificação em formulários.\n */\n @Prop({ reflect: true }) readonly name: string\n\n /**\n * Texto exibido dentro do input quando está vazio, fornecendo uma dica ou sugestão ao usuário.\n */\n @Prop({ reflect: true }) readonly placeholder: string\n\n /**\n * Se verdadeiro, o valor do input é exibido, mas não pode ser editado pelo usuário.\n */\n @Prop({ reflect: true }) readonly readonly: boolean = false\n\n /**\n * Se verdadeiro, o input é obrigatório e deve ser preenchido antes que o formulário possa ser enviado.\n */\n @Prop({ reflect: true }) readonly required: boolean = false\n\n /**\n * Valor exibido no input.\n * Pode ser alterado pelo usuário se a propriedade `readonly` não estiver ativa.\n */\n @Prop({ reflect: true, mutable: true }) value: string\n\n /**\n * Texto adicional que fornece ajuda ou informações sobre o input.\n */\n @Prop({ reflect: true }) readonly helpText: string\n\n /**\n * Controla a correção automática do texto.\n */\n @Prop({ reflect: true }) readonly autocorrect: 'off' | 'on' = 'off'\n\n /**\n * Define o valor mínimo para campos de entrada numéricos.\n */\n @Prop({ reflect: true }) readonly min: number\n\n /**\n * Define o valor máximo para campos de entrada numéricos.\n */\n @Prop({ reflect: true }) readonly max: number\n\n /**\n * Define o comprimento mínimo do valor do campo de entrada.\n */\n @Prop({ reflect: true }) readonly minlength: number\n\n /**\n * Define o comprimento máximo do valor do campo de entrada.\n */\n @Prop({ reflect: true }) readonly maxlength: number\n\n /**\n * Se verdadeiro, permite a seleção de múltiplos arquivos.\n */\n @Prop({ reflect: true }) readonly multiple: boolean = false\n\n /**\n * Define o padrão de entrada para validação.\n */\n @Prop({ reflect: true }) readonly pattern: string\n\n /**\n * Define o valor do passo para campos de entrada numéricos.\n */\n @Prop({ reflect: true }) readonly step: number\n\n @State() isPasswordVisible: boolean = false\n\n @State() internalState: 'info' | 'warning' | 'danger' | 'success' = 'info'\n\n @State() hasIconSlot: boolean = false\n\n @State() hasActionSlot: boolean = false\n\n @State() hasFeedbackSlot: boolean = false\n\n componentWillLoad() {\n this.hasIconSlot = this.hasSlotContent('icon')\n this.hasActionSlot = this.hasSlotContent('action')\n this.hasFeedbackSlot = this.hasSlotContent('feedback')\n this.internalState = this.state\n\n if (this.hasFeedbackSlot) {\n this.initializeStateWithFeedback()\n }\n }\n\n componentDidLoad() {\n if (this.hasFeedbackSlot) {\n this.setupSlotFeedbackListener()\n }\n }\n\n private initializeStateWithFeedback() {\n const initialMessageElement = this.el.querySelector('br-message')\n\n if (initialMessageElement) {\n const messageState = initialMessageElement.getAttribute('state')\n this.internalState = (messageState as 'info' | 'warning' | 'danger' | 'success') || this.state\n } else {\n this.internalState = this.state\n }\n }\n\n private setupSlotFeedbackListener() {\n const slot = this.el.shadowRoot?.querySelector('slot[name=\"feedback\"]')\n if (slot) {\n slot.addEventListener('slotchange', () => {\n this.syncStateWithSlotFeedback()\n })\n }\n }\n\n private syncStateWithSlotFeedback() {\n const messageElement = this.el.querySelector('br-message')\n\n if (messageElement) {\n this.internalState = messageElement.getAttribute('state') as 'info' | 'warning' | 'danger' | 'success'\n } else {\n this.internalState = this.state\n }\n }\n\n private getInputCssClassMap(): CssClassMap {\n return {\n 'br-input': true,\n 'input-button': this.hasActionSlot,\n small: this.density === 'small',\n large: this.density === 'large',\n medium: this.density === 'medium',\n 'input-inline': this.isInline,\n 'input-highlight': this.isHighlight,\n success: this.internalState === 'success',\n danger: this.internalState === 'danger',\n info: this.internalState === 'info',\n warning: this.internalState === 'warning',\n }\n }\n\n /**\n * Valor atualizado do input\n */\n @Event() valueChange: EventEmitter<string>\n\n private readonly handleInput = (event: Event) => {\n this.value = (event.target as HTMLInputElement).value\n this.valueChange.emit(this.value)\n }\n\n private readonly renderLabel = () => {\n if (this.label?.length > 0) {\n if (this.isInline) {\n return (\n <div class=\"input-label\">\n <label class=\"text-nowrap\" htmlFor={this.customId}>\n {this.label}\n </label>\n </div>\n )\n } else {\n return <label htmlFor={this.customId}>{this.label}</label>\n }\n }\n }\n\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private readonly renderInput = () => {\n return (\n <input\n class={this.isHighlight ? 'input-highlight' : null}\n id={this.customId}\n autocomplete={this.autocomplete}\n disabled={this.disabled}\n autoCorrect={this.autocorrect}\n min={this.min}\n max={this.max}\n minLength={this.minlength}\n maxLength={this.maxlength}\n multiple={this.multiple}\n name={this.name}\n pattern={this.pattern}\n step={this.step}\n onInput={this.handleInput}\n placeholder={this.placeholder}\n readonly={this.readonly}\n required={this.required}\n title={this.el.title}\n type={this.type}\n value={this.value}\n />\n )\n }\n\n private readonly renderHelpText = () => {\n return this.helpText?.length > 0 ? <p>{this.helpText}</p> : <slot name=\"help-text\"></slot>\n }\n\n private readonly renderIconPassword = () => {\n const iconName = this.isPasswordVisible ? 'fa-solid:eye-slash' : 'fa-solid:eye'\n return <br-icon icon-name={iconName}></br-icon>\n }\n\n private readonly togglePasswordVisibility = () => {\n const input = this.el.shadowRoot.querySelector('input')\n this.isPasswordVisible = !this.isPasswordVisible\n input.type = this.isPasswordVisible ? 'text' : 'password'\n }\n\n private renderIconSlot() {\n if (this.hasSlotContent('icon')) {\n return (\n <div class=\"input-icon\">\n <slot name=\"icon\"></slot>\n </div>\n )\n }\n }\n\n private renderButton() {\n if (this.type === 'password') {\n return (\n <br-button\n class=\"button-transform\"\n shape=\"circle\"\n density=\"small\"\n aria-label=\"botão de ação do ícone\"\n onClick={this.togglePasswordVisibility}\n >\n {this.renderIconPassword()}\n </br-button>\n )\n } else if (this.hasSlotContent('action')) {\n return (\n <br-button class=\"button-transform\" shape=\"circle\" density=\"small\" aria-label=\"botão de ação do ícone\">\n <slot name=\"action\"></slot>\n </br-button>\n )\n }\n return null\n }\n\n private readonly renderInlineInputContent = () => {\n if (this.hasIconSlot) {\n return <div class=\"input-content\">{this.renderInputWithIcon()}</div>\n } else {\n return <div class=\"input-content\">{this.renderInputWithoutIcon()}</div>\n }\n }\n\n private readonly renderInputContent = () => {\n return this.hasIconSlot ? this.renderInputWithIcon() : this.renderInputWithoutIcon()\n }\n\n private readonly renderInputWithIcon = () => {\n return (\n <div class=\"input-group\">\n {this.renderIconSlot()}\n {this.renderInput()}\n {this.renderButton()}\n {this.renderHelpText()}\n </div>\n )\n }\n\n private readonly renderInputWithoutIcon = () => {\n return [this.renderInput(), this.renderButton(), this.renderHelpText()]\n }\n\n private renderFeedback() {\n if (this.hasFeedbackSlot) {\n return <slot name=\"feedback\"></slot>\n }\n }\n\n render() {\n return (\n <Host>\n <div class={this.getInputCssClassMap()}>\n {this.renderLabel()}\n\n {this.isInline ? this.renderInlineInputContent() : this.renderInputContent()}\n\n {this.renderFeedback()}\n </div>\n </Host>\n )\n }\n}\n\nlet inputId = 0\n"]}
@@ -1,5 +1,6 @@
1
1
  /*!
2
- * Construído com @govbr-ds/webcomponents
2
+ * Construído por SERPRO
3
+ * © https://serpro.gov.br/ - MIT License.
3
4
  */
4
5
  import { h, Host } from "@stencil/core";
5
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sourceRoot":"","sources":["../../../../../../src/components/item/item.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Listen, Prop, State } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/item?tab=designer).\n *\n * @slot default - Área de conteúdo, podendo conter qualquer componente, exceto botões primários e componentes relacionados à navegação (como carrosséis, paginações, abas, menus, etc.).\n *\n * @slot start - Área de recursos visuais, podendo conter elementos como ícones, avatares e mídias.\n *\n * @slot end - Área de recursos complementares, podendo conter componentes interativos, metadados e informações adicionais.\n */\n@Component({\n tag: 'br-item',\n styleUrl: 'item.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Item {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrItemElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Desativa o item, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-item-${itemId++}`\n\n /**\n * Indica se o item está no estado ativo.\n * Se definido como verdadeiro, o item será exibido como ativo.\n */\n @Prop({ reflect: true }) readonly isActive: boolean = false\n\n /**\n * Indica se o item está no estado selecionado.\n * Se definido como verdadeiro, o item será exibido como selecionado.\n */\n @Prop({ reflect: true }) readonly isSelected: boolean = false\n\n /**\n * Marca o item como interativo, permitindo que toda a superfície do item seja clicável.\n */\n @Prop({ reflect: true }) readonly isInteractive: boolean = false\n\n /**\n * URL ou caminho para o qual o usuário será direcionado ao clicar no item. Quando definido, o item será renderizado como um link.\n */\n @Prop({ reflect: true }) readonly href?: string\n\n /**\n * Define o alvo do link quando `href` está presente. Pode ser:\n * - `_blank` para abrir em uma nova aba,\n * - `_self` para abrir na mesma aba,\n * - `_parent` para abrir na aba pai,\n * - `_top` para abrir na aba superior.\n */\n @Prop({ reflect: true }) readonly target?: '_blank' | '_self' | '_parent' | '_top'\n\n /**\n * Quando definido como `true`, o item será tratado como um botão.\n */\n @Prop({ reflect: true }) readonly isButton: boolean = false\n\n /**\n * Tipo do botão, aplicável apenas se `isButton` for `true`. Pode ser:\n * - `'submit'` para enviar um formulário,\n * - `'reset'` para redefinir um formulário,\n * - `'button'` para um botão padrão.\n */\n @Prop({ reflect: true, mutable: true }) type: 'submit' | 'reset' | 'button'\n\n /**\n * Define um valor associado ao br-item quando renderizado como um botão, utilizado em contextos de formulário.\n */\n @Prop({ reflect: true }) readonly value?: string\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n // Propriedade interna para verificar a presença de conteúdo no slot default\n @State() hasSlotDefault: boolean = false\n\n @State() hasSlotStart: boolean = false\n\n @State() hasSlotEnd: boolean = false\n\n // Propriedade interna para armazenar o valor selecionado\n @State() selectedValue: boolean = false\n\n // Propriedade para rastrear a presença de rádios dentro do item\n private hasRadios: boolean = false\n\n @Listen('checkedChange', { target: 'document' })\n handleRadioChange() {\n requestAnimationFrame(() => {\n this.updateRadioSelectionState()\n })\n }\n\n @Listen('checkedChange', { target: 'document' })\n handleCheckboxChange(event: Event) {\n const target = event.target as HTMLElement\n\n if (this.el.contains(target)) {\n this.updateCheckboxSelectionState()\n }\n }\n\n /**\n * Evento customizado emitido quando o item é clicado, aplicável apenas se o item for um botão (`<button>`).\n * Pode ser utilizado para ações personalizadas, exceto quando o item está desativado.\n */\n @Event({ composed: true, cancelable: true, bubbles: true }) brDidClick: EventEmitter\n\n /**\n * Evento customizado aplicável para todos os tipos de elementos (`div`, `button`, `a`), emitido quando o item é selecionado e desde que a propriedade `isInteractive` esteja presente.\n */\n @Event({ bubbles: true, composed: true }) brDidSelect: EventEmitter<{ selected: boolean }>\n\n componentWillLoad() {\n this.hasSlotContentDefault()\n this.hasSlotStart = this.hasSlotContent('start')\n this.hasSlotEnd = this.hasSlotContent('end')\n this.selectedValue = this.isSelected\n if (this.isButton) {\n this.type = this.type || 'button'\n }\n const radios = Array.from(this.el.querySelectorAll('br-radio'))\n const checkboxes = Array.from(this.el.querySelectorAll('br-checkbox'))\n this.hasRadios = radios.length > 0\n\n if (this.isSelected) {\n if (checkboxes.length > 0) {\n checkboxes.forEach((checkbox) => (checkbox.checked = true))\n }\n if (radios.length > 0) {\n radios[0].checked = true\n }\n }\n\n this.updateRadioSelectionState()\n this.updateCheckboxSelectionState()\n }\n\n private hasSlotContentDefault(): void {\n this.hasSlotDefault = this.el.innerHTML !== ''\n }\n\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-item': true,\n disabled: this.disabled,\n active: this.isActive,\n selected: this.selectedValue,\n 'py-3': this.density === 'medium',\n 'py-4': this.density === 'small',\n }\n }\n\n private getTagType(): string {\n if (this.isButton) {\n return 'button'\n }\n if (this.href?.length > 0) {\n return 'a'\n }\n return 'div'\n }\n\n private getAttributes() {\n const TagType = this.getTagType()\n const baseAttributes =\n TagType === 'button' ? { type: this.type, value: this.value } : { href: this.href, target: this.target }\n\n return {\n ...baseAttributes,\n 'aria-disabled': this.disabled ? 'true' : null,\n 'aria-current': this.isActive ? 'true' : null,\n 'data-toggle': this.isInteractive ? 'selection' : null,\n 'is-selected': this.selectedValue ? true : null,\n }\n }\n\n private updateCheckboxSelectionState() {\n if (this.hasRadios) return\n\n const checkboxes = Array.from(this.el.querySelectorAll('br-checkbox'))\n\n this.selectedValue = checkboxes.some((checkbox) => checkbox.checked)\n this.brDidSelect.emit({ selected: this.selectedValue })\n }\n\n private updateRadioSelectionState() {\n if (!this.hasRadios) return\n\n const radios = Array.from(this.el.querySelectorAll('br-radio'))\n\n this.selectedValue = radios.some((radio) => radio.checked)\n this.brDidSelect.emit({ selected: this.selectedValue })\n }\n\n // Função para verificar se o clique foi dentro do slot do item.\n private isClickInsideInteractiveElement(target: HTMLElement): boolean {\n const interactiveSelectors = 'br-checkbox, br-radio, br-input, br-button, br-select, br-textarea'\n const interactiveElements = this.el.querySelectorAll(interactiveSelectors)\n return Array.from(interactiveElements).some((el) => el.contains(target) || target === el)\n }\n\n private updateCheckboxes() {\n const checkboxes = Array.from(this.el.querySelectorAll('br-checkbox'))\n\n checkboxes.forEach((checkbox) => {\n checkbox.checked = this.selectedValue\n })\n }\n\n private readonly handleClick = (event: MouseEvent) => {\n const clickedElement = event.target as HTMLElement\n\n if (this.disabled) {\n event.preventDefault()\n event.stopPropagation()\n }\n\n if (this.hasRadios) {\n return\n }\n\n if (this.isButton) {\n this.brDidClick.emit()\n } else if (this.isInteractive && !this.isClickInsideInteractiveElement(clickedElement)) {\n this.selectedValue = !this.selectedValue\n this.brDidSelect.emit({ selected: this.selectedValue })\n this.updateCheckboxes()\n }\n\n event.stopPropagation()\n }\n\n render() {\n const TagType = this.getTagType()\n const attributes = this.getAttributes()\n const classList = this.getCssClassMap()\n return (\n <Host>\n <TagType class={classList} {...attributes} onClick={this.handleClick} id={this.customId}>\n {this.hasSlotStart || this.hasSlotEnd ? (\n <div class=\"row align-items-center\">\n {this.hasSlotStart && (\n <div class=\"col-auto\">\n <slot name=\"start\"></slot>\n </div>\n )}\n\n <div class=\"col\">\n <slot></slot>\n </div>\n\n {this.hasSlotEnd && (\n <div class=\"col-auto\">\n <slot name=\"end\"></slot>\n </div>\n )}\n </div>\n ) : (\n <slot></slot>\n )}\n </TagType>\n </Host>\n )\n }\n}\n\nlet itemId = 0\n"]}
1
+ {"version":3,"file":"item.js","sourceRoot":"","sources":["../../../../../../packages/webcomponents/src/components/item/item.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Listen, Prop, State } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/item?tab=designer).\n *\n * @slot default - Área de conteúdo, podendo conter qualquer componente, exceto botões primários e componentes relacionados à navegação (como carrosséis, paginações, abas, menus, etc.).\n *\n * @slot start - Área de recursos visuais, podendo conter elementos como ícones, avatares e mídias.\n *\n * @slot end - Área de recursos complementares, podendo conter componentes interativos, metadados e informações adicionais.\n */\n@Component({\n tag: 'br-item',\n styleUrl: 'item.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Item {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrItemElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Desativa o item, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-item-${itemId++}`\n\n /**\n * Indica se o item está no estado ativo.\n * Se definido como verdadeiro, o item será exibido como ativo.\n */\n @Prop({ reflect: true }) readonly isActive: boolean = false\n\n /**\n * Indica se o item está no estado selecionado.\n * Se definido como verdadeiro, o item será exibido como selecionado.\n */\n @Prop({ reflect: true }) readonly isSelected: boolean = false\n\n /**\n * Marca o item como interativo, permitindo que toda a superfície do item seja clicável.\n */\n @Prop({ reflect: true }) readonly isInteractive: boolean = false\n\n /**\n * URL ou caminho para o qual o usuário será direcionado ao clicar no item. Quando definido, o item será renderizado como um link.\n */\n @Prop({ reflect: true }) readonly href?: string\n\n /**\n * Define o alvo do link quando `href` está presente. Pode ser:\n * - `_blank` para abrir em uma nova aba,\n * - `_self` para abrir na mesma aba,\n * - `_parent` para abrir na aba pai,\n * - `_top` para abrir na aba superior.\n */\n @Prop({ reflect: true }) readonly target?: '_blank' | '_self' | '_parent' | '_top'\n\n /**\n * Quando definido como `true`, o item será tratado como um botão.\n */\n @Prop({ reflect: true }) readonly isButton: boolean = false\n\n /**\n * Tipo do botão, aplicável apenas se `isButton` for `true`. Pode ser:\n * - `'submit'` para enviar um formulário,\n * - `'reset'` para redefinir um formulário,\n * - `'button'` para um botão padrão.\n */\n @Prop({ reflect: true, mutable: true }) type: 'submit' | 'reset' | 'button'\n\n /**\n * Define um valor associado ao br-item quando renderizado como um botão, utilizado em contextos de formulário.\n */\n @Prop({ reflect: true }) readonly value?: string\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n // Propriedade interna para verificar a presença de conteúdo no slot default\n @State() hasSlotDefault: boolean = false\n\n @State() hasSlotStart: boolean = false\n\n @State() hasSlotEnd: boolean = false\n\n // Propriedade interna para armazenar o valor selecionado\n @State() selectedValue: boolean = false\n\n // Propriedade para rastrear a presença de rádios dentro do item\n private hasRadios: boolean = false\n\n @Listen('checkedChange', { target: 'document' })\n handleRadioChange() {\n requestAnimationFrame(() => {\n this.updateRadioSelectionState()\n })\n }\n\n @Listen('checkedChange', { target: 'document' })\n handleCheckboxChange(event: Event) {\n const target = event.target as HTMLElement\n\n if (this.el.contains(target)) {\n this.updateCheckboxSelectionState()\n }\n }\n\n /**\n * Evento customizado emitido quando o item é clicado, aplicável apenas se o item for um botão (`<button>`).\n * Pode ser utilizado para ações personalizadas, exceto quando o item está desativado.\n */\n @Event({ composed: true, cancelable: true, bubbles: true }) brDidClick: EventEmitter\n\n /**\n * Evento customizado aplicável para todos os tipos de elementos (`div`, `button`, `a`), emitido quando o item é selecionado e desde que a propriedade `isInteractive` esteja presente.\n */\n @Event({ bubbles: true, composed: true }) brDidSelect: EventEmitter<{ selected: boolean }>\n\n componentWillLoad() {\n this.hasSlotContentDefault()\n this.hasSlotStart = this.hasSlotContent('start')\n this.hasSlotEnd = this.hasSlotContent('end')\n this.selectedValue = this.isSelected\n if (this.isButton) {\n this.type = this.type || 'button'\n }\n const radios = Array.from(this.el.querySelectorAll('br-radio'))\n const checkboxes = Array.from(this.el.querySelectorAll('br-checkbox'))\n this.hasRadios = radios.length > 0\n\n if (this.isSelected) {\n if (checkboxes.length > 0) {\n checkboxes.forEach((checkbox) => (checkbox.checked = true))\n }\n if (radios.length > 0) {\n radios[0].checked = true\n }\n }\n\n this.updateRadioSelectionState()\n this.updateCheckboxSelectionState()\n }\n\n private hasSlotContentDefault(): void {\n this.hasSlotDefault = this.el.innerHTML !== ''\n }\n\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-item': true,\n disabled: this.disabled,\n active: this.isActive,\n selected: this.selectedValue,\n 'py-3': this.density === 'medium',\n 'py-4': this.density === 'small',\n }\n }\n\n private getTagType(): string {\n if (this.isButton) {\n return 'button'\n }\n if (this.href?.length > 0) {\n return 'a'\n }\n return 'div'\n }\n\n private getAttributes() {\n const TagType = this.getTagType()\n const baseAttributes =\n TagType === 'button' ? { type: this.type, value: this.value } : { href: this.href, target: this.target }\n\n return {\n ...baseAttributes,\n 'aria-disabled': this.disabled ? 'true' : null,\n 'aria-current': this.isActive ? 'true' : null,\n 'data-toggle': this.isInteractive ? 'selection' : null,\n 'is-selected': this.selectedValue ? true : null,\n }\n }\n\n private updateCheckboxSelectionState() {\n if (this.hasRadios) return\n\n const checkboxes = Array.from(this.el.querySelectorAll('br-checkbox'))\n\n this.selectedValue = checkboxes.some((checkbox) => checkbox.checked)\n this.brDidSelect.emit({ selected: this.selectedValue })\n }\n\n private updateRadioSelectionState() {\n if (!this.hasRadios) return\n\n const radios = Array.from(this.el.querySelectorAll('br-radio'))\n\n this.selectedValue = radios.some((radio) => radio.checked)\n this.brDidSelect.emit({ selected: this.selectedValue })\n }\n\n // Função para verificar se o clique foi dentro do slot do item.\n private isClickInsideInteractiveElement(target: HTMLElement): boolean {\n const interactiveSelectors = 'br-checkbox, br-radio, br-input, br-button, br-select, br-textarea'\n const interactiveElements = this.el.querySelectorAll(interactiveSelectors)\n return Array.from(interactiveElements).some((el) => el.contains(target) || target === el)\n }\n\n private updateCheckboxes() {\n const checkboxes = Array.from(this.el.querySelectorAll('br-checkbox'))\n\n checkboxes.forEach((checkbox) => {\n checkbox.checked = this.selectedValue\n })\n }\n\n private readonly handleClick = (event: MouseEvent) => {\n const clickedElement = event.target as HTMLElement\n\n if (this.disabled) {\n event.preventDefault()\n event.stopPropagation()\n }\n\n if (this.hasRadios) {\n return\n }\n\n if (this.isButton) {\n this.brDidClick.emit()\n } else if (this.isInteractive && !this.isClickInsideInteractiveElement(clickedElement)) {\n this.selectedValue = !this.selectedValue\n this.brDidSelect.emit({ selected: this.selectedValue })\n this.updateCheckboxes()\n }\n\n event.stopPropagation()\n }\n\n render() {\n const TagType = this.getTagType()\n const attributes = this.getAttributes()\n const classList = this.getCssClassMap()\n return (\n <Host>\n <TagType class={classList} {...attributes} onClick={this.handleClick} id={this.customId}>\n {this.hasSlotStart || this.hasSlotEnd ? (\n <div class=\"row align-items-center\">\n {this.hasSlotStart && (\n <div class=\"col-auto\">\n <slot name=\"start\"></slot>\n </div>\n )}\n\n <div class=\"col\">\n <slot></slot>\n </div>\n\n {this.hasSlotEnd && (\n <div class=\"col-auto\">\n <slot name=\"end\"></slot>\n </div>\n )}\n </div>\n ) : (\n <slot></slot>\n )}\n </TagType>\n </Host>\n )\n }\n}\n\nlet itemId = 0\n"]}
@@ -1,5 +1,6 @@
1
1
  /*!
2
- * Construído com @govbr-ds/webcomponents
2
+ * Construído por SERPRO
3
+ * © https://serpro.gov.br/ - MIT License.
3
4
  */
4
5
  import { h, Host } from "@stencil/core";
5
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../src/components/list/list.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, h, Host, Prop } 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/list?tab=designer).\n *\n * @slot default - Slot padrão para inclusão dos itens da lista.\n * @slot header - Slot nomeado para inclusão de ações relacionadas ao cabeçalho do list (uso de botões por exemplo).\n */\n@Component({\n tag: 'br-list',\n styleUrl: 'list.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class List {\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: HTMLBrListElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o cabeçalho para a lista.\n */\n @Prop({ reflect: true }) readonly header: string\n\n /**\n * Indica se a lista será horizontal. Por padrão, a lista é vertical.\n */\n @Prop({ reflect: true }) readonly isHorizontal: boolean = false\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-list-${listId++}`\n\n /**\n * Indica que o divider para o título da lista estará oculto.\n */\n @Prop({ reflect: true }) readonly hideHeaderDivider: boolean = false\n\n componentDidLoad() {\n if (this.isHorizontal) {\n const slotItems = Array.from(this.el.querySelectorAll('br-item'))\n\n slotItems.forEach((item) => {\n const nextElement = item.nextElementSibling\n if (nextElement?.classList.contains('br-divider')) {\n const divider = nextElement as HTMLElement\n divider.style.borderWidth = '0 1px 0 0'\n divider.style.width = '1px'\n }\n })\n }\n\n const items = Array.from(this.el.querySelectorAll('br-item'))\n items.forEach((item) => {\n item.setAttribute('role', 'listitem')\n })\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-list': true,\n horizontal: this.isHorizontal,\n }\n }\n\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n private readonly renderHeader = () => {\n if (this.header?.length > 0 || this.hasSlotContent('header')) {\n return (\n <div class=\"header\">\n {this.header && <div class=\"title\">{this.header}</div>}\n {this.hasSlotContent('header') && (\n <div class=\"d-flex\">\n <slot name=\"header\"></slot>\n </div>\n )}\n </div>\n )\n }\n return null\n }\n\n private renderDivider() {\n if ((this.header || this.hasSlotContent('header')) && !this.hideHeaderDivider) {\n return <div class=\"br-divider\"></div>\n }\n return null\n }\n\n render() {\n return (\n <Host>\n <div class={this.getCssClassMap()} role=\"list\" id={this.customId}>\n {this.renderHeader()}\n {this.renderDivider()}\n <slot></slot>\n </div>\n </Host>\n )\n }\n}\n\nlet listId = 0\n"]}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../packages/webcomponents/src/components/list/list.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, h, Host, Prop } 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/list?tab=designer).\n *\n * @slot default - Slot padrão para inclusão dos itens da lista.\n * @slot header - Slot nomeado para inclusão de ações relacionadas ao cabeçalho do list (uso de botões por exemplo).\n */\n@Component({\n tag: 'br-list',\n styleUrl: 'list.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class List {\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: HTMLBrListElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o cabeçalho para a lista.\n */\n @Prop({ reflect: true }) readonly header: string\n\n /**\n * Indica se a lista será horizontal. Por padrão, a lista é vertical.\n */\n @Prop({ reflect: true }) readonly isHorizontal: boolean = false\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-list-${listId++}`\n\n /**\n * Indica que o divider para o título da lista estará oculto.\n */\n @Prop({ reflect: true }) readonly hideHeaderDivider: boolean = false\n\n componentDidLoad() {\n if (this.isHorizontal) {\n const slotItems = Array.from(this.el.querySelectorAll('br-item'))\n\n slotItems.forEach((item) => {\n const nextElement = item.nextElementSibling\n if (nextElement?.classList.contains('br-divider')) {\n const divider = nextElement as HTMLElement\n divider.style.borderWidth = '0 1px 0 0'\n divider.style.width = '1px'\n }\n })\n }\n\n const items = Array.from(this.el.querySelectorAll('br-item'))\n items.forEach((item) => {\n item.setAttribute('role', 'listitem')\n })\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-list': true,\n horizontal: this.isHorizontal,\n }\n }\n\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n private readonly renderHeader = () => {\n if (this.header?.length > 0 || this.hasSlotContent('header')) {\n return (\n <div class=\"header\">\n {this.header && <div class=\"title\">{this.header}</div>}\n {this.hasSlotContent('header') && (\n <div class=\"d-flex\">\n <slot name=\"header\"></slot>\n </div>\n )}\n </div>\n )\n }\n return null\n }\n\n private renderDivider() {\n if ((this.header || this.hasSlotContent('header')) && !this.hideHeaderDivider) {\n return <div class=\"br-divider\"></div>\n }\n return null\n }\n\n render() {\n return (\n <Host>\n <div class={this.getCssClassMap()} role=\"list\" id={this.customId}>\n {this.renderHeader()}\n {this.renderDivider()}\n <slot></slot>\n </div>\n </Host>\n )\n }\n}\n\nlet listId = 0\n"]}
@@ -1,5 +1,6 @@
1
1
  /*!
2
- * Construído com @govbr-ds/webcomponents
2
+ * Construído por SERPRO
3
+ * © https://serpro.gov.br/ - MIT License.
3
4
  */
4
5
  import { h, Host } from "@stencil/core";
5
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"loading.js","sourceRoot":"","sources":["../../../../../../src/components/loading/loading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAGjE;;GAEG;AAOH,MAAM,OAAO,OAAO;IAClB;;;OAGG;IACQ,EAAE,CAAsB;IAEnC;;;;OAIG;IAC+B,UAAU,GAAY,KAAK,CAAA;IAE7D;;;OAGG;IAC+B,QAAQ,GAAW,cAAc,SAAS,EAAE,EAAE,CAAA;IAEhF;;;OAGG;IAC+B,eAAe,CAAQ;IAEzD;;OAEG;IAC+B,QAAQ,GAAY,KAAK,CAAA;IAE3D;;;OAGG;IAC+B,KAAK,CAAQ;IAEvC,cAAc;QACpB,OAAO;YACL,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI,CAAC,QAAQ;SACtB,CAAA;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,uDACF,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CACjB,WACE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAC5B,IAAI,EAAC,aAAa,mBACH,IAAI,CAAC,eAAe,gBACxB,oCAAoC,mBACjC,GAAG,mBACF,IAAI,CAAC,eAAe,mBACrB,KAAK,EACnB,EAAE,EAAE,IAAI,CAAC,QAAQ;YAEjB,WAAK,KAAK,EAAC,sBAAsB;gBAC/B,WAAK,KAAK,EAAC,iBAAiB,GAAO,CAC/B;YACN,WAAK,KAAK,EAAC,iBAAiB;gBAC1B,WAAK,KAAK,EAAC,iBAAiB,GAAO,CAC/B,CACF,CACP,CAAC,CAAC,CAAC,CACF,WAAK,KAAK,EAAC,4BAA4B;YACrC,WACE,EAAE,EAAE,IAAI,CAAC,QAAQ,EACjB,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAC5B,IAAI,EAAC,aAAa,gBACP,0CAA0C,GAChD;YACP,YAAM,KAAK,EAAC,QAAQ,IAAE,IAAI,CAAC,KAAK,CAAQ,CACpC,CACP,CACI,CACR,CAAA;IACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF;AAED,IAAI,SAAS,GAAG,CAAC,CAAA","sourcesContent":["import { Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/loading?tab=designer).\n */\n@Component({\n tag: 'br-loading',\n styleUrl: 'loading.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Loading {\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: HTMLBrLoadingElement\n\n /**\n * Determina o tipo de indicador a ser exibido:\n * - Se verdadeiro, exibirá uma barra de progresso com a porcentagem de progresso.\n * - Se falso, exibirá um indicador de carregamento indeterminado.\n */\n @Prop({ reflect: true }) readonly isProgress: boolean = false\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-loading-${loadingId++}`\n\n /**\n * Define a porcentagem de progresso a ser exibida na barra de progresso.\n * Deve ser um valor numérico entre 0 e 100. Ignorado se `isProgress` estiver definido como falso.\n */\n @Prop({ reflect: true }) readonly progressPercent: number\n\n /**\n * Se verdadeiro, ajusta o tamanho do indicador de carregamento para o tamanho médio.\n */\n @Prop({ reflect: true }) readonly isMedium: boolean = false\n\n /**\n * Texto a ser exibido abaixo do indicador de carregamento.\n * Pode ser usado para fornecer informações adicionais ou descritivas sobre o estado do carregamento.\n */\n @Prop({ reflect: true }) readonly label: string\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-loading': true,\n medium: this.isMedium,\n }\n }\n\n render() {\n return (\n <Host>\n {this.isProgress ? (\n <div\n class={this.getCssClassMap()}\n role=\"progressbar\"\n data-progress={this.progressPercent}\n aria-label=\"Carregando exemplo com porcentagem\"\n aria-valuemin=\"0\"\n aria-valuenow={this.progressPercent}\n aria-valuemax=\"100\"\n id={this.customId}\n >\n <div class=\"br-loading-mask full\">\n <div class=\"br-loading-fill\"></div>\n </div>\n <div class=\"br-loading-mask\">\n <div class=\"br-loading-fill\"></div>\n </div>\n </div>\n ) : (\n <div class=\"loading-progress-alignment\">\n <div\n id={this.customId}\n class={this.getCssClassMap()}\n role=\"progressbar\"\n aria-label=\"Carregando exemplo indeterminado pequeno\"\n ></div>\n <span class=\"rotulo\">{this.label}</span>\n </div>\n )}\n </Host>\n )\n }\n}\n\nlet loadingId = 0\n"]}
1
+ {"version":3,"file":"loading.js","sourceRoot":"","sources":["../../../../../../packages/webcomponents/src/components/loading/loading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAGjE;;GAEG;AAOH,MAAM,OAAO,OAAO;IAClB;;;OAGG;IACQ,EAAE,CAAsB;IAEnC;;;;OAIG;IAC+B,UAAU,GAAY,KAAK,CAAA;IAE7D;;;OAGG;IAC+B,QAAQ,GAAW,cAAc,SAAS,EAAE,EAAE,CAAA;IAEhF;;;OAGG;IAC+B,eAAe,CAAQ;IAEzD;;OAEG;IAC+B,QAAQ,GAAY,KAAK,CAAA;IAE3D;;;OAGG;IAC+B,KAAK,CAAQ;IAEvC,cAAc;QACpB,OAAO;YACL,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI,CAAC,QAAQ;SACtB,CAAA;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,uDACF,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CACjB,WACE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAC5B,IAAI,EAAC,aAAa,mBACH,IAAI,CAAC,eAAe,gBACxB,oCAAoC,mBACjC,GAAG,mBACF,IAAI,CAAC,eAAe,mBACrB,KAAK,EACnB,EAAE,EAAE,IAAI,CAAC,QAAQ;YAEjB,WAAK,KAAK,EAAC,sBAAsB;gBAC/B,WAAK,KAAK,EAAC,iBAAiB,GAAO,CAC/B;YACN,WAAK,KAAK,EAAC,iBAAiB;gBAC1B,WAAK,KAAK,EAAC,iBAAiB,GAAO,CAC/B,CACF,CACP,CAAC,CAAC,CAAC,CACF,WAAK,KAAK,EAAC,4BAA4B;YACrC,WACE,EAAE,EAAE,IAAI,CAAC,QAAQ,EACjB,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAC5B,IAAI,EAAC,aAAa,gBACP,0CAA0C,GAChD;YACP,YAAM,KAAK,EAAC,QAAQ,IAAE,IAAI,CAAC,KAAK,CAAQ,CACpC,CACP,CACI,CACR,CAAA;IACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF;AAED,IAAI,SAAS,GAAG,CAAC,CAAA","sourcesContent":["import { Component, Element, h, Host, Prop } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/loading?tab=designer).\n */\n@Component({\n tag: 'br-loading',\n styleUrl: 'loading.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Loading {\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: HTMLBrLoadingElement\n\n /**\n * Determina o tipo de indicador a ser exibido:\n * - Se verdadeiro, exibirá uma barra de progresso com a porcentagem de progresso.\n * - Se falso, exibirá um indicador de carregamento indeterminado.\n */\n @Prop({ reflect: true }) readonly isProgress: boolean = false\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-loading-${loadingId++}`\n\n /**\n * Define a porcentagem de progresso a ser exibida na barra de progresso.\n * Deve ser um valor numérico entre 0 e 100. Ignorado se `isProgress` estiver definido como falso.\n */\n @Prop({ reflect: true }) readonly progressPercent: number\n\n /**\n * Se verdadeiro, ajusta o tamanho do indicador de carregamento para o tamanho médio.\n */\n @Prop({ reflect: true }) readonly isMedium: boolean = false\n\n /**\n * Texto a ser exibido abaixo do indicador de carregamento.\n * Pode ser usado para fornecer informações adicionais ou descritivas sobre o estado do carregamento.\n */\n @Prop({ reflect: true }) readonly label: string\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-loading': true,\n medium: this.isMedium,\n }\n }\n\n render() {\n return (\n <Host>\n {this.isProgress ? (\n <div\n class={this.getCssClassMap()}\n role=\"progressbar\"\n data-progress={this.progressPercent}\n aria-label=\"Carregando exemplo com porcentagem\"\n aria-valuemin=\"0\"\n aria-valuenow={this.progressPercent}\n aria-valuemax=\"100\"\n id={this.customId}\n >\n <div class=\"br-loading-mask full\">\n <div class=\"br-loading-fill\"></div>\n </div>\n <div class=\"br-loading-mask\">\n <div class=\"br-loading-fill\"></div>\n </div>\n </div>\n ) : (\n <div class=\"loading-progress-alignment\">\n <div\n id={this.customId}\n class={this.getCssClassMap()}\n role=\"progressbar\"\n aria-label=\"Carregando exemplo indeterminado pequeno\"\n ></div>\n <span class=\"rotulo\">{this.label}</span>\n </div>\n )}\n </Host>\n )\n }\n}\n\nlet loadingId = 0\n"]}
@@ -1,5 +1,6 @@
1
1
  /*!
2
- * Construído com @govbr-ds/webcomponents
2
+ * Construído por SERPRO
3
+ * © https://serpro.gov.br/ - MIT License.
3
4
  */
4
5
  import { h, Host } from "@stencil/core";
5
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../../src/components/message/message.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Prop } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/message?tab=designer).\n *\n * @slot default - Utilizado para inserir qualquer conteúdo que será exibido no corpo da mensagem.\n */\n@Component({\n tag: 'br-message',\n styleUrl: 'message.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Message {\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: HTMLBrMessageElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o título da mensagem, que é exibido no início, acima da mensagem principal.\n * Este título serve para destacar a mensagem textual. Não é aplicável para mensagens do tipo feedback.\n */\n @Prop({ reflect: true }) readonly messageTitle: string\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-message-${messageId++}`\n\n /**\n * Define o texto da mensagem que será exibido.\n * Este é o conteúdo principal da mensagem. A propriedade `message` é obrigatória e deve ser fornecida para que a mensagem apareça.\n */\n @Prop({ reflect: true }) readonly message!: string\n\n /**\n * Se definido como verdadeiro, o título da mensagem será exibido na mesma linha que a mensagem principal.\n * Isso pode ser útil para criar um layout onde o título e a mensagem estão alinhados horizontalmente.\n */\n @Prop({ reflect: true }) readonly isInline: boolean = false\n\n /**\n * Se definido como verdadeiro, um botão de fechar será exibido para permitir que o usuário feche a mensagem.\n * O fechamento emitirá o evento `brDidClose`, mas não removerá automaticamente o componente do DOM, a menos que a propriedade `autoRemove` também esteja definida como `true`.\n * Este recurso não está disponível para mensagens do tipo feedback.\n */\n @Prop({ reflect: true }) readonly isClosable: boolean = false\n\n /**\n * Controla o comportamento do fechamento do componente quando `isClosable` é verdadeiro.\n * - Se definido como `true`, o componente será automaticamente removido do DOM ao clicar no botão de fechar.\n * - Se definido como `false`, o componente permanecerá no DOM e apenas emitirá o evento `brDidClose`.\n *\n * Esta propriedade não tem efeito se `isClosable` for `false`.\n * O valor padrão é `false`.\n */\n @Prop({ reflect: true }) autoRemove: boolean = false\n\n /**\n * Se definido como verdadeiro, um ícone associado à mensagem será exibido.\n * Use esta propriedade para mostrar ou ocultar o ícone da mensagem conforme necessário.\n */\n @Prop({ reflect: true }) readonly showIcon: boolean = false\n\n /**\n * Define se a mensagem é do tipo feedback, geralmente usada para fornecer contexto adicional sobre ações do usuário.\n * Exemplos incluem mensagens de validação em campos de formulário. Não disponível para mensagens que não sejam de feedback.\n */\n @Prop({ reflect: true }) readonly isFeedback: boolean = false\n\n /**\n * Define o estado do message.\n * Os possíveis valores são:\n * - 'info': Mensagem informativa.\n * - 'warning': Mensagem de aviso.\n * - 'danger': Mensagem de erro ou alerta.\n * - 'success': Mensagem de sucesso.\n * O valor padrão é 'info'.\n */\n @Prop({ reflect: true }) readonly state: 'info' | 'warning' | 'danger' | 'success' = 'info'\n\n /** Evento emitido quando o usuário fecha a mensagem, se closable for true. */\n @Event() brDidClose: EventEmitter\n\n private readonly dismissHandler = () => {\n this.brDidClose.emit()\n if (this.autoRemove) {\n this.el.remove()\n }\n }\n\n private checkIconState() {\n const iconMap = {\n success: 'fa-solid:check-circle',\n warning: 'fa-solid:exclamation-triangle',\n danger: 'fa-solid:times-circle',\n info: 'fa-solid:info-circle',\n }\n return iconMap[this.state] || 'check-circle' // Valor padrão se não encontrado\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-message': true,\n [this.state]: true,\n }\n }\n\n render() {\n return (\n <Host>\n {this.isFeedback ? (\n <span class={`feedback ${this.state}`} role=\"alert\" id={this.customId}>\n {this.showIcon ? <br-icon class=\"icon-space\" icon-name={this.checkIconState()}></br-icon> : null}\n {this.message && this.message.length > 0 ? this.message : <slot></slot>}\n </span>\n ) : (\n <div class={this.getCssClassMap()} role=\"alert\" id={this.customId}>\n {this.showIcon && (\n <div class=\"icon\">\n <br-icon icon-name={this.checkIconState()} height=\"20\" aria-hidden=\"true\"></br-icon>\n </div>\n )}\n <div class=\"content\" role=\"alert\">\n {this.message && this.message.length > 0 ? (\n <div>\n {this.messageTitle && <span class=\"message-title\">{this.messageTitle}</span>}\n {this.messageTitle && !this.isInline && <br />}\n {this.message && <span class=\"message-body\">{this.message}</span>}\n </div>\n ) : (\n <div>\n {this.messageTitle && this.isInline && <strong>{this.messageTitle}</strong>}\n {this.messageTitle && !this.isInline && <br />}\n <slot></slot>\n </div>\n )}\n </div>\n {this.isClosable && !this.isFeedback && (\n <div class=\"close\">\n <br-button shape=\"circle\" type=\"button\" aria-label=\"Fechar a mensagem\" onClick={this.dismissHandler}>\n <br-icon icon-name=\"fa-solid:times\" aria-hidden=\"true\"></br-icon>\n </br-button>\n </div>\n )}\n </div>\n )}\n </Host>\n )\n }\n}\n\nlet messageId = 0\n"]}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../../packages/webcomponents/src/components/message/message.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAGvG;;;;GAIG;AAOH,MAAM,OAAO,OAAO;IAClB;;;OAGG;IACQ,EAAE,CAAsB;IAEhB,gBAAgB,CAAkB;IAErD;;;OAGG;IAC+B,YAAY,CAAQ;IAEtD;;;OAGG;IAC+B,QAAQ,GAAW,cAAc,SAAS,EAAE,EAAE,CAAA;IAEhF;;;OAGG;IAC+B,OAAO,CAAS;IAElD;;;OAGG;IAC+B,QAAQ,GAAY,KAAK,CAAA;IAE3D;;;;OAIG;IAC+B,UAAU,GAAY,KAAK,CAAA;IAE7D;;;;;;;OAOG;IACsB,UAAU,GAAY,KAAK,CAAA;IAEpD;;;OAGG;IAC+B,QAAQ,GAAY,KAAK,CAAA;IAE3D;;;OAGG;IAC+B,UAAU,GAAY,KAAK,CAAA;IAE7D;;;;;;;;OAQG;IAC+B,KAAK,GAA8C,MAAM,CAAA;IAE3F,8EAA8E;IACrE,UAAU,CAAc;IAEhB,cAAc,GAAG,GAAG,EAAE;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;QACtB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAA;QAClB,CAAC;IACH,CAAC,CAAA;IAEO,cAAc;QACpB,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,uBAAuB;YAChC,OAAO,EAAE,+BAA+B;YACxC,MAAM,EAAE,uBAAuB;YAC/B,IAAI,EAAE,sBAAsB;SAC7B,CAAA;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,cAAc,CAAA,CAAC,iCAAiC;IAChF,CAAC;IAEO,cAAc;QACpB,OAAO;YACL,YAAY,EAAE,IAAI;YAClB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI;SACnB,CAAA;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,uDACF,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CACjB,YAAM,KAAK,EAAE,YAAY,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAC,OAAO,EAAC,EAAE,EAAE,IAAI,CAAC,QAAQ;YAClE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAS,KAAK,EAAC,YAAY,eAAY,IAAI,CAAC,cAAc,EAAE,GAAY,CAAC,CAAC,CAAC,IAAI;YAC/F,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,eAAa,CAClE,CACR,CAAC,CAAC,CAAC,CACF,WAAK,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAC,OAAO,EAAC,EAAE,EAAE,IAAI,CAAC,QAAQ;YAC9D,IAAI,CAAC,QAAQ,IAAI,CAChB,WAAK,KAAK,EAAC,MAAM;gBACf,4BAAoB,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,EAAC,IAAI,iBAAa,MAAM,GAAW,CAChF,CACP;YACD,WAAK,KAAK,EAAC,SAAS,EAAC,IAAI,EAAC,OAAO,IAC9B,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACzC;gBACG,IAAI,CAAC,YAAY,IAAI,YAAM,KAAK,EAAC,eAAe,IAAE,IAAI,CAAC,YAAY,CAAQ;gBAC3E,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,aAAM;gBAC7C,IAAI,CAAC,OAAO,IAAI,YAAM,KAAK,EAAC,cAAc,IAAE,IAAI,CAAC,OAAO,CAAQ,CAC7D,CACP,CAAC,CAAC,CAAC,CACF;gBACG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,IAAI,kBAAS,IAAI,CAAC,YAAY,CAAU;gBAC1E,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,aAAM;gBAC9C,eAAa,CACT,CACP,CACG;YACL,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CACtC,WAAK,KAAK,EAAC,OAAO;gBAChB,iBAAW,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,gBAAY,mBAAmB,EAAC,OAAO,EAAE,IAAI,CAAC,cAAc;oBACjG,4BAAmB,gBAAgB,iBAAa,MAAM,GAAW,CACvD,CACR,CACP,CACG,CACP,CACI,CACR,CAAA;IACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF;AAED,IAAI,SAAS,GAAG,CAAC,CAAA","sourcesContent":["import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Prop } from '@stencil/core'\n\nimport { CssClassMap } from '../../utils/interfaces'\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/message?tab=designer).\n *\n * @slot default - Utilizado para inserir qualquer conteúdo que será exibido no corpo da mensagem.\n */\n@Component({\n tag: 'br-message',\n styleUrl: 'message.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Message {\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: HTMLBrMessageElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o título da mensagem, que é exibido no início, acima da mensagem principal.\n * Este título serve para destacar a mensagem textual. Não é aplicável para mensagens do tipo feedback.\n */\n @Prop({ reflect: true }) readonly messageTitle: string\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-message-${messageId++}`\n\n /**\n * Define o texto da mensagem que será exibido.\n * Este é o conteúdo principal da mensagem. A propriedade `message` é obrigatória e deve ser fornecida para que a mensagem apareça.\n */\n @Prop({ reflect: true }) readonly message!: string\n\n /**\n * Se definido como verdadeiro, o título da mensagem será exibido na mesma linha que a mensagem principal.\n * Isso pode ser útil para criar um layout onde o título e a mensagem estão alinhados horizontalmente.\n */\n @Prop({ reflect: true }) readonly isInline: boolean = false\n\n /**\n * Se definido como verdadeiro, um botão de fechar será exibido para permitir que o usuário feche a mensagem.\n * O fechamento emitirá o evento `brDidClose`, mas não removerá automaticamente o componente do DOM, a menos que a propriedade `autoRemove` também esteja definida como `true`.\n * Este recurso não está disponível para mensagens do tipo feedback.\n */\n @Prop({ reflect: true }) readonly isClosable: boolean = false\n\n /**\n * Controla o comportamento do fechamento do componente quando `isClosable` é verdadeiro.\n * - Se definido como `true`, o componente será automaticamente removido do DOM ao clicar no botão de fechar.\n * - Se definido como `false`, o componente permanecerá no DOM e apenas emitirá o evento `brDidClose`.\n *\n * Esta propriedade não tem efeito se `isClosable` for `false`.\n * O valor padrão é `false`.\n */\n @Prop({ reflect: true }) autoRemove: boolean = false\n\n /**\n * Se definido como verdadeiro, um ícone associado à mensagem será exibido.\n * Use esta propriedade para mostrar ou ocultar o ícone da mensagem conforme necessário.\n */\n @Prop({ reflect: true }) readonly showIcon: boolean = false\n\n /**\n * Define se a mensagem é do tipo feedback, geralmente usada para fornecer contexto adicional sobre ações do usuário.\n * Exemplos incluem mensagens de validação em campos de formulário. Não disponível para mensagens que não sejam de feedback.\n */\n @Prop({ reflect: true }) readonly isFeedback: boolean = false\n\n /**\n * Define o estado do message.\n * Os possíveis valores são:\n * - 'info': Mensagem informativa.\n * - 'warning': Mensagem de aviso.\n * - 'danger': Mensagem de erro ou alerta.\n * - 'success': Mensagem de sucesso.\n * O valor padrão é 'info'.\n */\n @Prop({ reflect: true }) readonly state: 'info' | 'warning' | 'danger' | 'success' = 'info'\n\n /** Evento emitido quando o usuário fecha a mensagem, se closable for true. */\n @Event() brDidClose: EventEmitter\n\n private readonly dismissHandler = () => {\n this.brDidClose.emit()\n if (this.autoRemove) {\n this.el.remove()\n }\n }\n\n private checkIconState() {\n const iconMap = {\n success: 'fa-solid:check-circle',\n warning: 'fa-solid:exclamation-triangle',\n danger: 'fa-solid:times-circle',\n info: 'fa-solid:info-circle',\n }\n return iconMap[this.state] || 'check-circle' // Valor padrão se não encontrado\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-message': true,\n [this.state]: true,\n }\n }\n\n render() {\n return (\n <Host>\n {this.isFeedback ? (\n <span class={`feedback ${this.state}`} role=\"alert\" id={this.customId}>\n {this.showIcon ? <br-icon class=\"icon-space\" icon-name={this.checkIconState()}></br-icon> : null}\n {this.message && this.message.length > 0 ? this.message : <slot></slot>}\n </span>\n ) : (\n <div class={this.getCssClassMap()} role=\"alert\" id={this.customId}>\n {this.showIcon && (\n <div class=\"icon\">\n <br-icon icon-name={this.checkIconState()} height=\"20\" aria-hidden=\"true\"></br-icon>\n </div>\n )}\n <div class=\"content\" role=\"alert\">\n {this.message && this.message.length > 0 ? (\n <div>\n {this.messageTitle && <span class=\"message-title\">{this.messageTitle}</span>}\n {this.messageTitle && !this.isInline && <br />}\n {this.message && <span class=\"message-body\">{this.message}</span>}\n </div>\n ) : (\n <div>\n {this.messageTitle && this.isInline && <strong>{this.messageTitle}</strong>}\n {this.messageTitle && !this.isInline && <br />}\n <slot></slot>\n </div>\n )}\n </div>\n {this.isClosable && !this.isFeedback && (\n <div class=\"close\">\n <br-button shape=\"circle\" type=\"button\" aria-label=\"Fechar a mensagem\" onClick={this.dismissHandler}>\n <br-icon icon-name=\"fa-solid:times\" aria-hidden=\"true\"></br-icon>\n </br-button>\n </div>\n )}\n </div>\n )}\n </Host>\n )\n }\n}\n\nlet messageId = 0\n"]}
@@ -1,5 +1,6 @@
1
1
  /*!
2
- * Construído com @govbr-ds/webcomponents
2
+ * Construído por SERPRO
3
+ * © https://serpro.gov.br/ - MIT License.
3
4
  */
4
5
  import { h, Host } from "@stencil/core";
5
6
  /**
@@ -60,15 +61,10 @@ export class Radio {
60
61
  /**
61
62
  * Disparado depois que o valor do `checked` foi alterado
62
63
  */
63
- // @Event({ bubbles: true, composed: true }) checkedChange: EventEmitter<{
64
- // id: string;
65
- // name: string;
66
- // value: string;
67
- // checked: boolean
68
- // }>
69
64
  checkedChange;
70
65
  handleCheckedChange(event) {
71
- if (event.detail.id !== this.customId && event.detail.name === this.name) {
66
+ if (event.target.customId !== this.customId &&
67
+ event.target.name === this.name) {
72
68
  this.checked = false;
73
69
  }
74
70
  }
@@ -77,7 +73,6 @@ export class Radio {
77
73
  */
78
74
  async toggleChecked() {
79
75
  this.checked = !this.checked;
80
- //this.checkedChange.emit({ id: this.customId, name: this.name, value: this.value, checked: this.checked })
81
76
  this.checkedChange.emit(this.checked);
82
77
  }
83
78
  getCssClassMap() {
@@ -101,11 +96,10 @@ export class Radio {
101
96
  * Handler para o evento `change`
102
97
  */
103
98
  onChange = () => {
104
- //this.checkedChange.emit({ id: this.customId, name: this.name, value: this.value, checked: this.checked })
105
99
  this.checkedChange.emit(this.checked);
106
100
  };
107
101
  render() {
108
- return (h(Host, { key: 'ff26f0505dfac5467aaa56d705efc07b601409f5', "aria-disabled": this.disabled ? 'true' : null }, h("div", { key: '7ab19e9c72e0a45d033f09a1baa54bd28618017f', class: this.getCssClassMap() }, h("input", { key: 'eaabe5e6b51766414b038a45a14e887a0b32d0c7', part: "radio-input", "aria-label": this.label, type: "radio", id: this.customId, name: this.name, checked: this.checked, disabled: this.disabled, value: this.value, onClick: this.onClick, onChange: this.onChange }), h("label", { key: 'bfdde6834a63f4aa37b8db3f788aa61bc11cd0ab', part: "radio-label", htmlFor: this.customId }, h("slot", { key: 'd69d618858de8ab091b8369855e3278220453dbe' }, this.label)))));
102
+ return (h(Host, { key: '5c01459f2c83324a9de59ec3c4a68373e7580920', "aria-disabled": this.disabled ? 'true' : null }, h("div", { key: 'dd55aefc48e4aeaa05c1a6173e83a5a980cbb593', class: this.getCssClassMap() }, h("input", { key: '94e1817ad64a9f7ce91f1645c9f464e65d449c35', part: "radio-input", "aria-label": this.label, type: "radio", id: this.customId, name: this.name, checked: this.checked, disabled: this.disabled, value: this.value, onClick: this.onClick, onChange: this.onChange }), h("label", { key: '0ffe8b7582f604b2bcc0bdaee73605de1666f551', part: "radio-label", htmlFor: this.customId }, h("slot", { key: '7ecd5b2e088a137080c5cf9fd391f884c03c4d3d' }, this.label)))));
109
103
  }
110
104
  static get is() { return "br-radio"; }
111
105
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../../../../src/components/radio/radio.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop } 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/radio?tab=designer).\n *\n * @slot default - O texto descritivo pode ser passado por propriedade (label) ou por slot.\n */\n\n@Component({\n tag: 'br-radio',\n styleUrl: 'radio.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Radio {\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: HTMLBrRadioElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o estado de seleção do radio.\n * Se definido como verdadeiro, o radio estará marcado. Caso contrário, estará desmarcado.\n */\n @Prop({ reflect: true, mutable: true }) checked: boolean = false\n\n /**\n * Desativa o radio, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Indica a validade do radio.\n * Valores possíveis:\n * - 'valid': O radio é considerado válido.\n * - 'invalid': O radio é considerado inválido.\n * Se não for especificado, o valor padrão é `null`, indicando que a validade não foi definida.\n */\n @Prop({ reflect: true }) readonly state: 'valid' | 'invalid'\n\n /**\n * Define se o label associado ao radio deve ser oculto.\n * Se definido como verdadeiro, o texto do label será oculto, mas o radio ainda estará visível e funcional.\n */\n @Prop({ reflect: true, attribute: 'has-hidden-label' }) readonly hasHiddenLabel: boolean = false\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-radio-${radioId++}`\n\n /**\n * Define o nome do radio, que é utilizado para agrupar radios em formulários e identificar o campo.\n * O valor é obrigatório e deve ser fornecido para garantir o correto funcionamento em formulários.\n */\n\n @Prop({ reflect: true }) readonly name!: string\n\n /**\n * Texto descritivo exibido à direita do radio.\n * Caso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado.\n */\n @Prop({ reflect: true }) readonly label: string\n\n /**\n * Define o valor associado ao radio quando ele faz parte de um formulário nativo (`<form>`).\n * Esse valor é enviado com o formulário quando o radio está selecionado.\n * **Nota:** Esta propriedade não deve ser utilizada para determinar se o radio está selecionado; para verificar o estado de seleção, use a propriedade `checked`.\n */\n @Prop({ reflect: true }) readonly value: string\n\n /**\n * Disparado depois que o valor do `checked` foi alterado\n */\n // @Event({ bubbles: true, composed: true }) checkedChange: EventEmitter<{\n // id: string;\n // name: string;\n // value: string;\n // checked: boolean\n // }>\n @Event({ bubbles: true, composed: true }) checkedChange: EventEmitter<boolean>\n\n @Listen('checkedChange', { target: 'window' })\n handleCheckedChange(event: CustomEvent) {\n if (event.detail.id !== this.customId && event.detail.name === this.name) {\n this.checked = false\n }\n }\n\n /**\n * Inverte o valor da prop `checked`\n */\n @Method()\n async toggleChecked() {\n this.checked = !this.checked\n //this.checkedChange.emit({ id: this.customId, name: this.name, value: this.value, checked: this.checked })\n this.checkedChange.emit(this.checked)\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-radio': true,\n valid: this.state === 'valid',\n invalid: this.state === 'invalid',\n disabled: this.disabled,\n 'hidden-label': this.hasHiddenLabel,\n }\n }\n\n /**\n * Handler para o event `click`\n * @param event Objeto Event\n */\n private readonly onClick = (event: MouseEvent) => {\n event.stopPropagation()\n this.checked = (event.target as HTMLInputElement).checked\n }\n\n /**\n * Handler para o evento `change`\n */\n private readonly onChange = () => {\n //this.checkedChange.emit({ id: this.customId, name: this.name, value: this.value, checked: this.checked })\n this.checkedChange.emit(this.checked)\n }\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null}>\n <div class={this.getCssClassMap()}>\n <input\n part=\"radio-input\"\n aria-label={this.label}\n type=\"radio\"\n id={this.customId}\n name={this.name}\n checked={this.checked}\n disabled={this.disabled}\n value={this.value}\n onClick={this.onClick}\n onChange={this.onChange}\n />\n <label part=\"radio-label\" htmlFor={this.customId}>\n <slot>{this.label}</slot>\n </label>\n </div>\n </Host>\n )\n }\n}\n\nlet radioId = 0\n"]}
1
+ {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../../../../packages/webcomponents/src/components/radio/radio.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop } 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/radio?tab=designer).\n *\n * @slot default - O texto descritivo pode ser passado por propriedade (label) ou por slot.\n */\n\n@Component({\n tag: 'br-radio',\n styleUrl: 'radio.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Radio {\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: HTMLBrRadioElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o estado de seleção do radio.\n * Se definido como verdadeiro, o radio estará marcado. Caso contrário, estará desmarcado.\n */\n @Prop({ reflect: true, mutable: true }) checked: boolean = false\n\n /**\n * Desativa o radio, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Indica a validade do radio.\n * Valores possíveis:\n * - 'valid': O radio é considerado válido.\n * - 'invalid': O radio é considerado inválido.\n * Se não for especificado, o valor padrão é `null`, indicando que a validade não foi definida.\n */\n @Prop({ reflect: true }) readonly state: 'valid' | 'invalid'\n\n /**\n * Define se o label associado ao radio deve ser oculto.\n * Se definido como verdadeiro, o texto do label será oculto, mas o radio ainda estará visível e funcional.\n */\n @Prop({ reflect: true, attribute: 'has-hidden-label' }) readonly hasHiddenLabel: boolean = false\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-radio-${radioId++}`\n\n /**\n * Define o nome do radio, que é utilizado para agrupar radios em formulários e identificar o campo.\n * O valor é obrigatório e deve ser fornecido para garantir o correto funcionamento em formulários.\n */\n\n @Prop({ reflect: true }) readonly name!: string\n\n /**\n * Texto descritivo exibido à direita do radio.\n * Caso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado.\n */\n @Prop({ reflect: true }) readonly label: string\n\n /**\n * Define o valor associado ao radio quando ele faz parte de um formulário nativo (`<form>`).\n * Esse valor é enviado com o formulário quando o radio está selecionado.\n * **Nota:** Esta propriedade não deve ser utilizada para determinar se o radio está selecionado; para verificar o estado de seleção, use a propriedade `checked`.\n */\n @Prop({ reflect: true }) readonly value: string\n\n /**\n * Disparado depois que o valor do `checked` foi alterado\n */\n @Event({ bubbles: true, composed: true }) checkedChange: EventEmitter<boolean>\n\n @Listen('checkedChange', { target: 'window' })\n handleCheckedChange(event: CustomEvent) {\n if (\n (event.target as HTMLBrRadioElement).customId !== this.customId &&\n (event.target as HTMLBrRadioElement).name === this.name\n ) {\n this.checked = false\n }\n }\n\n /**\n * Inverte o valor da prop `checked`\n */\n @Method()\n async toggleChecked() {\n this.checked = !this.checked\n this.checkedChange.emit(this.checked)\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-radio': true,\n valid: this.state === 'valid',\n invalid: this.state === 'invalid',\n disabled: this.disabled,\n 'hidden-label': this.hasHiddenLabel,\n }\n }\n\n /**\n * Handler para o event `click`\n * @param event Objeto Event\n */\n private readonly onClick = (event: MouseEvent) => {\n event.stopPropagation()\n this.checked = (event.target as HTMLInputElement).checked\n }\n\n /**\n * Handler para o evento `change`\n */\n private readonly onChange = () => {\n this.checkedChange.emit(this.checked)\n }\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null}>\n <div class={this.getCssClassMap()}>\n <input\n part=\"radio-input\"\n aria-label={this.label}\n type=\"radio\"\n id={this.customId}\n name={this.name}\n checked={this.checked}\n disabled={this.disabled}\n value={this.value}\n onClick={this.onClick}\n onChange={this.onChange}\n />\n <label part=\"radio-label\" htmlFor={this.customId}>\n <slot>{this.label}</slot>\n </label>\n </div>\n </Host>\n )\n }\n}\n\nlet radioId = 0\n"]}
@@ -1,5 +1,6 @@
1
1
  /*!
2
- * Construído com @govbr-ds/webcomponents
2
+ * Construído por SERPRO
3
+ * © https://serpro.gov.br/ - MIT License.
3
4
  */
4
5
  import { h } from "@stencil/core";
5
6
  export class Select {
@@ -22,22 +23,9 @@ export class Select {
22
23
  */
23
24
  isMultiple = false;
24
25
  /**
25
- * Define as opções disponíveis no componente de seleção.
26
- * Pode ser fornecida como:
27
- * - Uma **string** contendo um JSON válido que será analisado em um array de objetos. Exemplo: `'[{"label": "Opção 1", "value": "1"}]'.
28
- * - Um **array de objetos**, onde cada objeto representa uma opção com as propriedades:
29
- * - `label`: O texto exibido para o usuário (obrigatório).
30
- * - `value`: O valor associado à opção (obrigatório).
31
- * - `selected`: Um boolean opcional que indica se a opção está pré-selecionada (padrão: `false`).
32
- * Se uma string for fornecida, ela será convertida internamente para um array via `JSON.parse`. Caso o formato seja inválido, um erro será registrado e as opções serão definidas como um array vazio.
33
- * Exemplo de uso:
34
- * ```typescript
35
- * options='[{"label": "Sim", "value": "1"}, {"label": "Não", "value": "0"}]'
36
- * // ou
37
- * options=[{ label: "Sim", value: "1" }, { label: "Não", value: "0" }]
38
- * ```
26
+ * Define as opções do componente de seleção.
39
27
  */
40
- options = [];
28
+ options;
41
29
  /**
42
30
  * Rótulo para selecionar todas as opções.
43
31
  */
@@ -306,7 +294,7 @@ export class Select {
306
294
  };
307
295
  }
308
296
  render() {
309
- return (h("div", { key: '6c3ae1f0253449c24d217932585ba324bbe02bfe', class: this.getCssClassMap(), id: this.getComputedId() }, this.renderInput(), this.isExpanded && (h("br-list", { key: 'fd5203ab0a4283e0728df7d2baebc32233d4063e', tabindex: -1, onKeyDown: (event) => this.handleKeydownOnList(event) }, this.isMultiple && this.renderSelectAllCheckbox(), this.renderOptions()))));
297
+ return (h("div", { key: 'b8e135609d99f046b85d937598d464bbe16db026', class: this.getCssClassMap(), id: this.getComputedId() }, this.renderInput(), this.isExpanded && (h("br-list", { key: 'b098c22d8e06b6ab3ba212ee11f22005ec45316a', tabindex: -1, onKeyDown: (event) => this.handleKeydownOnList(event) }, this.isMultiple && this.renderSelectAllCheckbox(), this.renderOptions()))));
310
298
  }
311
299
  static get is() { return "br-select"; }
312
300
  static get encapsulation() { return "shadow"; }
@@ -383,24 +371,21 @@ export class Select {
383
371
  "defaultValue": "false"
384
372
  },
385
373
  "options": {
386
- "type": "string",
374
+ "type": "unknown",
387
375
  "mutable": false,
388
376
  "complexType": {
389
- "original": "| string\n | {\n label: string\n value: string\n selected?: boolean\n }[]",
390
- "resolved": "string | { label: string; value: string; selected?: boolean; }[]",
377
+ "original": "{ label: string; value: string; selected?: boolean }[]",
378
+ "resolved": "{ label: string; value: string; selected?: boolean; }[]",
391
379
  "references": {}
392
380
  },
393
381
  "required": false,
394
382
  "optional": false,
395
383
  "docs": {
396
384
  "tags": [],
397
- "text": "Define as op\u00E7\u00F5es dispon\u00EDveis no componente de sele\u00E7\u00E3o.\nPode ser fornecida como:\n- Uma **string** contendo um JSON v\u00E1lido que ser\u00E1 analisado em um array de objetos. Exemplo: `'[{\"label\": \"Op\u00E7\u00E3o 1\", \"value\": \"1\"}]'.\n- Um **array de objetos**, onde cada objeto representa uma op\u00E7\u00E3o com as propriedades:\n - `label`: O texto exibido para o usu\u00E1rio (obrigat\u00F3rio).\n - `value`: O valor associado \u00E0 op\u00E7\u00E3o (obrigat\u00F3rio).\n - `selected`: Um boolean opcional que indica se a op\u00E7\u00E3o est\u00E1 pr\u00E9-selecionada (padr\u00E3o: `false`).\nSe uma string for fornecida, ela ser\u00E1 convertida internamente para um array via `JSON.parse`. Caso o formato seja inv\u00E1lido, um erro ser\u00E1 registrado e as op\u00E7\u00F5es ser\u00E3o definidas como um array vazio.\nExemplo de uso:\n```typescript\noptions='[{\"label\": \"Sim\", \"value\": \"1\"}, {\"label\": \"N\u00E3o\", \"value\": \"0\"}]'\n// ou\noptions=[{ label: \"Sim\", value: \"1\" }, { label: \"N\u00E3o\", value: \"0\" }]\n```"
385
+ "text": "Define as op\u00E7\u00F5es do componente de sele\u00E7\u00E3o."
398
386
  },
399
387
  "getter": false,
400
- "setter": false,
401
- "attribute": "options",
402
- "reflect": true,
403
- "defaultValue": "[]"
388
+ "setter": false
404
389
  },
405
390
  "selectAllLabel": {
406
391
  "type": "string",