@govbr-ds/webcomponents 2.0.0-next.22 → 2.0.0-next.23

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 (400) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +99 -90
  3. package/package.json +15 -51
  4. package/dist/cjs/app-globals-77a217c6.js +0 -11
  5. package/dist/cjs/app-globals-77a217c6.js.map +0 -1
  6. package/dist/cjs/br-avatar.cjs.entry.js +0 -77
  7. package/dist/cjs/br-avatar.cjs.entry.js.map +0 -1
  8. package/dist/cjs/br-button_2.cjs.entry.js +0 -2610
  9. package/dist/cjs/br-button_2.cjs.entry.js.map +0 -1
  10. package/dist/cjs/br-checkbox.cjs.entry.js +0 -76
  11. package/dist/cjs/br-checkbox.cjs.entry.js.map +0 -1
  12. package/dist/cjs/br-checkgroup.cjs.entry.js +0 -101
  13. package/dist/cjs/br-checkgroup.cjs.entry.js.map +0 -1
  14. package/dist/cjs/br-dropdown.cjs.entry.js +0 -100
  15. package/dist/cjs/br-dropdown.cjs.entry.js.map +0 -1
  16. package/dist/cjs/br-input_3.cjs.entry.js +0 -284
  17. package/dist/cjs/br-input_3.cjs.entry.js.map +0 -1
  18. package/dist/cjs/br-item.cjs.entry.js +0 -166
  19. package/dist/cjs/br-item.cjs.entry.js.map +0 -1
  20. package/dist/cjs/br-loading.cjs.entry.js +0 -43
  21. package/dist/cjs/br-loading.cjs.entry.js.map +0 -1
  22. package/dist/cjs/br-message.cjs.entry.js +0 -68
  23. package/dist/cjs/br-message.cjs.entry.js.map +0 -1
  24. package/dist/cjs/br-select.cjs.entry.js +0 -281
  25. package/dist/cjs/br-select.cjs.entry.js.map +0 -1
  26. package/dist/cjs/br-switch.cjs.entry.js +0 -84
  27. package/dist/cjs/br-switch.cjs.entry.js.map +0 -1
  28. package/dist/cjs/br-tag.cjs.entry.js +0 -88
  29. package/dist/cjs/br-tag.cjs.entry.js.map +0 -1
  30. package/dist/cjs/br-textarea.cjs.entry.js +0 -102
  31. package/dist/cjs/br-textarea.cjs.entry.js.map +0 -1
  32. package/dist/cjs/br-upload.cjs.entry.js +0 -168
  33. package/dist/cjs/br-upload.cjs.entry.js.map +0 -1
  34. package/dist/cjs/index-4fc1aab1.js +0 -2091
  35. package/dist/cjs/index-4fc1aab1.js.map +0 -1
  36. package/dist/cjs/index.cjs.js +0 -8
  37. package/dist/cjs/index.cjs.js.map +0 -1
  38. package/dist/cjs/inherited-attributes-16f7d388.js +0 -107
  39. package/dist/cjs/inherited-attributes-16f7d388.js.map +0 -1
  40. package/dist/cjs/loader.cjs.js +0 -21
  41. package/dist/cjs/loader.cjs.js.map +0 -1
  42. package/dist/cjs/v4-2a0fe526.js +0 -74
  43. package/dist/cjs/v4-2a0fe526.js.map +0 -1
  44. package/dist/cjs/webcomponents.cjs.js +0 -52
  45. package/dist/cjs/webcomponents.cjs.js.map +0 -1
  46. package/dist/collection/collection-manifest.json +0 -28
  47. package/dist/collection/components/avatar/avatar.css +0 -548
  48. package/dist/collection/components/avatar/avatar.js +0 -238
  49. package/dist/collection/components/avatar/avatar.js.map +0 -1
  50. package/dist/collection/components/button/button.css +0 -810
  51. package/dist/collection/components/button/button.js +0 -254
  52. package/dist/collection/components/button/button.js.map +0 -1
  53. package/dist/collection/components/checkbox/checkbox.css +0 -605
  54. package/dist/collection/components/checkbox/checkbox.js +0 -297
  55. package/dist/collection/components/checkbox/checkbox.js.map +0 -1
  56. package/dist/collection/components/checkgroup/checkgroup.css +0 -605
  57. package/dist/collection/components/checkgroup/checkgroup.js +0 -197
  58. package/dist/collection/components/checkgroup/checkgroup.js.map +0 -1
  59. package/dist/collection/components/dropdown/dropdown.css +0 -475
  60. package/dist/collection/components/dropdown/dropdown.js +0 -187
  61. package/dist/collection/components/dropdown/dropdown.js.map +0 -1
  62. package/dist/collection/components/icon/icon.css +0 -460
  63. package/dist/collection/components/icon/icon.js +0 -190
  64. package/dist/collection/components/icon/icon.js.map +0 -1
  65. package/dist/collection/components/input/input.css +0 -681
  66. package/dist/collection/components/input/input.js +0 -626
  67. package/dist/collection/components/input/input.js.map +0 -1
  68. package/dist/collection/components/item/item.css +0 -670
  69. package/dist/collection/components/item/item.js +0 -422
  70. package/dist/collection/components/item/item.js.map +0 -1
  71. package/dist/collection/components/list/list.css +0 -572
  72. package/dist/collection/components/list/list.js +0 -144
  73. package/dist/collection/components/list/list.js.map +0 -1
  74. package/dist/collection/components/loading/loading.css +0 -661
  75. package/dist/collection/components/loading/loading.js +0 -127
  76. package/dist/collection/components/loading/loading.js.map +0 -1
  77. package/dist/collection/components/message/message.css +0 -608
  78. package/dist/collection/components/message/message.js +0 -225
  79. package/dist/collection/components/message/message.js.map +0 -1
  80. package/dist/collection/components/radio/radio.css +0 -560
  81. package/dist/collection/components/radio/radio.js +0 -263
  82. package/dist/collection/components/radio/radio.js.map +0 -1
  83. package/dist/collection/components/select/select.css +0 -865
  84. package/dist/collection/components/select/select.js +0 -509
  85. package/dist/collection/components/select/select.js.map +0 -1
  86. package/dist/collection/components/switch/switch.css +0 -631
  87. package/dist/collection/components/switch/switch.js +0 -345
  88. package/dist/collection/components/switch/switch.js.map +0 -1
  89. package/dist/collection/components/tag/tag.css +0 -653
  90. package/dist/collection/components/tag/tag.js +0 -272
  91. package/dist/collection/components/tag/tag.js.map +0 -1
  92. package/dist/collection/components/textarea/textarea.css +0 -526
  93. package/dist/collection/components/textarea/textarea.js +0 -316
  94. package/dist/collection/components/textarea/textarea.js.map +0 -1
  95. package/dist/collection/components/upload/upload.css +0 -570
  96. package/dist/collection/components/upload/upload.js +0 -479
  97. package/dist/collection/components/upload/upload.js.map +0 -1
  98. package/dist/collection/index.js +0 -2
  99. package/dist/collection/index.js.map +0 -1
  100. package/dist/collection/pages/components/button/index.js +0 -18
  101. package/dist/collection/pages/components/checkbox/index.js +0 -18
  102. package/dist/collection/pages/components/checkgroup/index.js +0 -20
  103. package/dist/collection/pages/components/dropdown/index.js +0 -18
  104. package/dist/collection/pages/components/icon/index.js +0 -18
  105. package/dist/collection/pages/components/input/index.js +0 -27
  106. package/dist/collection/pages/components/item/index.js +0 -18
  107. package/dist/collection/pages/components/list/index.js +0 -19
  108. package/dist/collection/pages/components/message/index.js +0 -18
  109. package/dist/collection/pages/components/radio/index.js +0 -18
  110. package/dist/collection/pages/components/select/index.js +0 -18
  111. package/dist/collection/pages/components/switch/index.js +0 -18
  112. package/dist/collection/pages/components/tag/index.js +0 -18
  113. package/dist/collection/pages/components/textarea/index.js +0 -19
  114. package/dist/collection/pages/components/upload/index.js +0 -19
  115. package/dist/collection/pages/scripts/menu.js +0 -241
  116. package/dist/collection/pages/scripts/pageLoader.js +0 -180
  117. package/dist/collection/utils/inherited-attributes.js +0 -102
  118. package/dist/collection/utils/inherited-attributes.js.map +0 -1
  119. package/dist/collection/utils/interfaces.js +0 -2
  120. package/dist/collection/utils/interfaces.js.map +0 -1
  121. package/dist/collection/utils/unique-id-generator.js +0 -13
  122. package/dist/collection/utils/unique-id-generator.js.map +0 -1
  123. package/dist/components/br-avatar.d.ts +0 -11
  124. package/dist/components/br-avatar.js +0 -6
  125. package/dist/components/br-avatar.js.map +0 -1
  126. package/dist/components/br-button.d.ts +0 -11
  127. package/dist/components/br-button.js +0 -6
  128. package/dist/components/br-button.js.map +0 -1
  129. package/dist/components/br-checkbox.d.ts +0 -11
  130. package/dist/components/br-checkbox.js +0 -6
  131. package/dist/components/br-checkbox.js.map +0 -1
  132. package/dist/components/br-checkgroup.d.ts +0 -11
  133. package/dist/components/br-checkgroup.js +0 -6
  134. package/dist/components/br-checkgroup.js.map +0 -1
  135. package/dist/components/br-dropdown.d.ts +0 -11
  136. package/dist/components/br-dropdown.js +0 -6
  137. package/dist/components/br-dropdown.js.map +0 -1
  138. package/dist/components/br-icon.d.ts +0 -11
  139. package/dist/components/br-icon.js +0 -6
  140. package/dist/components/br-icon.js.map +0 -1
  141. package/dist/components/br-input.d.ts +0 -11
  142. package/dist/components/br-input.js +0 -6
  143. package/dist/components/br-input.js.map +0 -1
  144. package/dist/components/br-item.d.ts +0 -11
  145. package/dist/components/br-item.js +0 -6
  146. package/dist/components/br-item.js.map +0 -1
  147. package/dist/components/br-list.d.ts +0 -11
  148. package/dist/components/br-list.js +0 -6
  149. package/dist/components/br-list.js.map +0 -1
  150. package/dist/components/br-loading.d.ts +0 -11
  151. package/dist/components/br-loading.js +0 -6
  152. package/dist/components/br-loading.js.map +0 -1
  153. package/dist/components/br-message.d.ts +0 -11
  154. package/dist/components/br-message.js +0 -6
  155. package/dist/components/br-message.js.map +0 -1
  156. package/dist/components/br-radio.d.ts +0 -11
  157. package/dist/components/br-radio.js +0 -6
  158. package/dist/components/br-radio.js.map +0 -1
  159. package/dist/components/br-select.d.ts +0 -11
  160. package/dist/components/br-select.js +0 -6
  161. package/dist/components/br-select.js.map +0 -1
  162. package/dist/components/br-switch.d.ts +0 -11
  163. package/dist/components/br-switch.js +0 -6
  164. package/dist/components/br-switch.js.map +0 -1
  165. package/dist/components/br-tag.d.ts +0 -11
  166. package/dist/components/br-tag.js +0 -6
  167. package/dist/components/br-tag.js.map +0 -1
  168. package/dist/components/br-textarea.d.ts +0 -11
  169. package/dist/components/br-textarea.js +0 -6
  170. package/dist/components/br-textarea.js.map +0 -1
  171. package/dist/components/br-upload.d.ts +0 -11
  172. package/dist/components/br-upload.js +0 -6
  173. package/dist/components/br-upload.js.map +0 -1
  174. package/dist/components/index.d.ts +0 -33
  175. package/dist/components/index.js +0 -6
  176. package/dist/components/index.js.map +0 -1
  177. package/dist/components/p-126ad66d.js +0 -17
  178. package/dist/components/p-126ad66d.js.map +0 -1
  179. package/dist/components/p-184a3074.js +0 -6
  180. package/dist/components/p-184a3074.js.map +0 -1
  181. package/dist/components/p-5cb170a7.js +0 -6
  182. package/dist/components/p-5cb170a7.js.map +0 -1
  183. package/dist/components/p-65616dbd.js +0 -7
  184. package/dist/components/p-65616dbd.js.map +0 -1
  185. package/dist/components/p-65c54cc8.js +0 -6
  186. package/dist/components/p-65c54cc8.js.map +0 -1
  187. package/dist/components/p-74a4eb38.js +0 -6
  188. package/dist/components/p-74a4eb38.js.map +0 -1
  189. package/dist/components/p-a6dcabb0.js +0 -6
  190. package/dist/components/p-a6dcabb0.js.map +0 -1
  191. package/dist/components/p-ace62688.js +0 -6
  192. package/dist/components/p-ace62688.js.map +0 -1
  193. package/dist/components/p-d5a8d30c.js +0 -6
  194. package/dist/components/p-d5a8d30c.js.map +0 -1
  195. package/dist/esm/app-globals-72548b13.js +0 -9
  196. package/dist/esm/app-globals-72548b13.js.map +0 -1
  197. package/dist/esm/br-avatar.entry.js +0 -73
  198. package/dist/esm/br-avatar.entry.js.map +0 -1
  199. package/dist/esm/br-button_2.entry.js +0 -2605
  200. package/dist/esm/br-button_2.entry.js.map +0 -1
  201. package/dist/esm/br-checkbox.entry.js +0 -72
  202. package/dist/esm/br-checkbox.entry.js.map +0 -1
  203. package/dist/esm/br-checkgroup.entry.js +0 -97
  204. package/dist/esm/br-checkgroup.entry.js.map +0 -1
  205. package/dist/esm/br-dropdown.entry.js +0 -96
  206. package/dist/esm/br-dropdown.entry.js.map +0 -1
  207. package/dist/esm/br-input_3.entry.js +0 -278
  208. package/dist/esm/br-input_3.entry.js.map +0 -1
  209. package/dist/esm/br-item.entry.js +0 -162
  210. package/dist/esm/br-item.entry.js.map +0 -1
  211. package/dist/esm/br-loading.entry.js +0 -39
  212. package/dist/esm/br-loading.entry.js.map +0 -1
  213. package/dist/esm/br-message.entry.js +0 -64
  214. package/dist/esm/br-message.entry.js.map +0 -1
  215. package/dist/esm/br-select.entry.js +0 -277
  216. package/dist/esm/br-select.entry.js.map +0 -1
  217. package/dist/esm/br-switch.entry.js +0 -80
  218. package/dist/esm/br-switch.entry.js.map +0 -1
  219. package/dist/esm/br-tag.entry.js +0 -84
  220. package/dist/esm/br-tag.entry.js.map +0 -1
  221. package/dist/esm/br-textarea.entry.js +0 -98
  222. package/dist/esm/br-textarea.entry.js.map +0 -1
  223. package/dist/esm/br-upload.entry.js +0 -164
  224. package/dist/esm/br-upload.entry.js.map +0 -1
  225. package/dist/esm/index-45af9b53.js +0 -2061
  226. package/dist/esm/index-45af9b53.js.map +0 -1
  227. package/dist/esm/index.js +0 -6
  228. package/dist/esm/index.js.map +0 -1
  229. package/dist/esm/inherited-attributes-553a7c36.js +0 -105
  230. package/dist/esm/inherited-attributes-553a7c36.js.map +0 -1
  231. package/dist/esm/loader.js +0 -17
  232. package/dist/esm/loader.js.map +0 -1
  233. package/dist/esm/polyfills/core-js.js +0 -11
  234. package/dist/esm/polyfills/dom.js +0 -79
  235. package/dist/esm/polyfills/es5-html-element.js +0 -1
  236. package/dist/esm/polyfills/index.js +0 -34
  237. package/dist/esm/polyfills/system.js +0 -6
  238. package/dist/esm/v4-c99c1585.js +0 -72
  239. package/dist/esm/v4-c99c1585.js.map +0 -1
  240. package/dist/esm/webcomponents.js +0 -47
  241. package/dist/esm/webcomponents.js.map +0 -1
  242. package/dist/esm-es5/app-globals-72548b13.js +0 -6
  243. package/dist/esm-es5/app-globals-72548b13.js.map +0 -1
  244. package/dist/esm-es5/br-avatar.entry.js +0 -6
  245. package/dist/esm-es5/br-avatar.entry.js.map +0 -1
  246. package/dist/esm-es5/br-button_2.entry.js +0 -17
  247. package/dist/esm-es5/br-button_2.entry.js.map +0 -1
  248. package/dist/esm-es5/br-checkbox.entry.js +0 -6
  249. package/dist/esm-es5/br-checkbox.entry.js.map +0 -1
  250. package/dist/esm-es5/br-checkgroup.entry.js +0 -6
  251. package/dist/esm-es5/br-checkgroup.entry.js.map +0 -1
  252. package/dist/esm-es5/br-dropdown.entry.js +0 -6
  253. package/dist/esm-es5/br-dropdown.entry.js.map +0 -1
  254. package/dist/esm-es5/br-input_3.entry.js +0 -6
  255. package/dist/esm-es5/br-input_3.entry.js.map +0 -1
  256. package/dist/esm-es5/br-item.entry.js +0 -6
  257. package/dist/esm-es5/br-item.entry.js.map +0 -1
  258. package/dist/esm-es5/br-loading.entry.js +0 -6
  259. package/dist/esm-es5/br-loading.entry.js.map +0 -1
  260. package/dist/esm-es5/br-message.entry.js +0 -6
  261. package/dist/esm-es5/br-message.entry.js.map +0 -1
  262. package/dist/esm-es5/br-select.entry.js +0 -6
  263. package/dist/esm-es5/br-select.entry.js.map +0 -1
  264. package/dist/esm-es5/br-switch.entry.js +0 -6
  265. package/dist/esm-es5/br-switch.entry.js.map +0 -1
  266. package/dist/esm-es5/br-tag.entry.js +0 -6
  267. package/dist/esm-es5/br-tag.entry.js.map +0 -1
  268. package/dist/esm-es5/br-textarea.entry.js +0 -6
  269. package/dist/esm-es5/br-textarea.entry.js.map +0 -1
  270. package/dist/esm-es5/br-upload.entry.js +0 -6
  271. package/dist/esm-es5/br-upload.entry.js.map +0 -1
  272. package/dist/esm-es5/index-45af9b53.js +0 -6
  273. package/dist/esm-es5/index-45af9b53.js.map +0 -1
  274. package/dist/esm-es5/index.js +0 -5
  275. package/dist/esm-es5/index.js.map +0 -1
  276. package/dist/esm-es5/inherited-attributes-553a7c36.js +0 -6
  277. package/dist/esm-es5/inherited-attributes-553a7c36.js.map +0 -1
  278. package/dist/esm-es5/loader.js +0 -6
  279. package/dist/esm-es5/loader.js.map +0 -1
  280. package/dist/esm-es5/v4-c99c1585.js +0 -6
  281. package/dist/esm-es5/v4-c99c1585.js.map +0 -1
  282. package/dist/esm-es5/webcomponents.js +0 -6
  283. package/dist/esm-es5/webcomponents.js.map +0 -1
  284. package/dist/index.cjs.js +0 -1
  285. package/dist/index.js +0 -1
  286. package/dist/types/components/avatar/avatar.d.ts +0 -60
  287. package/dist/types/components/button/button.d.ts +0 -64
  288. package/dist/types/components/checkbox/checkbox.d.ts +0 -78
  289. package/dist/types/components/checkgroup/checkgroup.d.ts +0 -52
  290. package/dist/types/components/dropdown/dropdown.d.ts +0 -64
  291. package/dist/types/components/icon/icon.d.ts +0 -58
  292. package/dist/types/components/input/input.d.ts +0 -151
  293. package/dist/types/components/item/item.d.ts +0 -98
  294. package/dist/types/components/list/list.d.ts +0 -34
  295. package/dist/types/components/loading/loading.d.ts +0 -34
  296. package/dist/types/components/message/message.d.ts +0 -62
  297. package/dist/types/components/radio/radio.d.ts +0 -75
  298. package/dist/types/components/select/select.d.ts +0 -98
  299. package/dist/types/components/switch/switch.d.ts +0 -79
  300. package/dist/types/components/tag/tag.d.ts +0 -73
  301. package/dist/types/components/textarea/textarea.d.ts +0 -66
  302. package/dist/types/components/upload/upload.d.ts +0 -160
  303. package/dist/types/components.d.ts +0 -1847
  304. package/dist/types/index.d.ts +0 -10
  305. package/dist/types/stencil-public-runtime.d.ts +0 -1680
  306. package/dist/types/utils/inherited-attributes.d.ts +0 -20
  307. package/dist/types/utils/interfaces.d.ts +0 -3
  308. package/dist/types/utils/unique-id-generator.d.ts +0 -1
  309. package/dist/webcomponents/index.esm.js +0 -6
  310. package/dist/webcomponents/index.esm.js.map +0 -1
  311. package/dist/webcomponents/p-04a3d24e.system.entry.js +0 -6
  312. package/dist/webcomponents/p-04a3d24e.system.entry.js.map +0 -1
  313. package/dist/webcomponents/p-057dcb7c.system.entry.js +0 -6
  314. package/dist/webcomponents/p-057dcb7c.system.entry.js.map +0 -1
  315. package/dist/webcomponents/p-19b77f11.entry.js +0 -6
  316. package/dist/webcomponents/p-19b77f11.entry.js.map +0 -1
  317. package/dist/webcomponents/p-1acbc680.entry.js +0 -6
  318. package/dist/webcomponents/p-1acbc680.entry.js.map +0 -1
  319. package/dist/webcomponents/p-254a2b7c.js +0 -6
  320. package/dist/webcomponents/p-254a2b7c.js.map +0 -1
  321. package/dist/webcomponents/p-25d82c85.system.entry.js +0 -6
  322. package/dist/webcomponents/p-25d82c85.system.entry.js.map +0 -1
  323. package/dist/webcomponents/p-27b820ac.system.entry.js +0 -6
  324. package/dist/webcomponents/p-27b820ac.system.entry.js.map +0 -1
  325. package/dist/webcomponents/p-2b0430f4.entry.js +0 -6
  326. package/dist/webcomponents/p-2b0430f4.entry.js.map +0 -1
  327. package/dist/webcomponents/p-2ff5f694.system.entry.js +0 -6
  328. package/dist/webcomponents/p-2ff5f694.system.entry.js.map +0 -1
  329. package/dist/webcomponents/p-357e1105.system.entry.js +0 -6
  330. package/dist/webcomponents/p-357e1105.system.entry.js.map +0 -1
  331. package/dist/webcomponents/p-35f07e4b.entry.js +0 -6
  332. package/dist/webcomponents/p-35f07e4b.entry.js.map +0 -1
  333. package/dist/webcomponents/p-3e449bd5.system.entry.js +0 -6
  334. package/dist/webcomponents/p-3e449bd5.system.entry.js.map +0 -1
  335. package/dist/webcomponents/p-46a75920.system.js +0 -6
  336. package/dist/webcomponents/p-46a75920.system.js.map +0 -1
  337. package/dist/webcomponents/p-491cdd00.entry.js +0 -6
  338. package/dist/webcomponents/p-491cdd00.entry.js.map +0 -1
  339. package/dist/webcomponents/p-52e5bcdd.entry.js +0 -6
  340. package/dist/webcomponents/p-52e5bcdd.entry.js.map +0 -1
  341. package/dist/webcomponents/p-60879543.system.entry.js +0 -6
  342. package/dist/webcomponents/p-60879543.system.entry.js.map +0 -1
  343. package/dist/webcomponents/p-6bfb8eb6.entry.js +0 -6
  344. package/dist/webcomponents/p-6bfb8eb6.entry.js.map +0 -1
  345. package/dist/webcomponents/p-6d0d2846.system.js +0 -7
  346. package/dist/webcomponents/p-6d0d2846.system.js.map +0 -1
  347. package/dist/webcomponents/p-6e286eba.system.js +0 -6
  348. package/dist/webcomponents/p-6e286eba.system.js.map +0 -1
  349. package/dist/webcomponents/p-74a4eb38.js +0 -6
  350. package/dist/webcomponents/p-74a4eb38.js.map +0 -1
  351. package/dist/webcomponents/p-7c3554a7.system.entry.js +0 -17
  352. package/dist/webcomponents/p-7c3554a7.system.entry.js.map +0 -1
  353. package/dist/webcomponents/p-8fd11f97.system.entry.js +0 -6
  354. package/dist/webcomponents/p-8fd11f97.system.entry.js.map +0 -1
  355. package/dist/webcomponents/p-907fab5d.entry.js +0 -6
  356. package/dist/webcomponents/p-907fab5d.entry.js.map +0 -1
  357. package/dist/webcomponents/p-90e2e623.system.js +0 -6
  358. package/dist/webcomponents/p-90e2e623.system.js.map +0 -1
  359. package/dist/webcomponents/p-929db2b8.entry.js +0 -17
  360. package/dist/webcomponents/p-929db2b8.entry.js.map +0 -1
  361. package/dist/webcomponents/p-98e6f0c1.system.entry.js +0 -6
  362. package/dist/webcomponents/p-98e6f0c1.system.entry.js.map +0 -1
  363. package/dist/webcomponents/p-9b0f20d7.entry.js +0 -6
  364. package/dist/webcomponents/p-9b0f20d7.entry.js.map +0 -1
  365. package/dist/webcomponents/p-a71689a5.system.js +0 -6
  366. package/dist/webcomponents/p-a71689a5.system.js.map +0 -1
  367. package/dist/webcomponents/p-ad5a7b8b.system.entry.js +0 -6
  368. package/dist/webcomponents/p-ad5a7b8b.system.entry.js.map +0 -1
  369. package/dist/webcomponents/p-c3811f09.js +0 -7
  370. package/dist/webcomponents/p-c3811f09.js.map +0 -1
  371. package/dist/webcomponents/p-c6a9c8ac.entry.js +0 -6
  372. package/dist/webcomponents/p-c6a9c8ac.entry.js.map +0 -1
  373. package/dist/webcomponents/p-d46495d5.system.entry.js +0 -6
  374. package/dist/webcomponents/p-d46495d5.system.entry.js.map +0 -1
  375. package/dist/webcomponents/p-d5a8d30c.js +0 -6
  376. package/dist/webcomponents/p-d5a8d30c.js.map +0 -1
  377. package/dist/webcomponents/p-dc3d284a.entry.js +0 -6
  378. package/dist/webcomponents/p-dc3d284a.entry.js.map +0 -1
  379. package/dist/webcomponents/p-e751c991.system.js +0 -6
  380. package/dist/webcomponents/p-e751c991.system.js.map +0 -1
  381. package/dist/webcomponents/p-e98418a4.entry.js +0 -6
  382. package/dist/webcomponents/p-e98418a4.entry.js.map +0 -1
  383. package/dist/webcomponents/p-ef89bcc9.system.entry.js +0 -6
  384. package/dist/webcomponents/p-ef89bcc9.system.entry.js.map +0 -1
  385. package/dist/webcomponents/p-fc11eac9.entry.js +0 -6
  386. package/dist/webcomponents/p-fc11eac9.entry.js.map +0 -1
  387. package/dist/webcomponents/webcomponents.esm.js +0 -6
  388. package/dist/webcomponents/webcomponents.esm.js.map +0 -1
  389. package/dist/webcomponents/webcomponents.js +0 -127
  390. package/hydrate/index.d.ts +0 -242
  391. package/hydrate/index.js +0 -22909
  392. package/hydrate/index.mjs +0 -22901
  393. package/hydrate/package.json +0 -12
  394. package/loader/cdn.js +0 -6
  395. package/loader/index.cjs.js +0 -6
  396. package/loader/index.d.ts +0 -24
  397. package/loader/index.es2017.js +0 -6
  398. package/loader/index.js +0 -7
  399. package/loader/package.json +0 -11
  400. package/vscode-data.json +0 -985
@@ -1 +0,0 @@
1
- {"file":"br-select.entry.cjs.js","mappings":"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","names":["uuidv4","inheritAriaAttributes","h","index"],"sources":["src/components/select/select.scss?tag=br-select&encapsulation=shadow","src/components/select/select.tsx"],"sourcesContent":["@import \"../../../../../node_modules/@govbr-ds/core/src/components/select/select.scss\";\n@import \"../../../../../node_modules/@govbr-ds/core/src/components/item/item.scss\";\n\n:host {\n display: block;\n\n .br-select br-list {\n background-color: var(--bg-color);\n box-shadow: var(--select-shadow);\n margin-top: -2px;\n max-height: 404px;\n overflow: auto;\n position: absolute;\n resize: none;\n width: 100%;\n z-index: 1;\n\n @include scrollbar;\n\n &:focus,\n &:active {\n color: var(--color-secondary-09);\n outline: none;\n }\n\n &:hover {\n &::-webkit-scrollbar-thumb {\n background: var(--color-secondary-07);\n }\n }\n\n\n .br-item br-radio::part(radio-input) {\n visibility: hidden;\n height: 0;\n width: 0;\n }\n\n .br-item br-radio::part(radio-label) {\n padding-left: var(--spacing-scale-base);\n position: relative;\n\n &::before,\n &::after {\n display: none;\n }\n }\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { v4 as uuidv4 } from 'uuid';\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces';\n\n@Component({\n tag: 'br-select',\n styleUrl: 'select.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Select {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrSelectElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Rótulo que indica o tipo de informação que deve ser selecionada.\n */\n @Prop({ reflect: true }) label: string;\n\n /**\n * Texto auxiliar exibido antes de uma seleção.\n */\n @Prop({ reflect: true }) placeholder: string = '';\n\n /**\n * Habilita o modo múltiplo para selecionar várias opções.\n */\n @Prop({ reflect: true }) isMultiple: boolean = false;\n\n /**\n * JSON contendo as opções do select.\n */\n @Prop({ reflect: true }) options: string = '[]';\n\n /**\n * Rótulo para selecionar todas as opções.\n */\n @Prop({ reflect: true }) selectAllLabel: string = 'Selecionar todos';\n\n /**\n * Rótulo para desmarcar todas as opções.\n */\n @Prop({ reflect: true }) unselectAllLabel: string = 'Desselecionar todos';\n\n /**\n * Exibe o ícone de busca no campo de entrada.\n */\n @Prop({ reflect: true }) showSearchIcon: boolean = false;\n\n /**\n * Indica se a listagem de itens do select está expandida\n */\n @Prop({ reflect: true }) isOpen: boolean = false;\n\n /**\n * Especifica o ID do componente.\n * Se não for fornecido, o ID será gerado automaticamente e de forma aleatória\n */\n @Prop({ reflect: true, attribute: 'id' }) customId: string\n\n /**\n * Contém o id gerado aleatoriamente\n */\n private readonly idDefault = `${uuidv4()}`\n\n // Representa as opções do select disponíveis para renderização.\n // Cada opção contém `label`, `value` e o estado de seleção (`selected`).\n @State() parsedOptions: { label: string; value: string; selected: boolean }[] = [];\n\n // Valor exibido no input, refletindo as opções selecionadas.\n @State() inputValue: string = '';\n\n // Indica se todas as opções estão selecionadas. Comportamento do checkbox \"Selecionar Todos\".\n @State() isAllSelected: boolean = false;\n\n // Controla se a lista de opções do select está expandida (aberta) ou colapsada (fechada).\n @State() isExpanded: boolean = false;\n\n // Armazena o índice do item atualmente focado, usado para navegação por teclado.\n @State() focusedIndex: number = -1;\n\n /**\n * Evento emitido sempre que houver atualização nos itens selecionados.\n */\n @Event() brDidSelectChange: EventEmitter;\n\n @Watch('options')\n synchronizeSelect() {\n try {\n const rawOptions = JSON.parse(this.options);\n this.parsedOptions = this.sanitizeOptions(rawOptions);\n this.updateSelectedOptions();\n this.updateSelectedAllState();\n this.emitSelectedOptions();\n } catch (error) {\n console.error('Erro ao processar as opções do select:', error);\n this.parsedOptions = [];\n }\n }\n\n componentWillLoad() {\n this.isExpanded = this.isOpen;\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n this.synchronizeSelect();\n }\n\n componentDidLoad() {\n document.addEventListener('click', this.handleClickOutside);\n }\n\n disconnectedCallback() {\n document.addEventListener('click', this.handleClickOutside);\n }\n\n private sanitizeOptions(rawOptions: any[]): { label: string; value: string; selected: boolean }[] {\n const validOptions = [];\n const invalidOptions = [];\n\n rawOptions.forEach(option => {\n if (typeof option.label === 'string' && option.label.trim() !== '') {\n validOptions.push({\n label: option.label.trim(),\n value: typeof option.value === 'string' ? option.value : '',\n selected: typeof option.selected === 'boolean' ? option.selected : false,\n });\n } else {\n invalidOptions.push(option);\n }\n });\n\n if (invalidOptions.length > 0) {\n console.warn('Opções inválidas descartadas:', invalidOptions);\n }\n\n return validOptions;\n }\n\n private readonly handleClickOutside = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n if (this.isExpanded && !this.el.contains(target)) {\n this.isExpanded = false;\n }\n }\n\n private handleKeydownOnInput(event: KeyboardEvent) {\n switch (event.key) {\n case 'Tab':\n this.closeSelect();\n break;\n case 'ArrowDown':\n event.preventDefault();\n if (!this.isExpanded) {\n this.openSelect();\n }\n this.focusItemInDirection('next');\n break;\n case 'ArrowUp':\n event.preventDefault();\n if (!this.isExpanded) {\n this.openSelect();\n }\n this.focusItemInDirection('previous');\n break;\n case 'Escape':\n this.closeSelect();\n this.resetFocus();\n break;\n case 'Enter':\n this.toggleOpen();\n break;\n default:\n }\n }\n\n private handleKeydownOnList(event: KeyboardEvent) {\n event.preventDefault();\n switch (event.key) {\n case 'Tab':\n case 'Escape':\n this.resetFocus();\n break;\n case 'ArrowUp':\n this.focusItemInDirection('previous');\n break;\n case 'ArrowDown':\n this.focusItemInDirection('next');\n break;\n default:\n break;\n }\n }\n\n private handleKeydownOnItem(event: KeyboardEvent, index: number) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.handleSelection(index); // Garante que o índice correto será usado\n } else if (event.key === 'Escape') {\n this.closeSelect();\n }\n }\n\n private handleSelectAllKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.toggleSelectAll();\n } else if (event.key === 'Escape') {\n event.preventDefault();\n this.closeSelect();\n }\n }\n\n private resetFocus() {\n const input = this.el.shadowRoot.querySelector('br-input') as HTMLElement;\n input.focus();\n }\n\n private focusItemInDirection(direction: 'next' | 'previous') {\n let itemCount = this.parsedOptions.length;\n if (this.isMultiple) itemCount += 1;\n\n this.focusedIndex = direction === 'next'\n ? (this.focusedIndex + 1) % itemCount\n : (this.focusedIndex - 1 + itemCount) % itemCount;\n\n this.focusItem(this.focusedIndex);\n }\n\n private focusItem(index: number) {\n const items = this.el.shadowRoot.querySelectorAll('.br-item');\n const item = items[index] as HTMLElement;\n item.focus();\n }\n\n private openSelect() {\n this.isExpanded = true;\n }\n\n private closeSelect() {\n this.isExpanded = false;\n }\n\n\n private handleSelection(index: number) {\n if (index < 0 || index >= this.parsedOptions.length) {\n return;\n }\n\n if (this.isMultiple) {\n this.parsedOptions[index].selected = !this.parsedOptions[index].selected;\n } else {\n this.parsedOptions.forEach(option => option.selected = false);\n this.parsedOptions[index].selected = true;\n this.isExpanded = false;\n }\n this.updateSelectedOptions();\n this.emitSelectedOptions();\n this.updateSelectedAllState();\n }\n\n private updateSelectedOptions() {\n this.inputValue = this.getStringValue(this.parsedOptions.filter(option => option.selected));\n }\n\n private getStringValue(options) {\n if (options.length > 0) {\n const firstSelected = options[0].label || options[0].value;\n if (this.isMultiple) {\n const howManySelected = options.length > 1 ? ` + (${options.length - 1})` : '';\n return `${firstSelected}${howManySelected}`;\n } else {\n return firstSelected;\n }\n }\n return '';\n }\n\n private emitSelectedOptions() {\n const selectedOptions = this.parsedOptions\n .filter((option) => option.selected === true)\n .map((option) => option.label ?? option.value);\n\n this.brDidSelectChange.emit(selectedOptions);\n }\n\n private updateSelectedAllState() {\n const allSelected = this.parsedOptions.every(option => option.selected);\n this.isAllSelected = allSelected;\n }\n\n private toggleSelectAll() {\n if (this.isAllSelected) {\n this.parsedOptions.forEach(option => option.selected = false);\n this.isAllSelected = false;\n } else {\n this.parsedOptions.forEach(option => option.selected = true);\n this.isAllSelected = true;\n }\n\n this.updateSelectedOptions();\n this.emitSelectedOptions();\n }\n\n private renderInput() {\n return (\n <br-input\n value={this.inputValue}\n label={this.label}\n placeholder={this.placeholder}\n readonly\n onClick={() => this.toggleOpen()}\n onKeyDown={(event) => this.handleKeydownOnInput(event)}\n >\n {this.showSearchIcon && <br-icon slot=\"icon\" icon-name=\"fa-solid:search\" aria-hidden=\"true\"></br-icon>}\n <br-icon slot=\"action\"\n icon-name={this.isExpanded ? 'fa-solid:angle-up' : 'fa-solid:angle-down'}\n height=\"16\"\n aria-hidden=\"true\">\n </br-icon>\n </br-input>\n );\n }\n\n private renderSelectAllCheckbox() {\n return (\n <div class={`br-item highlighted ${this.isAllSelected ? 'selected' : ''}`}\n data-all=\"data-all\"\n tabindex=\"-1\"\n role=\"option\"\n aria-selected={this.isAllSelected}\n onKeyDown={(event) => this.handleSelectAllKeyDown(event)}\n >\n <br-checkbox\n name={`checkbox-${this.idDefault}`}\n label={this.isAllSelected ? this.unselectAllLabel : this.selectAllLabel}\n checked={this.isAllSelected}\n onBrDidCheckedChange={() => this.toggleSelectAll()}\n ></br-checkbox>\n </div>\n );\n }\n\n private renderOptions() {\n return (\n this.parsedOptions.map((option, index) => (\n <div\n class={`br-item ${option.selected ? 'selected' : ''}`}\n key={`${option.label}-${this.idDefault}`}\n role=\"option\"\n tabindex={this.focusedIndex === index ? 0 : -1}\n aria-selected={option.selected}\n onClick={() => this.handleSelection(index)}\n onKeyDown={(event) => this.handleKeydownOnItem(event, index)}\n >\n {this.isMultiple ?\n (\n <br-checkbox\n name={`checkbox-${index}-${this.idDefault}`}\n label={option.label || option.value}\n checked={option.selected === true}\n onBrDidCheckedChange={() => this.handleSelection(index)}\n />\n )\n :\n (<br-radio\n exportparts=\"radio-input, radio-label\"\n name={`radio-${index}-${this.idDefault}`}\n label={option.label || option.value}\n checked={option.selected === true}\n onBrDidChange={() => this.handleSelection(index)}\n />)\n }\n </div>\n ))\n );\n }\n\n /**\n * Determina um id para o radio.\n */\n private getComputedId() {\n return this.customId?.length > 0 ? this.customId : `br-select-${this.idDefault}`;\n }\n\n /**\n * Inverte o valor da prop `isOpen`\n */\n @Method()\n async toggleOpen() {\n this.isExpanded = !this.isExpanded\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-select': true,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n render() {\n return (\n <div class={this.getCssClassMap()} {...this.inheritedAttributes} id={this.getComputedId()}>\n {this.renderInput()}\n\n {this.isExpanded &&\n <br-list tabindex={-1} onKeyDown={(event) => this.handleKeydownOnList(event)}>\n {this.isMultiple && (this.renderSelectAllCheckbox())}\n {this.renderOptions()}\n </br-list>\n }\n </div>\n );\n }\n}\n\n"],"version":3}
@@ -1,84 +0,0 @@
1
- /*!
2
- * Construído com @govbr-ds/webcomponents
3
- * Padrão Digital de Governo.
4
- */
5
- 'use strict';
6
-
7
- Object.defineProperty(exports, '__esModule', { value: true });
8
-
9
- const index = require('./index-4fc1aab1.js');
10
- const inheritedAttributes = require('./inherited-attributes-16f7d388.js');
11
- const v4 = require('./v4-2a0fe526.js');
12
-
13
- const switchCss = "*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a{background-color:transparent}strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}[hidden]{display:none}.d-flex{display:-ms-flexbox !important;display:flex !important}.align-items-center{-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.container{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter) * -0.5);margin-right:calc(var(--grid-gutter) * -0.5)}@media (min-width: 576px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base) * -1) !important}.ml-2{margin-left:var(--spacing-scale-base) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half);color:var(--interactive);text-decoration:none}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}:-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.text-primary-default{color:var(--color-primary-default) !important}.bg-support-01{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.br-switch{--switch-height:var(--switch-height-medium);--switch-width:var(--switch-width-medium);--switch-toggle-size:var(--switch-toggle-medium);--switch-icon-size:var(--switch-icon-medium);--switch-height-small:24px;--switch-height-medium:30px;--switch-height-large:36px;--switch-width-small:40px;--switch-width-medium:52px;--switch-width-large:64px;--switch-toggle-small:16px;--switch-toggle-medium:22px;--switch-toggle-large:28px;--switch-icon-small:var(--icon-size-xs);--switch-icon-medium:var(--icon-size-sm);--switch-icon-large:var(--icon-size-base);display:-ms-inline-flexbox;display:inline-flex;min-height:var(--switch-height);}.br-switch input{opacity:0;position:absolute}.br-switch input+label{-ms-flex-align:center;align-items:center;color:var(--color);cursor:pointer;display:-ms-inline-flexbox;display:inline-flex;font-size:var(--font-size-scale-base);margin-bottom:0;position:relative}.br-switch input+label::before{background:var(--background-light);border:1px solid var(--border-color);border-radius:100em;content:\"\";height:var(--switch-height);position:absolute;width:var(--switch-width)}.br-switch input+label::after{background-color:var(--off);border-radius:50%;content:\"\";height:var(--switch-toggle-size);position:absolute;-webkit-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out;width:var(--switch-toggle-size)}.br-switch input:checked+label::after{background-color:var(--on)}.br-switch input+label{padding-right:calc(var(--spacing-scale-2x) + var(--switch-width))}.br-switch input+label:empty{padding-right:var(--switch-width)}.br-switch input+label::before{right:0}.br-switch input+label::after{right:calc(4px + var(--switch-toggle-size))}.br-switch input:checked+label::after{right:4px}.br-switch.right input+label{padding-left:calc(var(--spacing-scale-2x) + var(--switch-width));padding-right:0}.br-switch.right input+label::before{left:0}.br-switch.right input+label::after{left:4px}.br-switch.right input:checked+label::after{left:calc(var(--switch-width) - var(--switch-toggle-size) - 4px)}.br-switch.top{min-height:calc(var(--switch-height) * 2)}.br-switch.top input+label{-ms-flex-align:start;align-items:flex-start;padding-right:0}.br-switch.top input+label::before{bottom:0;left:0}.br-switch.top input+label::after{bottom:4px;left:4px}.br-switch.top input:checked+label::after{left:calc(var(--switch-width) - var(--switch-toggle-size) - 4px)}.br-switch.small{--switch-height:var(--switch-height-small);--switch-width:var(--switch-width-small);--switch-toggle-size:var(--switch-toggle-small);--switch-icon-size:var(--switch-icon-small)}.br-switch.medium{--switch-height:var(--switch-height-medium);--switch-width:var(--switch-width-medium);--switch-toggle-size:var(--switch-toggle-medium);--switch-icon-size:var(--switch-icon-medium)}.br-switch.large{--switch-height:var(--switch-height-large);--switch-width:var(--switch-width-large);--switch-toggle-size:var(--switch-toggle-large);--switch-icon-size:var(--switch-icon-large)}.br-switch input~.switch-data{-ms-flex-item-align:center;align-self:center;color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);margin-left:8px}.br-switch input~.switch-data::before{content:attr(data-disabled)}.br-switch input:checked~.switch-data{color:var(--color)}.br-switch input:checked~.switch-data::before{content:attr(data-enabled)}.br-switch.icon input+label::after{-ms-flex-align:center;align-items:center;color:var(--color-dark);content:\"\\f00d\";display:-ms-inline-flexbox;display:inline-flex;font-family:\"Font Awesome 5 Free\", sans-serif;font-size:var(--switch-icon-size);font-weight:var(--font-weight-black);-ms-flex-pack:center;justify-content:center}.br-switch.icon input:checked+label::after{content:\"\\f00c\"}.br-switch input:focus-visible+label::before{border-color:var(--focus) !important;-webkit-box-shadow:0 0 0 var(--surface-width-md) var(--focus);box-shadow:0 0 0 var(--surface-width-md) var(--focus);outline:none}.br-switch input:hover:not([disabled]):checked+label::before{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--on-rgb), var(--hover))), to(rgba(var(--on-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--on-rgb), var(--hover)), rgba(var(--on-rgb), var(--hover)))}.br-switch input:hover:not([disabled]):not(:checked)+label::before{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--off-rgb), var(--hover))), to(rgba(var(--off-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--off-rgb), var(--hover)), rgba(var(--off-rgb), var(--hover)))}.br-switch input:active:not([disabled]):checked+label::before{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--on-rgb), var(--pressed))), to(rgba(var(--on-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--on-rgb), var(--pressed)), rgba(var(--on-rgb), var(--pressed)))}.br-switch input:active:not([disabled]):not(:checked)+label::before{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--off-rgb), var(--pressed))), to(rgba(var(--off-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--off-rgb), var(--pressed)), rgba(var(--off-rgb), var(--pressed)))}.br-switch.dark-mode,.br-switch.dark-mode label{color:var(--color-dark)}:host{display:block}";
14
- const BrSwitchStyle0 = switchCss;
15
-
16
- const Switch = class {
17
- constructor(hostRef) {
18
- index.registerInstance(this, hostRef);
19
- this.brDidSwitchToggle = index.createEvent(this, "brDidSwitchToggle", 7);
20
- if (hostRef.$hostElement$["s-ei"]) {
21
- this.elementInternals = hostRef.$hostElement$["s-ei"];
22
- }
23
- else {
24
- this.elementInternals = hostRef.$hostElement$.attachInternals();
25
- hostRef.$hostElement$["s-ei"] = this.elementInternals;
26
- }
27
- this.handleCheckedChange = (event) => {
28
- this._checkedValue = event.target.checked;
29
- this.brDidSwitchToggle.emit(this._checkedValue);
30
- };
31
- this.handleClick = (event) => {
32
- event.stopPropagation();
33
- };
34
- this.inheritedAttributes = {};
35
- this.disabled = false;
36
- this.checked = false;
37
- this.customId = `br-input-${v4.v4()}`;
38
- this.label = undefined;
39
- this.labelPosition = 'left';
40
- this.labelOn = undefined;
41
- this.labelOff = undefined;
42
- this.hasIcon = false;
43
- this.name = undefined;
44
- this.value = undefined;
45
- this.density = 'medium';
46
- this._slotDefault = false;
47
- this._checkedValue = undefined;
48
- }
49
- componentWillLoad() {
50
- this._hasSlotContentDefault();
51
- this._checkedValue = this.checked;
52
- this.inheritedAttributes = inheritedAttributes.inheritAriaAttributes(this.el);
53
- }
54
- _hasSlotContentDefault() {
55
- this._slotDefault = this.el.innerHTML !== '';
56
- }
57
- /**
58
- * Inverte o valor da prop `checked`
59
- */
60
- async toggleChecked() {
61
- this._checkedValue = !this._checkedValue;
62
- this.brDidSwitchToggle.emit(this._checkedValue);
63
- }
64
- getCssClassMap() {
65
- return {
66
- 'br-switch': true,
67
- icon: this.hasIcon,
68
- top: this.labelPosition === 'top',
69
- right: this.labelPosition === 'right',
70
- large: this.density === 'large',
71
- small: this.density === 'small',
72
- };
73
- }
74
- render() {
75
- return (index.h(index.Host, { key: '0c550accde86f8f6bf23d0c13a0abaeca6422123' }, index.h("div", Object.assign({ key: 'c63172ea2696799e3f3ae55a98598341785bfcce', class: this.getCssClassMap() }, this.inheritedAttributes), index.h("input", { key: 'ac86ee46e8ac44de1b9a70bd335822369eabf417', id: this.customId, type: "checkbox", name: this.name, checked: this._checkedValue, disabled: this.disabled, role: "switch", "aria-checked": this._checkedValue.toString(), "aria-disabled": this.disabled ? 'true' : null, onChange: this.handleCheckedChange, onClick: this.handleClick }), index.h("label", { key: '637d8dbdd7ffc4618a3b5627691c767d7a542134', htmlFor: this.customId }, this._slotDefault ? index.h("slot", null) : this.label), this.labelOn && this.labelOff && (index.h("div", { key: 'c201c7a56eee2bce5c41c79bf6df84fb493fe56a', class: "switch-data", "data-enabled": this.labelOn, "data-disabled": this.labelOff })))));
76
- }
77
- static get formAssociated() { return true; }
78
- get el() { return index.getElement(this); }
79
- };
80
- Switch.style = BrSwitchStyle0;
81
-
82
- exports.br_switch = Switch;
83
-
84
- //# sourceMappingURL=br-switch.cjs.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"br-switch.entry.cjs.js","mappings":";;;;;;;;;;;;AAAA,MAAM,SAAS,GAAG,gtdAAgtd,CAAC;AACnud,uBAAe,SAAS;;MCeX,MAAM;;;;;;;;;;;QAuFA,wBAAmB,GAAG,CAAC,KAAY;YAClD,IAAI,CAAC,aAAa,GAAI,KAAK,CAAC,MAA2B,CAAC,OAAO,CAAA;YAC/D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;SAChD,CAAA;QAEgB,gBAAW,GAAG,CAAC,KAAY;YAC1C,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB,CAAA;QAsBO,wBAAmB,GAAe,EAAE,CAAA;wBAxGC,KAAK;uBAMN,KAAK;wBAMY,YAAYA,KAAM,EAAE,EAAE;;6BAWhB,MAAM;;;uBAe7B,KAAK;;;uBAgBgB,QAAQ;4BAGxC,KAAK;;;IAItC,iBAAiB;QACf,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAA;QACjC,IAAI,CAAC,mBAAmB,GAAGC,yCAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;KAC1D;IAMO,sBAAsB;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,KAAK,EAAE,CAAA;KAC7C;;;;IAeD,MAAM,aAAa;QACjB,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,CAAA;QACxC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;KAChD;IAEO,cAAc;QACpB,OAAO;YACL,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,GAAG,EAAE,IAAI,CAAC,aAAa,KAAK,KAAK;YACjC,KAAK,EAAE,IAAI,CAAC,aAAa,KAAK,OAAO;YACrC,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO;YAC/B,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO;SAChC,CAAA;KACF;IAID,MAAM;QACJ,QACEC,QAACC,UAAI,uDACHD,gFAAK,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAM,IAAI,CAAC,mBAAmB,GAC7DA,oEACE,EAAE,EAAE,IAAI,CAAC,QAAQ,EACjB,IAAI,EAAC,UAAU,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAC,QAAQ,kBACC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,mBAC5B,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,EAC5C,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAClC,OAAO,EAAE,IAAI,CAAC,WAAW,GACzB,EACFA,oEAAO,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAG,IAAI,CAAC,YAAY,GAAGA,qBAAa,GAAG,IAAI,CAAC,KAAK,CAAS,EACtF,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,KAC5BA,kEAAK,KAAK,EAAC,aAAa,kBAAe,IAAI,CAAC,OAAO,mBAAiB,IAAI,CAAC,QAAQ,GAAQ,CAC1F,CACG,CACD,EACR;KACF;;;;;;;;","names":["uuidv4","inheritAriaAttributes","h","Host"],"sources":["src/components/switch/switch.scss?tag=br-switch&encapsulation=shadow","src/components/switch/switch.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/switch/switch.scss\";\n\n:host {\n display: block;\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, Host, Method, Prop, State, h } from '@stencil/core'\nimport { v4 as uuidv4 } from 'uuid'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\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/switch?tab=designer).\n *\n * @slot default - Descreve o que o switch faz quando a alternância estiver ativada. A label passada por slot tem precedência sobre a propriedade 'label'.\n */\n@Component({\n tag: 'br-switch',\n styleUrl: 'switch.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Switch {\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: HTMLBrSwitchElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Desativa o switch, tornando-o não interativo.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * Define o estado de seleção do checkbox.\n * Se definido como verdadeiro, o checkbox estará marcado. Caso contrário, estará desmarcado.\n */\n @Prop({ reflect: true }) checked: boolean = false\n\n /**\n * Identificador único do switch.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true, attribute: 'id' }) customId: string = `br-input-${uuidv4()}`\n\n /**\n * Texto descritivo.\n * Caso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado.\n */\n @Prop() label: string\n\n /**\n * Posição do rótulo em relação ao switch.\n */\n @Prop({ reflect: true }) labelPosition: 'right' | 'left' | 'top' = 'left'\n\n /**\n * Texto exibido quando o switch está ativado.\n */\n @Prop({ reflect: true }) labelOn: string\n\n /**\n * Texto exibido quando o switch está desativado.\n */\n @Prop({ reflect: true }) labelOff: string\n\n /**\n * Adiciona um ícone ao switch para indicar a mudança de estado.\n */\n @Prop({ reflect: true }) hasIcon: boolean = false\n\n /**\n * Define o nome do switch, que é utilizado para agrupar switches 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 @Prop({ reflect: true }) name: string\n\n /**\n * Define o valor associado ao switch quando ele faz parte de um formulário nativo (`<form>`).\n * Esse valor é enviado com o formulário quando o switch está selecionado.\n * **Nota:** Esta propriedade não deve ser utilizada para determinar se o switch está selecionado; para verificar o estado de seleção, use a propriedade `checked`.\n */\n @Prop({ reflect: true }) value: string\n\n /** O ajuste da densidade consiste em aumentar ou reduzir a área de interação do switch. Quanto menor for a densidade, maior a área de interação. */\n @Prop({ reflect: true }) density: 'large' | 'medium' | 'small' = 'medium'\n\n // Propriedade interna para verificar a presença de conteúdo no slot default\n @State() _slotDefault: boolean = false\n\n @State() _checkedValue: boolean\n\n componentWillLoad() {\n this._hasSlotContentDefault()\n this._checkedValue = this.checked\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n /**\n * Disparado depois que o valor do `checked` foi alterado\n */\n @Event() brDidSwitchToggle: EventEmitter<boolean>\n private _hasSlotContentDefault(): any {\n this._slotDefault = this.el.innerHTML !== ''\n }\n\n private readonly handleCheckedChange = (event: Event) => {\n this._checkedValue = (event.target as HTMLInputElement).checked\n this.brDidSwitchToggle.emit(this._checkedValue)\n }\n\n private readonly handleClick = (event: Event) => {\n event.stopPropagation();\n }\n\n /**\n * Inverte o valor da prop `checked`\n */\n @Method()\n async toggleChecked() {\n this._checkedValue = !this._checkedValue\n this.brDidSwitchToggle.emit(this._checkedValue)\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-switch': true,\n icon: this.hasIcon,\n top: this.labelPosition === 'top',\n right: this.labelPosition === 'right',\n large: this.density === 'large',\n small: this.density === 'small',\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n render() {\n return (\n <Host>\n <div class={this.getCssClassMap()} {...this.inheritedAttributes}>\n <input\n id={this.customId}\n type=\"checkbox\"\n name={this.name}\n checked={this._checkedValue}\n disabled={this.disabled}\n role=\"switch\"\n aria-checked={this._checkedValue.toString()}\n aria-disabled={this.disabled ? 'true' : null}\n onChange={this.handleCheckedChange}\n onClick={this.handleClick}\n />\n <label htmlFor={this.customId}>{this._slotDefault ? <slot></slot> : this.label}</label>\n {this.labelOn && this.labelOff && (\n <div class=\"switch-data\" data-enabled={this.labelOn} data-disabled={this.labelOff}></div>\n )}\n </div>\n </Host>\n )\n }\n}\n"],"version":3}
@@ -1,88 +0,0 @@
1
- /*!
2
- * Construído com @govbr-ds/webcomponents
3
- * Padrão Digital de Governo.
4
- */
5
- 'use strict';
6
-
7
- Object.defineProperty(exports, '__esModule', { value: true });
8
-
9
- const index = require('./index-4fc1aab1.js');
10
- const inheritedAttributes = require('./inherited-attributes-16f7d388.js');
11
-
12
- const tagCss = "*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a{background-color:transparent}strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}[hidden]{display:none}.d-flex{display:-ms-flexbox !important;display:flex !important}.align-items-center{-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.container{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter) * -0.5);margin-right:calc(var(--grid-gutter) * -0.5)}@media (min-width: 576px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base) * -1) !important}.ml-2{margin-left:var(--spacing-scale-base) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half);color:var(--interactive);text-decoration:none}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}:-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.text-primary-default{color:var(--color-primary-default) !important}.bg-support-01{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.br-tag{--tag-size:var(--tag-medium);--tag-small:var(--spacing-scale-2xh);--tag-medium:var(--spacing-scale-3xh);--tag-large:var(--spacing-scale-4xh);-ms-flex-align:center;align-items:center;background:var(--background-dark);border-radius:var(--surface-rounder-sm);color:var(--color-dark);display:-ms-inline-flexbox;display:inline-flex;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);-ms-flex-pack:center;justify-content:center;margin:0;min-height:var(--tag-size);padding:0 var(--spacing-scale-baseh);align-items:center;background:var(--background-dark);border-radius:var(--surface-rounder-sm);color:var(--color-dark);display:inline-flex;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);justify-content:center;margin:0;min-height:var(--tag-size);padding:0 var(--spacing-scale-baseh)}.br-tag+.br-tag{margin-left:var(--spacing-scale-half)}.br-tag.interaction{--tag-small:var(--spacing-scale-4x);--tag-medium:var(--spacing-scale-5x);--tag-large:var(--spacing-scale-5xh);font-size:var(--font-size-scale-up-01)}.br-tag.interaction{background:var(--interactive)}.br-tag.interaction .br-button{--button-size:var(--spacing-scale-3xh);--focus:var(--focus-color-dark);--hover:var(--hover-dark);--interactive-rgb:var(--color-dark-rgb);background-color:var(--interactive-light);border-radius:50%;color:var(--color-dark);margin-left:var(--spacing-scale-baseh);padding:0;width:var(--button-size)}.br-tag.interaction:hover .br-button{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-tag.interaction:active .br-button{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}.br-tag.disabled input{cursor:not-allowed}.br-tag.status{--tag-small:var(--spacing-scale-baseh);--tag-medium:var(--spacing-scale-2x);--tag-large:var(--spacing-scale-3x);border:1px solid var(--background-light);border-radius:50%;min-width:var(--tag-size);padding:0}.br-tag.count{--tag-small:var(--spacing-scale-2xh);--tag-medium:var(--spacing-scale-3x);--tag-large:var(--spacing-scale-3xh);border:1px solid var(--background-light);border-radius:100em;min-width:var(--tag-size);padding-left:var(--spacing-scale-base);padding-right:var(--spacing-scale-base)}.br-tag.icon{--tag-small:var(--spacing-scale-3xh);--tag-medium:var(--spacing-scale-4x);--tag-large:var(--spacing-scale-5xh);border-radius:50%;min-width:var(--tag-size);padding:0}.br-tag.small{--tag-size:var(--tag-small)}.br-tag.medium{--tag-size:var(--tag-medium)}.br-tag.large{--tag-size:var(--tag-large)}.br-tag.interaction{--tag-small:var(--spacing-scale-4x);--tag-medium:var(--spacing-scale-5x);--tag-large:var(--spacing-scale-5xh);font-size:var(--font-size-scale-up-01)}.br-tag.interaction{background:var(--interactive)}.br-tag.interaction .br-button{--button-size:var(--spacing-scale-3xh);--focus:var(--focus-color-dark);--hover:var(--hover-dark);--interactive-rgb:var(--color-dark-rgb);background-color:var(--interactive-light);border-radius:50%;color:var(--color-dark);margin-left:var(--spacing-scale-baseh);padding:0;width:var(--button-size)}.br-tag.interaction:hover .br-button{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-tag.interaction:active .br-button{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}.br-tag.disabled input{cursor:not-allowed}.br-tag.interaction{--tag-small:var(--spacing-scale-4x);--tag-medium:var(--spacing-scale-5x);--tag-large:var(--spacing-scale-5xh);font-size:var(--font-size-scale-up-01)}.br-tag.interaction{background:var(--interactive)}.br-tag.interaction .br-button{--button-size:var(--spacing-scale-3xh);--focus:var(--focus-color-dark);--hover:var(--hover-dark);--interactive-rgb:var(--color-dark-rgb);background-color:var(--interactive-light);border-radius:50%;color:var(--color-dark);margin-left:var(--spacing-scale-baseh);padding:0;width:var(--button-size)}.br-tag.interaction:hover .br-button{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-tag.interaction:active .br-button{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}.br-tag.disabled input{cursor:not-allowed}.br-tag+.br-tag{margin-left:var(--spacing-scale-half)}.br-tag.small{--tag-size:var(--tag-small)}.br-tag.medium{--tag-size:var(--tag-medium)}.br-tag.large{--tag-size:var(--tag-large)}.br-tag.is-highlight,.br-tag.highlight,.br-tag[highlight]{background-color:#268744}.br-tag.success,.br-tag[success]{background-color:var(--success)}.br-tag.danger,.br-tag[danger]{background-color:var(--danger)}.br-tag.warning,.br-tag[warning]{background-color:var(--warning)}.br-tag.info,.br-tag[info]{background-color:var(--info)}:host{display:block}:host .tag-position{display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around;-ms-flex-align:center;align-items:center}:host .tag-spacing-status{margin-left:var(--spacing-scale-half) !important}";
13
- const BrTagStyle0 = tagCss;
14
-
15
- const Tag = class {
16
- constructor(hostRef) {
17
- index.registerInstance(this, hostRef);
18
- this.brWillLoad = index.createEvent(this, "brWillLoad", 7);
19
- if (hostRef.$hostElement$["s-ei"]) {
20
- this.elementInternals = hostRef.$hostElement$["s-ei"];
21
- }
22
- else {
23
- this.elementInternals = hostRef.$hostElement$.attachInternals();
24
- hostRef.$hostElement$["s-ei"] = this.elementInternals;
25
- }
26
- this.inheritedAttributes = {};
27
- this.handleClose = () => {
28
- this.el.remove();
29
- };
30
- this.label = '';
31
- this.iconName = '';
32
- this.color = '';
33
- this.density = 'small';
34
- this.shape = 'default';
35
- this.status = false;
36
- this.interaction = false;
37
- this.disabled = false;
38
- this.stateIconName = 'fa-solid:car';
39
- }
40
- componentWillLoad() {
41
- this.brWillLoad.emit();
42
- this.inheritedAttributes = inheritedAttributes.inheritAriaAttributes(this.el);
43
- }
44
- getCssClassMap() {
45
- const classes = {
46
- 'br-tag': true,
47
- interaction: this.interaction,
48
- [this.color]: this.color !== '',
49
- small: this.density === 'small',
50
- medium: this.density === 'medium',
51
- large: this.density === 'large',
52
- count: this.shape === 'rounded' ? true : false,
53
- icon: this.shape === 'circle' ? true : false,
54
- status: this.status,
55
- };
56
- return classes;
57
- }
58
- renderIcon() {
59
- if (this.iconName.trim().length === 0)
60
- return null;
61
- return index.h("br-icon", { style: { fontSize: 'var(--icon-size-base)' }, "icon-name": this.iconName, "aria-hidden": "true" });
62
- }
63
- renderLabel() {
64
- if (this.shape === 'circle' || this.status)
65
- return null;
66
- return (index.h("span", { id: "interactivetag1", "aria-label": this.label }, this.label));
67
- }
68
- renderCloseButton() {
69
- if (!this.interaction)
70
- return null;
71
- return (index.h("br-button", { type: "button", shape: "circle", emphasis: !this.interaction ? 'tertiary' : 'primary', "aria-label": "Fechar", colorMode: !this.interaction ? 'dark' : null, "aria-describedby": "interactivetag1", onClick: this.handleClose, disabled: this.disabled }, index.h("br-icon", { "icon-name": "fa-solid:times" })));
72
- }
73
- renderStatusLabel() {
74
- if (!this.status)
75
- return null;
76
- return (index.h("span", { class: "tag-spacing-status", id: "interactivetag1", "aria-label": this.label }, this.label));
77
- }
78
- render() {
79
- return (index.h(index.Host, { key: '4e078895032e633b6c111bd633222938e6b00a95' }, index.h("div", { key: '3dd682ccfe5eb9533ad82f9d1fd39a2b1357774f', class: "tag-position" }, index.h("span", Object.assign({ key: '09f68d7a0a6820f590cfdb04bc75956ee276f426', class: this.getCssClassMap() }, this.inheritedAttributes, { role: "alert", "aria-live": "assertive" }), this.renderIcon(), this.renderLabel(), this.renderCloseButton(), index.h("slot", { key: '04a14d8b19926d9d18f3a4f2abe66061c85f5446' })), this.renderStatusLabel())));
80
- }
81
- static get formAssociated() { return true; }
82
- get el() { return index.getElement(this); }
83
- };
84
- Tag.style = BrTagStyle0;
85
-
86
- exports.br_tag = Tag;
87
-
88
- //# sourceMappingURL=br-tag.cjs.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"br-tag.entry.cjs.js","mappings":"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","names":["inheritAriaAttributes","h","Host"],"sources":["src/components/tag/tag.scss?tag=br-tag&encapsulation=shadow","src/components/tag/tag.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/tag/tag.scss\";\n\n:host {\n display: block;\n\n .tag-position {\n display: flex;\n justify-content: space-around;\n align-items: center;\n }\n .tag-spacing-status {\n margin-left: var(--spacing-scale-half) !important;\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core'\n\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\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/tag?tab=designer).\n *\n * @slot default - Slot utilizado para inserir conteúdo adicional na tag, como texto ou elementos HTML extras.\n */\n@Component({\n tag: 'br-tag',\n styleUrl: 'tag.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Tag {\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: HTMLBrTagElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * A propriedade 'label' é uma string que representa o texto a ser exibido no componente.\n * Ela é refletida no DOM, permitindo que alterações no valor sejam refletidas no elemento HTML correspondente.\n */\n @Prop({ reflect: true }) label: string = ''\n\n /**\n * A propriedade 'iconName' define o nome do ícone que será exibido ao lado do texto.\n * O valor padrão é 'fa-solid:car', que corresponde a um ícone de carro da biblioteca Font Awesome.\n */\n @Prop({ reflect: true }) iconName: string = ''\n\n /**\n * A propriedade 'color' permite definir a cor do componente.\n * Aceita valores como 'red', 'blue', entre outros, e é refletida no DOM.\n */\n @Prop({ reflect: true }) color: string = ''\n\n /**\n * A propriedade 'density' permite definir a densidade do componente.\n * Aceita valores como 'small', 'medium' e 'large', e é refletida no DOM.\n */\n @Prop({ reflect: true }) density: 'small' | 'medium' | 'large' = 'small'\n\n /**\n * A propriedade 'shape' define o formato do componente.\n * Valores possíveis:\n * - 'circle': Componente com formato circular.\n * - 'rounded': Componente com bordas arredondadas.\n * - 'default': Componente com formato padrão.\n */\n @Prop({ reflect: true }) shape: 'circle' | 'rounded' | 'default' = 'default'\n\n /**\n * A propriedade 'status' é um booleano que indica se o status deve ser exibido.\n * Se definido como true, o status será mostrado ao lado do texto.\n */\n @Prop({ reflect: true }) status: boolean = false\n\n /**\n * A propriedade 'interaction' é um booleano que indica se a interação deve ser habilitada.\n * Se definido como true, o componente permitirá interações do usuário.\n */\n @Prop({ reflect: true }) interaction: boolean = false\n\n /**\n * A propriedade 'disabled' é um booleano que indica se o componente deve estar desabilitado.\n * Se definido como true, o componente não permitirá interações do usuário.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n @State() stateIconName: string = 'fa-solid:car'\n\n /**\n * Emite um evento antes que o componente seja carregado pela primeira vez.\n * Utilize este evento para realizar tarefas de inicialização antes do componente ser exibido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillload) para mais detalhes.\n */\n @Event() brWillLoad: EventEmitter<void>\n componentWillLoad() {\n this.brWillLoad.emit()\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n private getCssClassMap(): CssClassMap {\n const classes: CssClassMap = {\n 'br-tag': true,\n interaction: this.interaction,\n [this.color]: this.color !== '',\n small: this.density === 'small',\n medium: this.density === 'medium',\n large: this.density === 'large',\n count: this.shape === 'rounded' ? true : false,\n icon: this.shape === 'circle' ? true : false,\n status: this.status,\n }\n\n return classes\n }\n\n private inheritedAttributes: Attributes = {}\n\n private renderIcon() {\n if (this.iconName.trim().length === 0) return null\n return <br-icon style={{ fontSize: 'var(--icon-size-base)' }} icon-name={this.iconName} aria-hidden=\"true\" />\n }\n\n private renderLabel() {\n if (this.shape === 'circle' || this.status) return null\n return (\n <span id=\"interactivetag1\" aria-label={this.label}>\n {this.label}\n </span>\n )\n }\n\n private renderCloseButton() {\n if (!this.interaction) return null\n return (\n <br-button\n type=\"button\"\n shape=\"circle\"\n emphasis={!this.interaction ? 'tertiary' : 'primary'}\n aria-label=\"Fechar\"\n colorMode={!this.interaction ? 'dark' : null}\n aria-describedby=\"interactivetag1\"\n onClick={this.handleClose}\n disabled={this.disabled}\n >\n <br-icon icon-name=\"fa-solid:times\"></br-icon>\n </br-button>\n )\n }\n\n private renderStatusLabel() {\n if (!this.status) return null\n return (\n <span class=\"tag-spacing-status\" id=\"interactivetag1\" aria-label={this.label}>\n {this.label}\n </span>\n )\n }\n\n private handleClose = () => {\n this.el.remove()\n }\n\n render() {\n return (\n <Host>\n <div class=\"tag-position\">\n <span class={this.getCssClassMap()} {...this.inheritedAttributes} role=\"alert\" aria-live=\"assertive\">\n {this.renderIcon()}\n {this.renderLabel()}\n {this.renderCloseButton()}\n <slot></slot>\n </span>\n {this.renderStatusLabel()}\n </div>\n </Host>\n )\n }\n}\n"],"version":3}
@@ -1,102 +0,0 @@
1
- /*!
2
- * Construído com @govbr-ds/webcomponents
3
- * Padrão Digital de Governo.
4
- */
5
- 'use strict';
6
-
7
- Object.defineProperty(exports, '__esModule', { value: true });
8
-
9
- const index = require('./index-4fc1aab1.js');
10
- const inheritedAttributes = require('./inherited-attributes-16f7d388.js');
11
- const v4 = require('./v4-2a0fe526.js');
12
-
13
- const textareaCss = "*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a{background-color:transparent}strong{font-weight:bolder}small{font-size:80%}img{border-style:none}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}[hidden]{display:none}.d-flex{display:-ms-flexbox !important;display:flex !important}.align-items-center{-ms-flex-align:center !important;align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{-ms-flex:1 0 0%;flex:1 0 0%;min-width:8.3333333333%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.container{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:calc(var(--grid-gutter) * -0.5);margin-right:calc(var(--grid-gutter) * -0.5)}@media (min-width: 576px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mb-1{margin-bottom:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mr-n2{margin-right:calc(var(--spacing-scale-base) * -1) !important}.ml-2{margin-left:var(--spacing-scale-base) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.mr-auto{margin-right:auto !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half);color:var(--interactive);text-decoration:none}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--hover))), to(rgba(var(--interactive-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--interactive-rgb), var(--pressed))), to(rgba(var(--interactive-rgb), var(--pressed))));background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-webkit-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}:-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::-ms-input-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.text-primary-default{color:var(--color-primary-default) !important}.bg-support-01{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.highlight{background:var(--status-highlight-background) -webkit-gradient(linear, left top, left bottom, from(var(--status-highlight-overlay)), to(var(--status-highlight-overlay)));background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{-webkit-box-shadow:var(--surface-shadow-sm);box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.br-textarea{--textarea-padding:var(--textarea-medium);--textarea-small:var(--spacing-scale-base);--textarea-medium:var(--spacing-scale-baseh);--textarea-large:var(--spacing-scale-2x);color:var(--color)}.br-textarea label{display:inline-block;margin-bottom:var(--spacing-scale-half)}.br-textarea textarea{background:var(--background-light);border:1px solid var(--border-color-alternative);border-radius:6px;color:var(--color);display:block;font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);padding:var(--textarea-padding);width:100%}.br-textarea.small textarea{--textarea-padding:var(--textarea-small)}.br-textarea.medium textarea{--textarea-padding:var(--textarea-medium)}.br-textarea.large textarea{--textarea-padding:var(--textarea-large)}.br-textarea.success textarea{border-color:var(--success);border-width:2px}.br-textarea.danger textarea{border-color:var(--danger);border-width:2px}.br-textarea.warning textarea{border-color:var(--warning);border-width:2px}.br-textarea.info textarea{border-color:var(--info);border-width:2px}.br-textarea textarea:focus,.br-textarea textarea:focus-visible{border-color:var(--focus) !important;-webkit-box-shadow:0 0 0 var(--surface-width-md) var(--focus);box-shadow:0 0 0 var(--surface-width-md) var(--focus);outline:none}.br-textarea textarea:hover:not(:disabled):hover{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(var(--color-rgb), var(--hover))), to(rgba(var(--color-rgb), var(--hover))));background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}.br-textarea.dark-mode,.br-textarea.dark-mode label{--color:var(--color-dark);--focus-color:var(--focus-color-dark)}.br-textarea.dark-mode textarea{color:var(--color-light)}:host{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Rawline, Raleway, sans-serif}";
14
- const BrTextareaStyle0 = textareaCss;
15
-
16
- const Textarea = class {
17
- constructor(hostRef) {
18
- index.registerInstance(this, hostRef);
19
- if (hostRef.$hostElement$["s-ei"]) {
20
- this.elementInternals = hostRef.$hostElement$["s-ei"];
21
- }
22
- else {
23
- this.elementInternals = hostRef.$hostElement$.attachInternals();
24
- hostRef.$hostElement$["s-ei"] = this.elementInternals;
25
- }
26
- /**
27
- * Manipula a mudança de valor do textarea. Atualiza o valor e emite um evento de mudança.
28
- * @param event - O evento de entrada do textarea.
29
- */
30
- this.handleChange = (event) => {
31
- var _a;
32
- const textarea = event.target;
33
- this.value = textarea.value;
34
- this.currentLength = (_a = this.value) === null || _a === void 0 ? void 0 : _a.length;
35
- this.emitValueChange();
36
- };
37
- this.inheritedAttributes = {};
38
- this.value = undefined;
39
- this.label = undefined;
40
- this.placeholder = undefined;
41
- this.disabled = false;
42
- this.maxlength = 0;
43
- this.state = undefined;
44
- this.density = 'medium';
45
- this.isInline = false;
46
- this.currentLength = undefined;
47
- this.customId = `br-textarea-${v4.v4()}`;
48
- }
49
- componentWillLoad() {
50
- var _a;
51
- this.currentLength = (_a = this.value) === null || _a === void 0 ? void 0 : _a.length;
52
- this.inheritedAttributes = inheritedAttributes.inheritAriaAttributes(this.el);
53
- }
54
- valueChanged() {
55
- var _a;
56
- this.currentLength = (_a = this.value) === null || _a === void 0 ? void 0 : _a.length;
57
- }
58
- /**
59
- * Define um novo valor para o textarea.
60
- * @param newValue - O novo valor a ser definido.
61
- */
62
- async setValue(newValue) {
63
- var _a;
64
- this.value = newValue;
65
- this.currentLength = (_a = this.value) === null || _a === void 0 ? void 0 : _a.length;
66
- this.emitValueChange();
67
- }
68
- emitValueChange() {
69
- const changeEvent = new CustomEvent('valueChange', {
70
- detail: { value: this.value },
71
- bubbles: true,
72
- composed: true,
73
- });
74
- this.el.dispatchEvent(changeEvent);
75
- }
76
- getCssClassMap() {
77
- return {
78
- 'br-textarea': true,
79
- small: this.density === 'small',
80
- medium: this.density === 'medium',
81
- large: this.density === 'large',
82
- success: this.state === 'success',
83
- danger: this.state === 'danger',
84
- warning: this.state === 'warning',
85
- };
86
- }
87
- render() {
88
- const caracteresRestantes = this.maxlength - this.currentLength;
89
- const mostrarLimite = this.currentLength > 0;
90
- return (index.h(index.Host, { key: '9bfb06666d1c2b474e44b9a8c5ee68a1b435199f' }, index.h("div", Object.assign({ key: '977244962b6d2423ace8ec5f5fff9a234d238c3b', class: this.getCssClassMap() }, this.inheritedAttributes), index.h("div", { key: 'b7568e2fcdc00447862e96287989e05afa8ea22f', class: this.isInline ? 'row' : '' }, this.isInline ? (index.h("div", { class: "col-auto pt-half" }, index.h("label", { htmlFor: this.customId }, this.label))) : (index.h("label", { htmlFor: this.customId }, this.label)), index.h("div", { key: '56ef7055c6a4f48e50bbd359f0c1b70c70a5b310', class: this.isInline ? 'col' : '' }, index.h("textarea", Object.assign({ key: 'e10d4ea67079a82976195b1ee931d132ad699b38', id: this.customId, value: this.value, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleChange }, (this.maxlength > 0 ? { maxLength: this.maxlength } : {}))), index.h("div", { key: 'dfb7790e95c1ec6c3f4202ebe6a56fd52c8cc037', class: "text-base mt-1" }, this.maxlength > 0 && (index.h("div", { key: '28e5410a07385118ffcbeb82c5a9a3906e8c199d' }, mostrarLimite ? (index.h("span", { class: "restantes", "aria-live": "polite", role: "status", id: "limitmax" }, "Restam ", index.h("strong", null, caracteresRestantes), " caracteres")) : (index.h("span", { class: "limit", "aria-live": "polite" }, "Limite m\u00E1ximo de ", index.h("strong", null, this.maxlength), " caracteres"))))), index.h("slot", { key: '6a6ff1012fdd6fa62b3a9175220b466db904a148' }))))));
91
- }
92
- static get formAssociated() { return true; }
93
- get el() { return index.getElement(this); }
94
- static get watchers() { return {
95
- "value": ["valueChanged"]
96
- }; }
97
- };
98
- Textarea.style = BrTextareaStyle0;
99
-
100
- exports.br_textarea = Textarea;
101
-
102
- //# sourceMappingURL=br-textarea.cjs.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"br-textarea.entry.cjs.js","mappings":"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","names":["uuidv4","inheritAriaAttributes","h","Host"],"sources":["src/components/textarea/textarea.scss?tag=br-textarea&encapsulation=shadow","src/components/textarea/textarea.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/textarea/textarea.scss\";\n:host {\n display: block;\n box-sizing: border-box;\n font-family: Rawline, Raleway, sans-serif;\n}\n","import { AttachInternals, Component, Element, h, Host, Method, Prop, State, Watch } from '@stencil/core'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\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/textarea?tab=designer).\n *\n * @slot default - Espaço de conteúdo do textarea. Geralmente usado para incluir texto adicional ou instruções para o usuário.\n */\n@Component({\n tag: 'br-textarea',\n styleUrl: 'textarea.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Textarea {\n @Element() el: HTMLBrTextareaElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Valor atual do textarea. Este valor pode ser alterado programaticamente.\n */\n @Prop({ mutable: true, reflect: true }) value: string\n\n /**\n * Texto do rótulo associado ao textarea. Este rótulo é exibido acima do campo de entrada.\n */\n @Prop({ reflect: true }) label: string\n\n /**\n * Texto exibido quando o textarea está vazio. Ajuda a guiar o usuário sobre o que deve ser inserido.\n */\n @Prop({ reflect: true }) placeholder: string\n\n /**\n * Indica se o textarea está desabilitado. Quando verdadeiro, o usuário não pode interagir com o campo.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * Número máximo de caracteres permitidos no textarea. Se definido como 0, não há limite.\n */\n @Prop({ reflect: true }) maxlength: number = 0\n\n /**\n * Define o estado visual do componente, podendo ser 'danger', 'success' ou 'warning'.\n */\n @Prop({ reflect: true }) state: 'danger' | 'success' | 'warning'\n /**\n * Ajusta a densidade do componente, podendo ser 'small', 'medium' ou 'large'.\n */\n @Prop({ reflect: true }) density: 'small' | 'medium' | 'large' = 'medium'\n\n /**\n * Se verdadeiro, o rótulo e o input estarão na mesma linha (layout inline).\n */\n @Prop({ reflect: true }) isInline: boolean = false\n\n /**\n * Comprimento atual do texto no textarea. É atualizado sempre que o valor do textarea muda.\n */\n @State() currentLength: number\n\n /**\n * Identificador único do textarea.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true, attribute: 'id' }) customId: string = `br-textarea-${uuidv4()}`\n\n componentWillLoad() {\n this.currentLength = this.value?.length\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n @Watch('value')\n valueChanged() {\n this.currentLength = this.value?.length\n }\n\n /**\n * Manipula a mudança de valor do textarea. Atualiza o valor e emite um evento de mudança.\n * @param event - O evento de entrada do textarea.\n */\n private readonly handleChange = (event: Event) => {\n const textarea = event.target as HTMLTextAreaElement\n this.value = textarea.value\n this.currentLength = this.value?.length\n this.emitValueChange()\n }\n\n /**\n * Define um novo valor para o textarea.\n * @param newValue - O novo valor a ser definido.\n */\n @Method()\n async setValue(newValue: string) {\n this.value = newValue\n this.currentLength = this.value?.length\n this.emitValueChange()\n }\n\n private emitValueChange() {\n const changeEvent = new CustomEvent('valueChange', {\n detail: { value: this.value },\n bubbles: true,\n composed: true,\n })\n this.el.dispatchEvent(changeEvent)\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-textarea': true,\n small: this.density === 'small',\n medium: this.density === 'medium',\n large: this.density === 'large',\n success: this.state === 'success',\n danger: this.state === 'danger',\n warning: this.state === 'warning',\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n render() {\n const caracteresRestantes: number = this.maxlength - this.currentLength\n const mostrarLimite = this.currentLength > 0\n\n return (\n <Host>\n <div class={this.getCssClassMap()} {...this.inheritedAttributes}>\n <div class={this.isInline ? 'row' : ''}>\n {this.isInline ? (\n <div class=\"col-auto pt-half\">\n <label htmlFor={this.customId}>{this.label}</label>\n </div>\n ) : (\n <label htmlFor={this.customId}>{this.label}</label>\n )}\n <div class={this.isInline ? 'col' : ''}>\n <textarea\n id={this.customId}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n onInput={this.handleChange}\n {...(this.maxlength > 0 ? { maxLength: this.maxlength } : {})}\n ></textarea>\n <div class=\"text-base mt-1\">\n {this.maxlength > 0 && (\n <div>\n {mostrarLimite ? (\n <span class=\"restantes\" aria-live=\"polite\" role=\"status\" id=\"limitmax\">\n Restam <strong>{caracteresRestantes}</strong> caracteres\n </span>\n ) : (\n <span class=\"limit\" aria-live=\"polite\">\n Limite máximo de <strong>{this.maxlength}</strong> caracteres\n </span>\n )}\n </div>\n )}\n </div>\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"version":3}