@govbr-ds/webcomponents 2.0.0-next.13 → 2.0.0-next.15

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 (208) hide show
  1. package/dist/cjs/br-avatar.cjs.entry.js +6 -6
  2. package/dist/cjs/br-avatar.cjs.entry.js.map +1 -1
  3. package/dist/cjs/br-button_2.cjs.entry.js +20 -21
  4. package/dist/cjs/br-button_2.cjs.entry.js.map +1 -1
  5. package/dist/cjs/br-checkbox.cjs.entry.js +9 -8
  6. package/dist/cjs/br-checkbox.cjs.entry.js.map +1 -1
  7. package/dist/cjs/br-dropdown.cjs.entry.js +142 -0
  8. package/dist/cjs/br-dropdown.cjs.entry.js.map +1 -0
  9. package/dist/cjs/br-input.cjs.entry.js +13 -12
  10. package/dist/cjs/br-input.cjs.entry.js.map +1 -1
  11. package/dist/cjs/br-item.cjs.entry.js +24 -24
  12. package/dist/cjs/br-item.cjs.entry.js.map +1 -1
  13. package/dist/cjs/br-list.cjs.entry.js +8 -7
  14. package/dist/cjs/br-list.cjs.entry.js.map +1 -1
  15. package/dist/cjs/br-loading.cjs.entry.js +3 -3
  16. package/dist/cjs/br-loading.cjs.entry.js.map +1 -1
  17. package/dist/cjs/br-message.cjs.entry.js +8 -7
  18. package/dist/cjs/br-message.cjs.entry.js.map +1 -1
  19. package/dist/cjs/br-radio.cjs.entry.js +27 -29
  20. package/dist/cjs/br-radio.cjs.entry.js.map +1 -1
  21. package/dist/cjs/br-switch.cjs.entry.js +9 -8
  22. package/dist/cjs/br-switch.cjs.entry.js.map +1 -1
  23. package/dist/cjs/br-textarea.cjs.entry.js +158 -0
  24. package/dist/cjs/br-textarea.cjs.entry.js.map +1 -0
  25. package/dist/cjs/{index-ecdd4399.js → index-fb4e9eaf.js} +37 -3
  26. package/dist/cjs/index-fb4e9eaf.js.map +1 -0
  27. package/dist/cjs/loader.cjs.js +2 -2
  28. package/dist/cjs/webcomponents.cjs.js +2 -2
  29. package/dist/cjs/webcomponents.cjs.js.map +1 -1
  30. package/dist/collection/collection-manifest.json +3 -1
  31. package/dist/collection/components/avatar/avatar.css +112 -1
  32. package/dist/collection/components/avatar/avatar.js +4 -4
  33. package/dist/collection/components/avatar/avatar.js.map +1 -1
  34. package/dist/collection/components/button/button.css +117 -1
  35. package/dist/collection/components/button/button.js +15 -34
  36. package/dist/collection/components/button/button.js.map +1 -1
  37. package/dist/collection/components/checkbox/checkbox.css +103 -1
  38. package/dist/collection/components/checkbox/checkbox.js +9 -8
  39. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  40. package/dist/collection/components/dropdown/dropdown.css +471 -0
  41. package/dist/collection/components/dropdown/dropdown.js +426 -0
  42. package/dist/collection/components/dropdown/dropdown.js.map +1 -0
  43. package/dist/collection/components/icon/icon.css +103 -1
  44. package/dist/collection/components/icon/icon.js +4 -4
  45. package/dist/collection/components/icon/icon.js.map +1 -1
  46. package/dist/collection/components/input/input.css +103 -1
  47. package/dist/collection/components/input/input.js +11 -28
  48. package/dist/collection/components/input/input.js.map +1 -1
  49. package/dist/collection/components/item/item.css +103 -1
  50. package/dist/collection/components/item/item.js +25 -25
  51. package/dist/collection/components/item/item.js.map +1 -1
  52. package/dist/collection/components/list/list.css +103 -1
  53. package/dist/collection/components/list/list.js +13 -12
  54. package/dist/collection/components/list/list.js.map +1 -1
  55. package/dist/collection/components/loading/loading.css +117 -1
  56. package/dist/collection/components/loading/loading.js +1 -1
  57. package/dist/collection/components/loading/loading.js.map +1 -1
  58. package/dist/collection/components/message/message.css +103 -1
  59. package/dist/collection/components/message/message.js +6 -5
  60. package/dist/collection/components/message/message.js.map +1 -1
  61. package/dist/collection/components/radio/radio.css +103 -1
  62. package/dist/collection/components/radio/radio.js +26 -74
  63. package/dist/collection/components/radio/radio.js.map +1 -1
  64. package/dist/collection/components/switch/switch.css +103 -1
  65. package/dist/collection/components/switch/switch.js +9 -8
  66. package/dist/collection/components/switch/switch.js.map +1 -1
  67. package/dist/collection/components/textarea/textarea.css +522 -0
  68. package/dist/collection/components/textarea/textarea.js +566 -0
  69. package/dist/collection/components/textarea/textarea.js.map +1 -0
  70. package/dist/collection/pages/dropdown/dropdown.js +18 -0
  71. package/dist/collection/pages/textarea/textarea.js +19 -0
  72. package/dist/collection/scripts/menu.js +50 -48
  73. package/dist/components/br-avatar.js +7 -7
  74. package/dist/components/br-avatar.js.map +1 -1
  75. package/dist/components/br-button.js +1 -1
  76. package/dist/components/br-checkbox.js +11 -10
  77. package/dist/components/br-checkbox.js.map +1 -1
  78. package/dist/components/br-dropdown.d.ts +11 -0
  79. package/dist/components/br-dropdown.js +156 -0
  80. package/dist/components/br-dropdown.js.map +1 -0
  81. package/dist/components/br-icon.js +1 -1
  82. package/dist/components/br-input.js +15 -15
  83. package/dist/components/br-input.js.map +1 -1
  84. package/dist/components/br-item.js +27 -27
  85. package/dist/components/br-item.js.map +1 -1
  86. package/dist/components/br-list.js +10 -9
  87. package/dist/components/br-list.js.map +1 -1
  88. package/dist/components/br-loading.js +3 -3
  89. package/dist/components/br-loading.js.map +1 -1
  90. package/dist/components/br-message.js +10 -9
  91. package/dist/components/br-message.js.map +1 -1
  92. package/dist/components/br-radio.js +29 -33
  93. package/dist/components/br-radio.js.map +1 -1
  94. package/dist/components/br-switch.js +11 -10
  95. package/dist/components/br-switch.js.map +1 -1
  96. package/dist/components/br-textarea.d.ts +11 -0
  97. package/dist/components/br-textarea.js +181 -0
  98. package/dist/components/br-textarea.js.map +1 -0
  99. package/dist/components/index.d.ts +4 -0
  100. package/dist/components/index.js +3 -1
  101. package/dist/components/index.js.map +1 -1
  102. package/dist/components/{p-4c4ab942.js → p-698e7a18.js} +27 -3
  103. package/dist/components/p-698e7a18.js.map +1 -0
  104. package/dist/components/{p-ceec3589.js → p-af0dfebc.js} +6 -6
  105. package/dist/components/{p-ceec3589.js.map → p-af0dfebc.js.map} +1 -1
  106. package/dist/components/p-baa2948a.js +138 -0
  107. package/dist/components/p-baa2948a.js.map +1 -0
  108. package/dist/esm/br-avatar.entry.js +6 -6
  109. package/dist/esm/br-avatar.entry.js.map +1 -1
  110. package/dist/esm/br-button_2.entry.js +20 -21
  111. package/dist/esm/br-button_2.entry.js.map +1 -1
  112. package/dist/esm/br-checkbox.entry.js +9 -8
  113. package/dist/esm/br-checkbox.entry.js.map +1 -1
  114. package/dist/esm/br-dropdown.entry.js +138 -0
  115. package/dist/esm/br-dropdown.entry.js.map +1 -0
  116. package/dist/esm/br-input.entry.js +13 -12
  117. package/dist/esm/br-input.entry.js.map +1 -1
  118. package/dist/esm/br-item.entry.js +24 -24
  119. package/dist/esm/br-item.entry.js.map +1 -1
  120. package/dist/esm/br-list.entry.js +8 -7
  121. package/dist/esm/br-list.entry.js.map +1 -1
  122. package/dist/esm/br-loading.entry.js +3 -3
  123. package/dist/esm/br-loading.entry.js.map +1 -1
  124. package/dist/esm/br-message.entry.js +8 -7
  125. package/dist/esm/br-message.entry.js.map +1 -1
  126. package/dist/esm/br-radio.entry.js +27 -29
  127. package/dist/esm/br-radio.entry.js.map +1 -1
  128. package/dist/esm/br-switch.entry.js +9 -8
  129. package/dist/esm/br-switch.entry.js.map +1 -1
  130. package/dist/esm/br-textarea.entry.js +154 -0
  131. package/dist/esm/br-textarea.entry.js.map +1 -0
  132. package/dist/esm/{index-5866d5ff.js → index-c7037515.js} +37 -3
  133. package/dist/esm/index-c7037515.js.map +1 -0
  134. package/dist/esm/loader.js +3 -3
  135. package/dist/esm/webcomponents.js +3 -3
  136. package/dist/esm/webcomponents.js.map +1 -1
  137. package/dist/types/components/avatar/avatar.d.ts +3 -3
  138. package/dist/types/components/button/button.d.ts +2 -6
  139. package/dist/types/components/checkbox/checkbox.d.ts +2 -2
  140. package/dist/types/components/dropdown/dropdown.d.ts +154 -0
  141. package/dist/types/components/icon/icon.d.ts +2 -2
  142. package/dist/types/components/input/input.d.ts +9 -13
  143. package/dist/types/components/item/item.d.ts +4 -4
  144. package/dist/types/components/list/list.d.ts +17 -17
  145. package/dist/types/components/loading/loading.d.ts +1 -1
  146. package/dist/types/components/message/message.d.ts +2 -2
  147. package/dist/types/components/radio/radio.d.ts +5 -4
  148. package/dist/types/components/switch/switch.d.ts +3 -3
  149. package/dist/types/components/textarea/textarea.d.ts +157 -0
  150. package/dist/types/components.d.ts +328 -26
  151. package/dist/webcomponents/p-0f8df882.entry.js +2 -0
  152. package/dist/webcomponents/p-0f8df882.entry.js.map +1 -0
  153. package/dist/webcomponents/p-128b4b58.entry.js +2 -0
  154. package/dist/webcomponents/p-128b4b58.entry.js.map +1 -0
  155. package/dist/webcomponents/p-2bc17aba.entry.js +2 -0
  156. package/dist/webcomponents/p-2bc17aba.entry.js.map +1 -0
  157. package/dist/webcomponents/p-2ff6ee7a.entry.js +13 -0
  158. package/dist/webcomponents/p-2ff6ee7a.entry.js.map +1 -0
  159. package/dist/webcomponents/p-4645bc22.entry.js +2 -0
  160. package/dist/webcomponents/p-4645bc22.entry.js.map +1 -0
  161. package/dist/webcomponents/p-4e1a6b1e.entry.js +2 -0
  162. package/dist/webcomponents/p-4e1a6b1e.entry.js.map +1 -0
  163. package/dist/webcomponents/p-53a18892.entry.js +2 -0
  164. package/dist/webcomponents/p-53a18892.entry.js.map +1 -0
  165. package/dist/webcomponents/p-6783eb4f.entry.js +2 -0
  166. package/dist/webcomponents/p-6783eb4f.entry.js.map +1 -0
  167. package/dist/webcomponents/{p-6315c80a.js → p-6849daee.js} +3 -3
  168. package/dist/webcomponents/p-6849daee.js.map +1 -0
  169. package/dist/webcomponents/p-e1d4a515.entry.js +2 -0
  170. package/dist/webcomponents/p-e1d4a515.entry.js.map +1 -0
  171. package/dist/webcomponents/p-e74737f9.entry.js +2 -0
  172. package/dist/webcomponents/p-e74737f9.entry.js.map +1 -0
  173. package/dist/webcomponents/p-f66d6a1e.entry.js +2 -0
  174. package/dist/webcomponents/p-f66d6a1e.entry.js.map +1 -0
  175. package/dist/webcomponents/p-ffbd85fd.entry.js +2 -0
  176. package/dist/webcomponents/p-ffbd85fd.entry.js.map +1 -0
  177. package/dist/webcomponents/webcomponents.esm.js +1 -1
  178. package/dist/webcomponents/webcomponents.esm.js.map +1 -1
  179. package/hydrate/index.js +492 -147
  180. package/hydrate/index.mjs +492 -147
  181. package/package.json +10 -6
  182. package/vscode-data.json +66 -12
  183. package/dist/cjs/index-ecdd4399.js.map +0 -1
  184. package/dist/components/p-4c4ab942.js.map +0 -1
  185. package/dist/components/p-6c7f2b2a.js +0 -140
  186. package/dist/components/p-6c7f2b2a.js.map +0 -1
  187. package/dist/esm/index-5866d5ff.js.map +0 -1
  188. package/dist/webcomponents/p-0178bba0.entry.js +0 -2
  189. package/dist/webcomponents/p-0178bba0.entry.js.map +0 -1
  190. package/dist/webcomponents/p-47812ff4.entry.js +0 -2
  191. package/dist/webcomponents/p-47812ff4.entry.js.map +0 -1
  192. package/dist/webcomponents/p-5cb55733.entry.js +0 -2
  193. package/dist/webcomponents/p-5cb55733.entry.js.map +0 -1
  194. package/dist/webcomponents/p-6315c80a.js.map +0 -1
  195. package/dist/webcomponents/p-6f787c6e.entry.js +0 -2
  196. package/dist/webcomponents/p-6f787c6e.entry.js.map +0 -1
  197. package/dist/webcomponents/p-9054589f.entry.js +0 -2
  198. package/dist/webcomponents/p-9054589f.entry.js.map +0 -1
  199. package/dist/webcomponents/p-961ad7ab.entry.js +0 -13
  200. package/dist/webcomponents/p-961ad7ab.entry.js.map +0 -1
  201. package/dist/webcomponents/p-9810bb43.entry.js +0 -2
  202. package/dist/webcomponents/p-9810bb43.entry.js.map +0 -1
  203. package/dist/webcomponents/p-a1969013.entry.js +0 -2
  204. package/dist/webcomponents/p-a1969013.entry.js.map +0 -1
  205. package/dist/webcomponents/p-ca5f6891.entry.js +0 -2
  206. package/dist/webcomponents/p-ca5f6891.entry.js.map +0 -1
  207. package/dist/webcomponents/p-e981b8b4.entry.js +0 -2
  208. package/dist/webcomponents/p-e981b8b4.entry.js.map +0 -1
@@ -38,7 +38,8 @@ img {
38
38
  }
39
39
 
40
40
  button,
41
- input {
41
+ input,
42
+ textarea {
42
43
  font-family: inherit;
43
44
  font-size: 100%;
44
45
  line-height: var(--font-line-height-medium);
@@ -82,6 +83,10 @@ progress {
82
83
  vertical-align: baseline;
83
84
  }
84
85
 
86
+ textarea {
87
+ overflow: auto;
88
+ }
89
+
85
90
  [type=checkbox],
86
91
  [type=radio] {
87
92
  box-sizing: border-box;
@@ -139,6 +144,17 @@ progress {
139
144
  width: auto;
140
145
  }
141
146
 
147
+ .container {
148
+ --grid-margin: var(--grid-portrait-margin);
149
+ --grid-maxwidth: var(--grid-portrait-maxwidth);
150
+ margin-left: auto;
151
+ margin-right: auto;
152
+ max-width: var(--grid-maxwidth);
153
+ padding-left: var(--grid-margin);
154
+ padding-right: var(--grid-margin);
155
+ width: 100%;
156
+ }
157
+
142
158
  .row {
143
159
  --grid-gutter: var(--grid-portrait-gutter);
144
160
  display: flex;
@@ -148,24 +164,52 @@ progress {
148
164
  }
149
165
 
150
166
  @media (min-width: 576px) {
167
+ .container {
168
+ --grid-margin: var(--grid-tablet-margin);
169
+ }
151
170
  .row {
152
171
  --grid-gutter: var(--grid-tablet-gutter);
153
172
  }
173
+ .container {
174
+ --grid-maxwidth: calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin));
175
+ }
154
176
  }
155
177
  @media (min-width: 992px) {
178
+ .container {
179
+ --grid-margin: var(--grid-tablet-margin);
180
+ }
156
181
  .row {
157
182
  --grid-gutter: var(--grid-tablet-gutter);
158
183
  }
184
+ .container {
185
+ --grid-maxwidth: calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin));
186
+ }
159
187
  }
160
188
  @media (min-width: 1280px) {
189
+ .container {
190
+ --grid-margin: var(--grid-desktop-margin);
191
+ }
161
192
  .row {
162
193
  --grid-gutter: var(--grid-desktop-gutter);
163
194
  }
195
+ .container {
196
+ --grid-maxwidth: calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin));
197
+ }
164
198
  }
165
199
  @media (min-width: 1600px) {
200
+ .container {
201
+ --grid-margin: var(--grid-tv-margin);
202
+ }
166
203
  .row {
167
204
  --grid-gutter: var(--grid-tv-gutter);
168
205
  }
206
+ .container {
207
+ --grid-maxwidth: calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin));
208
+ }
209
+ }
210
+
211
+ .mt-1 {
212
+ margin-top: var(--spacing-scale-half) !important;
169
213
  }
170
214
 
171
215
  .mr-1 {
@@ -180,6 +224,10 @@ progress {
180
224
  margin-bottom: var(--spacing-scale-2x) !important;
181
225
  }
182
226
 
227
+ .pt-half {
228
+ padding-top: var(--spacing-scale-half) !important;
229
+ }
230
+
183
231
  .py-3 {
184
232
  padding-bottom: var(--spacing-scale-2x) !important;
185
233
  padding-top: var(--spacing-scale-2x) !important;
@@ -256,6 +304,11 @@ img {
256
304
  max-width: 100%;
257
305
  vertical-align: middle;
258
306
  }
307
+ ul {
308
+ margin-bottom: var(--spacing-scale-2x);
309
+ margin-top: 0;
310
+ padding: 0 0 0 var(--spacing-scale-5x);
311
+ }
259
312
 
260
313
  label,
261
314
  .label {
@@ -290,6 +343,7 @@ label,
290
343
  }
291
344
 
292
345
  input,
346
+ textarea,
293
347
  .input {
294
348
  color: var(--color-light);
295
349
  font-size: var(--font-size-scale-up-01);
@@ -333,6 +387,10 @@ code,
333
387
  white-space: nowrap !important;
334
388
  }
335
389
 
390
+ .text-base {
391
+ font-size: var(--font-size-scale-base) !important;
392
+ }
393
+
336
394
  .highlight {
337
395
  background: var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));
338
396
  color: var(--status-highlight-text);
@@ -349,6 +407,50 @@ code,
349
407
  pointer-events: none;
350
408
  }
351
409
 
410
+ [data-toggle=dropdown] + * {
411
+ position: absolute;
412
+ }
413
+
414
+ .dropdown {
415
+ position: relative;
416
+ }
417
+ .dropdown [data-toggle=dropdown] + * {
418
+ box-shadow: var(--surface-shadow-sm);
419
+ left: 0;
420
+ position: absolute;
421
+ top: 100%;
422
+ }
423
+ .dropdown .br-item {
424
+ --color: var(--color-light);
425
+ --color-rgb: var(--color-light-rgb);
426
+ --text-color: var(--color-light);
427
+ --interactive: var(--interactive-light);
428
+ --interactive-rgb: var(--color-rgb);
429
+ --visited: var(--visited-light);
430
+ --hover: var(--hover-light);
431
+ --pressed: var(--pressed-light);
432
+ --focus-color: var(--focus-color-light);
433
+ --focus: var(--focus-color-light);
434
+ --item-padding-y: var(--spacing-scale-2x);
435
+ background-color: var(--background-light);
436
+ color: var(--color);
437
+ }
438
+ .dropdown .br-item:not(:last-child) {
439
+ border-bottom: 1px solid var(--border-color);
440
+ }
441
+ .dropdown .br-item.selected {
442
+ --color: var(--color-dark);
443
+ --color-rgb: var(--color-dark-rgb);
444
+ --text-color: var(--color-dark);
445
+ --interactive: var(--interactive-dark);
446
+ --interactive-rgb: var(--interactive-dark-rgb);
447
+ --visited: var(--visited-dark);
448
+ --hover: var(--hover-dark);
449
+ --pressed: var(--pressed-dark);
450
+ --focus-color: var(--focus-color-dark);
451
+ --focus: var(--focus-color-dark);
452
+ }
453
+
352
454
  .loading,
353
455
  .br-loading {
354
456
  --loading-size: var(--loading-indetermined-diameter-sm);
@@ -453,6 +555,13 @@ code,
453
555
  animation: fill ease-in-out 2s;
454
556
  transform: rotate(3.6deg);
455
557
  }
558
+ .loading[data-progress="3"] .br-loading-mask.full,
559
+ .loading[data-progress="3"] .br-loading-fill,
560
+ .br-loading[data-progress="3"] .br-loading-mask.full,
561
+ .br-loading[data-progress="3"] .br-loading-fill {
562
+ animation: fill ease-in-out 2s;
563
+ transform: rotate(5.4deg);
564
+ }
456
565
  .loading[data-progress="5"] .br-loading-mask.full,
457
566
  .loading[data-progress="5"] .br-loading-fill,
458
567
  .br-loading[data-progress="5"] .br-loading-mask.full,
@@ -460,6 +569,13 @@ code,
460
569
  animation: fill ease-in-out 2s;
461
570
  transform: rotate(9deg);
462
571
  }
572
+ .loading[data-progress="10"] .br-loading-mask.full,
573
+ .loading[data-progress="10"] .br-loading-fill,
574
+ .br-loading[data-progress="10"] .br-loading-mask.full,
575
+ .br-loading[data-progress="10"] .br-loading-fill {
576
+ animation: fill ease-in-out 2s;
577
+ transform: rotate(18deg);
578
+ }
463
579
  .loading[data-progress="16"] .br-loading-mask.full,
464
580
  .loading[data-progress="16"] .br-loading-fill,
465
581
  .br-loading[data-progress="16"] .br-loading-mask.full,
@@ -46,7 +46,7 @@ export class Loading {
46
46
  };
47
47
  }
48
48
  render() {
49
- return (h(Host, { key: 'c1e9b7535b5ee4c293dd6b0985359d741966d987' }, this.isProgress ? (h("div", Object.assign({}, this.inheritedAttributes, { class: this.getCssClassMap(), role: "progressbar", "data-progress": this.progressPercent, "aria-label": "Carregando exemplo com porcentagem", "aria-valuemin": "0", "aria-valuenow": this.progressPercent, "aria-valuemax": "100" }), h("div", { class: "br-loading-mask full" }, h("div", { class: "br-loading-fill" })), h("div", { class: "br-loading-mask" }, h("div", { class: "br-loading-fill" })))) : (h("div", { class: "loading-progress-alignment" }, h("div", { class: this.getCssClassMap(), role: "progressbar", "aria-label": "Carregando exemplo indeterminado pequeno" }), h("span", { class: "rotulo" }, this.label)))));
49
+ return (h(Host, { key: '7f56287a3ba146d776b7eb895721d7ec5841bfbb' }, this.isProgress ? (h("div", Object.assign({}, this.inheritedAttributes, { class: this.getCssClassMap(), role: "progressbar", "data-progress": this.progressPercent, "aria-label": "Carregando exemplo com porcentagem", "aria-valuemin": "0", "aria-valuenow": this.progressPercent, "aria-valuemax": "100" }), h("div", { class: "br-loading-mask full" }, h("div", { class: "br-loading-fill" })), h("div", { class: "br-loading-mask" }, h("div", { class: "br-loading-fill" })))) : (h("div", { class: "loading-progress-alignment" }, h("div", { class: this.getCssClassMap(), role: "progressbar", "aria-label": "Carregando exemplo indeterminado pequeno" }), h("span", { class: "rotulo" }, this.label)))));
50
50
  }
51
51
  static get is() { return "br-loading"; }
52
52
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"loading.js","sourceRoot":"","sources":["../../../src/components/loading/loading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACtF,OAAO,EAAc,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAGpF;;GAEG;AAOH,MAAM,OAAO,OAAO;;QAgIV,wBAAmB,GAAe,EAAE,CAAA;0BApHG,KAAK;+BAMD,IAAI;wBAKV,KAAK;qBAMT,EAAE;;IAO3C,iBAAiB;QACf,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;IAC1B,CAAC;IAQD,iBAAiB;QACf,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;QACtB,IAAI,CAAC,mBAAmB,GAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC3D,CAAC;IAQD,gBAAgB;QACd,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IACvB,CAAC;IAQD,mBAAmB;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;IAC1B,CAAC;IAQD,kBAAkB;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;IACzB,CAAC;IAQD,qBAAqB;QACnB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;IAC5B,CAAC;IAQD,mBAAmB;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;IAC1B,CAAC;IAQD,kBAAkB;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;IACzB,CAAC;IAQD,oBAAoB;QAClB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAA;IAC7B,CAAC;IAEO,cAAc;QACpB,OAAO;YACL,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI,CAAC,QAAQ;SACtB,CAAA;IACH,CAAC;IAID,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,uDACF,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CACjB,2BACM,IAAI,CAAC,mBAAmB,IAC5B,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAC5B,IAAI,EAAC,aAAa,mBACH,IAAI,CAAC,eAAe,gBACxB,oCAAoC,mBACjC,GAAG,mBACF,IAAI,CAAC,eAAe,mBACrB,KAAK;YAEnB,WAAK,KAAK,EAAC,sBAAsB;gBAC/B,WAAK,KAAK,EAAC,iBAAiB,GAAO,CAC/B;YACN,WAAK,KAAK,EAAC,iBAAiB;gBAC1B,WAAK,KAAK,EAAC,iBAAiB,GAAO,CAC/B,CACF,CACP,CAAC,CAAC,CAAC,CACF,WAAK,KAAK,EAAC,4BAA4B;YACrC,WACE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAC5B,IAAI,EAAC,aAAa,gBACP,0CAA0C,GAChD;YACP,YAAM,KAAK,EAAC,QAAQ,IAAE,IAAI,CAAC,KAAK,CAAQ,CACpC,CACP,CACI,CACR,CAAA;IACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Host, Prop } from '@stencil/core'\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/loading?tab=designer).\n */\n@Component({\n tag: 'br-loading',\n styleUrl: 'loading.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Loading {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLElement\n\n /**\n * Determina o tipo de indicador a ser exibido:\n * - Se verdadeiro, exibirá uma barra de progresso com a porcentagem de progresso.\n * - Se falso, exibirá um indicador de carregamento indeterminado.\n */\n @Prop({ reflect: true }) isProgress: boolean = false\n\n /**\n * Define a porcentagem de progresso a ser exibida na barra de progresso.\n * Deve ser um valor numérico entre 0 e 100. Ignorado se `isProgress` estiver definido como falso.\n */\n @Prop({ reflect: true }) progressPercent: number = null\n\n /**\n * Se verdadeiro, ajusta o tamanho do indicador de carregamento para o tamanho médio.\n */\n @Prop({ reflect: true }) isMedium: boolean = false\n\n /**\n * Texto a ser exibido abaixo do indicador de carregamento.\n * Pode ser usado para fornecer informações adicionais ou descritivas sobre o estado do carregamento.\n */\n @Prop({ reflect: true }) label: string = ''\n\n /**\n * Emite um evento quando o componente é conectado ao DOM.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#connectedcallback) para mais detalhes.\n */\n @Event() brDidConnect: EventEmitter<void>\n connectedCallback() {\n this.brDidConnect.emit()\n }\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 /**\n * Emite um evento após o componente ter sido carregado pela primeira vez.\n * Utilize este evento para realizar ações que devem ocorrer depois que o componente foi totalmente carregado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes.\n */\n @Event() brDidLoad: EventEmitter<void>\n componentDidLoad() {\n this.brDidLoad.emit()\n }\n\n /**\n * Emite um evento antes do componente ser renderizado.\n * Utilize este evento para preparar o componente antes de sua renderização.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillrender) para mais detalhes.\n */\n @Event() brWillRender: EventEmitter<void>\n componentWillRender() {\n this.brWillRender.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido renderizado.\n * Utilize este evento para executar ações que devem ocorrer após a renderização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidrender) para mais detalhes.\n */\n @Event() brDidRender: EventEmitter<void>\n componentDidRender() {\n this.brDidRender.emit()\n }\n\n /**\n * Emite um evento para indicar se o componente deve ser atualizado ou não.\n * Este evento é chamado antes de qualquer atualização do componente para decidir se a atualização deve prosseguir.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentshouldupdate) para mais detalhes.\n */\n @Event() brShouldUpdate: EventEmitter<void>\n componentShouldUpdate() {\n this.brShouldUpdate.emit()\n }\n\n /**\n * Emite um evento antes de o componente ser atualizado.\n * Utilize este evento para realizar ações preparatórias antes da atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillupdate) para mais detalhes.\n */\n @Event() brWillUpdate: EventEmitter<void>\n componentWillUpdate() {\n this.brWillUpdate.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido atualizado.\n * Utilize este evento para realizar ações após a atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidupdate) para mais detalhes.\n */\n @Event() brDidUpdate: EventEmitter<void>\n componentDidUpdate() {\n this.brDidUpdate.emit()\n }\n\n /**\n * Emite um evento quando o componente é desconectado do DOM.\n * Utilize este evento para realizar a limpeza ou outras ações necessárias quando o componente é removido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#disconnectedcallback) para mais detalhes.\n */\n @Event() brDidDisconnect: EventEmitter<void>\n disconnectedCallback() {\n this.brDidDisconnect.emit()\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-loading': true,\n medium: this.isMedium,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n render() {\n return (\n <Host>\n {this.isProgress ? (\n <div\n {...this.inheritedAttributes}\n class={this.getCssClassMap()}\n role=\"progressbar\"\n data-progress={this.progressPercent}\n aria-label=\"Carregando exemplo com porcentagem\"\n aria-valuemin=\"0\"\n aria-valuenow={this.progressPercent}\n aria-valuemax=\"100\"\n >\n <div class=\"br-loading-mask full\">\n <div class=\"br-loading-fill\"></div>\n </div>\n <div class=\"br-loading-mask\">\n <div class=\"br-loading-fill\"></div>\n </div>\n </div>\n ) : (\n <div class=\"loading-progress-alignment\">\n <div\n class={this.getCssClassMap()}\n role=\"progressbar\"\n aria-label=\"Carregando exemplo indeterminado pequeno\"\n ></div>\n <span class=\"rotulo\">{this.label}</span>\n </div>\n )}\n </Host>\n )\n }\n}\n"]}
1
+ {"version":3,"file":"loading.js","sourceRoot":"","sources":["../../../src/components/loading/loading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACtF,OAAO,EAAc,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAEpF;;GAEG;AAOH,MAAM,OAAO,OAAO;;QAgIV,wBAAmB,GAAe,EAAE,CAAA;0BApHG,KAAK;+BAMD,IAAI;wBAKV,KAAK;qBAMT,EAAE;;IAO3C,iBAAiB;QACf,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;IAC1B,CAAC;IAQD,iBAAiB;QACf,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;QACtB,IAAI,CAAC,mBAAmB,GAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC3D,CAAC;IAQD,gBAAgB;QACd,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IACvB,CAAC;IAQD,mBAAmB;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;IAC1B,CAAC;IAQD,kBAAkB;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;IACzB,CAAC;IAQD,qBAAqB;QACnB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;IAC5B,CAAC;IAQD,mBAAmB;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;IAC1B,CAAC;IAQD,kBAAkB;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;IACzB,CAAC;IAQD,oBAAoB;QAClB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAA;IAC7B,CAAC;IAEO,cAAc;QACpB,OAAO;YACL,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI,CAAC,QAAQ;SACtB,CAAA;IACH,CAAC;IAID,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,uDACF,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CACjB,2BACM,IAAI,CAAC,mBAAmB,IAC5B,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAC5B,IAAI,EAAC,aAAa,mBACH,IAAI,CAAC,eAAe,gBACxB,oCAAoC,mBACjC,GAAG,mBACF,IAAI,CAAC,eAAe,mBACrB,KAAK;YAEnB,WAAK,KAAK,EAAC,sBAAsB;gBAC/B,WAAK,KAAK,EAAC,iBAAiB,GAAO,CAC/B;YACN,WAAK,KAAK,EAAC,iBAAiB;gBAC1B,WAAK,KAAK,EAAC,iBAAiB,GAAO,CAC/B,CACF,CACP,CAAC,CAAC,CAAC,CACF,WAAK,KAAK,EAAC,4BAA4B;YACrC,WACE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAC5B,IAAI,EAAC,aAAa,gBACP,0CAA0C,GAChD;YACP,YAAM,KAAK,EAAC,QAAQ,IAAE,IAAI,CAAC,KAAK,CAAQ,CACpC,CACP,CACI,CACR,CAAA;IACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Host, Prop } from '@stencil/core'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/loading?tab=designer).\n */\n@Component({\n tag: 'br-loading',\n styleUrl: 'loading.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Loading {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrLoadingElement\n\n /**\n * Determina o tipo de indicador a ser exibido:\n * - Se verdadeiro, exibirá uma barra de progresso com a porcentagem de progresso.\n * - Se falso, exibirá um indicador de carregamento indeterminado.\n */\n @Prop({ reflect: true }) isProgress: boolean = false\n\n /**\n * Define a porcentagem de progresso a ser exibida na barra de progresso.\n * Deve ser um valor numérico entre 0 e 100. Ignorado se `isProgress` estiver definido como falso.\n */\n @Prop({ reflect: true }) progressPercent: number = null\n\n /**\n * Se verdadeiro, ajusta o tamanho do indicador de carregamento para o tamanho médio.\n */\n @Prop({ reflect: true }) isMedium: boolean = false\n\n /**\n * Texto a ser exibido abaixo do indicador de carregamento.\n * Pode ser usado para fornecer informações adicionais ou descritivas sobre o estado do carregamento.\n */\n @Prop({ reflect: true }) label: string = ''\n\n /**\n * Emite um evento quando o componente é conectado ao DOM.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#connectedcallback) para mais detalhes.\n */\n @Event() brDidConnect: EventEmitter<void>\n connectedCallback() {\n this.brDidConnect.emit()\n }\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 /**\n * Emite um evento após o componente ter sido carregado pela primeira vez.\n * Utilize este evento para realizar ações que devem ocorrer depois que o componente foi totalmente carregado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes.\n */\n @Event() brDidLoad: EventEmitter<void>\n componentDidLoad() {\n this.brDidLoad.emit()\n }\n\n /**\n * Emite um evento antes do componente ser renderizado.\n * Utilize este evento para preparar o componente antes de sua renderização.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillrender) para mais detalhes.\n */\n @Event() brWillRender: EventEmitter<void>\n componentWillRender() {\n this.brWillRender.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido renderizado.\n * Utilize este evento para executar ações que devem ocorrer após a renderização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidrender) para mais detalhes.\n */\n @Event() brDidRender: EventEmitter<void>\n componentDidRender() {\n this.brDidRender.emit()\n }\n\n /**\n * Emite um evento para indicar se o componente deve ser atualizado ou não.\n * Este evento é chamado antes de qualquer atualização do componente para decidir se a atualização deve prosseguir.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentshouldupdate) para mais detalhes.\n */\n @Event() brShouldUpdate: EventEmitter<void>\n componentShouldUpdate() {\n this.brShouldUpdate.emit()\n }\n\n /**\n * Emite um evento antes de o componente ser atualizado.\n * Utilize este evento para realizar ações preparatórias antes da atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillupdate) para mais detalhes.\n */\n @Event() brWillUpdate: EventEmitter<void>\n componentWillUpdate() {\n this.brWillUpdate.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido atualizado.\n * Utilize este evento para realizar ações após a atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidupdate) para mais detalhes.\n */\n @Event() brDidUpdate: EventEmitter<void>\n componentDidUpdate() {\n this.brDidUpdate.emit()\n }\n\n /**\n * Emite um evento quando o componente é desconectado do DOM.\n * Utilize este evento para realizar a limpeza ou outras ações necessárias quando o componente é removido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#disconnectedcallback) para mais detalhes.\n */\n @Event() brDidDisconnect: EventEmitter<void>\n disconnectedCallback() {\n this.brDidDisconnect.emit()\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-loading': true,\n medium: this.isMedium,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n render() {\n return (\n <Host>\n {this.isProgress ? (\n <div\n {...this.inheritedAttributes}\n class={this.getCssClassMap()}\n role=\"progressbar\"\n data-progress={this.progressPercent}\n aria-label=\"Carregando exemplo com porcentagem\"\n aria-valuemin=\"0\"\n aria-valuenow={this.progressPercent}\n aria-valuemax=\"100\"\n >\n <div class=\"br-loading-mask full\">\n <div class=\"br-loading-fill\"></div>\n </div>\n <div class=\"br-loading-mask\">\n <div class=\"br-loading-fill\"></div>\n </div>\n </div>\n ) : (\n <div class=\"loading-progress-alignment\">\n <div\n class={this.getCssClassMap()}\n role=\"progressbar\"\n aria-label=\"Carregando exemplo indeterminado pequeno\"\n ></div>\n <span class=\"rotulo\">{this.label}</span>\n </div>\n )}\n </Host>\n )\n }\n}\n"]}
@@ -38,7 +38,8 @@ img {
38
38
  }
39
39
 
40
40
  button,
41
- input {
41
+ input,
42
+ textarea {
42
43
  font-family: inherit;
43
44
  font-size: 100%;
44
45
  line-height: var(--font-line-height-medium);
@@ -82,6 +83,10 @@ progress {
82
83
  vertical-align: baseline;
83
84
  }
84
85
 
86
+ textarea {
87
+ overflow: auto;
88
+ }
89
+
85
90
  [type=checkbox],
86
91
  [type=radio] {
87
92
  box-sizing: border-box;
@@ -139,6 +144,17 @@ progress {
139
144
  width: auto;
140
145
  }
141
146
 
147
+ .container {
148
+ --grid-margin: var(--grid-portrait-margin);
149
+ --grid-maxwidth: var(--grid-portrait-maxwidth);
150
+ margin-left: auto;
151
+ margin-right: auto;
152
+ max-width: var(--grid-maxwidth);
153
+ padding-left: var(--grid-margin);
154
+ padding-right: var(--grid-margin);
155
+ width: 100%;
156
+ }
157
+
142
158
  .row {
143
159
  --grid-gutter: var(--grid-portrait-gutter);
144
160
  display: flex;
@@ -148,24 +164,52 @@ progress {
148
164
  }
149
165
 
150
166
  @media (min-width: 576px) {
167
+ .container {
168
+ --grid-margin: var(--grid-tablet-margin);
169
+ }
151
170
  .row {
152
171
  --grid-gutter: var(--grid-tablet-gutter);
153
172
  }
173
+ .container {
174
+ --grid-maxwidth: calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin));
175
+ }
154
176
  }
155
177
  @media (min-width: 992px) {
178
+ .container {
179
+ --grid-margin: var(--grid-tablet-margin);
180
+ }
156
181
  .row {
157
182
  --grid-gutter: var(--grid-tablet-gutter);
158
183
  }
184
+ .container {
185
+ --grid-maxwidth: calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin));
186
+ }
159
187
  }
160
188
  @media (min-width: 1280px) {
189
+ .container {
190
+ --grid-margin: var(--grid-desktop-margin);
191
+ }
161
192
  .row {
162
193
  --grid-gutter: var(--grid-desktop-gutter);
163
194
  }
195
+ .container {
196
+ --grid-maxwidth: calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin));
197
+ }
164
198
  }
165
199
  @media (min-width: 1600px) {
200
+ .container {
201
+ --grid-margin: var(--grid-tv-margin);
202
+ }
166
203
  .row {
167
204
  --grid-gutter: var(--grid-tv-gutter);
168
205
  }
206
+ .container {
207
+ --grid-maxwidth: calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin));
208
+ }
209
+ }
210
+
211
+ .mt-1 {
212
+ margin-top: var(--spacing-scale-half) !important;
169
213
  }
170
214
 
171
215
  .mr-1 {
@@ -180,6 +224,10 @@ progress {
180
224
  margin-bottom: var(--spacing-scale-2x) !important;
181
225
  }
182
226
 
227
+ .pt-half {
228
+ padding-top: var(--spacing-scale-half) !important;
229
+ }
230
+
183
231
  .py-3 {
184
232
  padding-bottom: var(--spacing-scale-2x) !important;
185
233
  padding-top: var(--spacing-scale-2x) !important;
@@ -256,6 +304,11 @@ img {
256
304
  max-width: 100%;
257
305
  vertical-align: middle;
258
306
  }
307
+ ul {
308
+ margin-bottom: var(--spacing-scale-2x);
309
+ margin-top: 0;
310
+ padding: 0 0 0 var(--spacing-scale-5x);
311
+ }
259
312
 
260
313
  label,
261
314
  .label {
@@ -290,6 +343,7 @@ label,
290
343
  }
291
344
 
292
345
  input,
346
+ textarea,
293
347
  .input {
294
348
  color: var(--color-light);
295
349
  font-size: var(--font-size-scale-up-01);
@@ -333,6 +387,10 @@ code,
333
387
  white-space: nowrap !important;
334
388
  }
335
389
 
390
+ .text-base {
391
+ font-size: var(--font-size-scale-base) !important;
392
+ }
393
+
336
394
  .highlight {
337
395
  background: var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));
338
396
  color: var(--status-highlight-text);
@@ -349,6 +407,50 @@ code,
349
407
  pointer-events: none;
350
408
  }
351
409
 
410
+ [data-toggle=dropdown] + * {
411
+ position: absolute;
412
+ }
413
+
414
+ .dropdown {
415
+ position: relative;
416
+ }
417
+ .dropdown [data-toggle=dropdown] + * {
418
+ box-shadow: var(--surface-shadow-sm);
419
+ left: 0;
420
+ position: absolute;
421
+ top: 100%;
422
+ }
423
+ .dropdown .br-item {
424
+ --color: var(--color-light);
425
+ --color-rgb: var(--color-light-rgb);
426
+ --text-color: var(--color-light);
427
+ --interactive: var(--interactive-light);
428
+ --interactive-rgb: var(--color-rgb);
429
+ --visited: var(--visited-light);
430
+ --hover: var(--hover-light);
431
+ --pressed: var(--pressed-light);
432
+ --focus-color: var(--focus-color-light);
433
+ --focus: var(--focus-color-light);
434
+ --item-padding-y: var(--spacing-scale-2x);
435
+ background-color: var(--background-light);
436
+ color: var(--color);
437
+ }
438
+ .dropdown .br-item:not(:last-child) {
439
+ border-bottom: 1px solid var(--border-color);
440
+ }
441
+ .dropdown .br-item.selected {
442
+ --color: var(--color-dark);
443
+ --color-rgb: var(--color-dark-rgb);
444
+ --text-color: var(--color-dark);
445
+ --interactive: var(--interactive-dark);
446
+ --interactive-rgb: var(--interactive-dark-rgb);
447
+ --visited: var(--visited-dark);
448
+ --hover: var(--hover-dark);
449
+ --pressed: var(--pressed-dark);
450
+ --focus-color: var(--focus-color-dark);
451
+ --focus: var(--focus-color-dark);
452
+ }
453
+
352
454
  .br-message {
353
455
  --message-background: var(--background);
354
456
  --message-color-icon: var(--color);
@@ -7,6 +7,10 @@ import { inheritAriaAttributes } from "../../utils/inherited-attributes";
7
7
  */
8
8
  export class Message {
9
9
  constructor() {
10
+ this.dismissHandler = () => {
11
+ this.brDidClose.emit();
12
+ this.el.remove();
13
+ };
10
14
  this.inheritedAttributes = {};
11
15
  this.messageTitle = '';
12
16
  this.message = '';
@@ -44,10 +48,6 @@ export class Message {
44
48
  disconnectedCallback() {
45
49
  this.brDidDisconnect.emit();
46
50
  }
47
- dismissHandler() {
48
- this.brDidClose.emit();
49
- this.el.remove();
50
- }
51
51
  checkIconState() {
52
52
  const iconMap = {
53
53
  success: 'fa-solid:check-circle',
@@ -64,7 +64,8 @@ export class Message {
64
64
  };
65
65
  }
66
66
  render() {
67
- return (h(Host, { key: '70cc50ddc65eebdb94bf1876e1e6861381d6550c' }, this.isFeedback ? (h("div", { class: "mb-3" }, h("span", Object.assign({ class: `feedback ${this.state}`, role: "alert" }, this.inheritedAttributes), this.showIcon ? h("br-icon", { class: "icon-space", "icon-name": this.checkIconState() }) : null, !this.message ? h("slot", null) : this.message))) : (h("div", Object.assign({ class: this.getCssClassMap(), role: "alert" }, this.inheritedAttributes), this.showIcon && (h("div", { class: "icon" }, h("br-icon", { "icon-name": this.checkIconState(), height: "20", "aria-hidden": "true" }))), h("div", { class: "content", role: "alert" }, !this.message ? (h("div", null, this.messageTitle && h("strong", null, this.messageTitle), this.messageTitle && !this.isInline && h("br", null), h("slot", null))) : (h("div", null, h("span", { class: "message-title mr-1" }, this.messageTitle), h("span", { class: "message-body" }, this.message)))), this.isClosable && !this.isFeedback && (h("div", { class: "close" }, h("br-button", { shape: "circle", type: "button", "aria-label": "Fechar a mensagem", onClick: () => this.dismissHandler() }, h("br-icon", { "icon-name": "fa-solid:times", "aria-hidden": "true" }))))))));
67
+ var _a, _b;
68
+ return (h(Host, { key: '5b8bfb2b3b5c3861cf4e695c1cacb0bd034d4a82' }, this.isFeedback ? (h("div", { class: "mb-3" }, h("span", Object.assign({ class: `feedback ${this.state}`, role: "alert" }, this.inheritedAttributes), this.showIcon ? h("br-icon", { class: "icon-space", "icon-name": this.checkIconState() }) : null, ((_a = this.message) === null || _a === void 0 ? void 0 : _a.length) === 0 ? h("slot", null) : this.message))) : (h("div", Object.assign({ class: this.getCssClassMap(), role: "alert" }, this.inheritedAttributes), this.showIcon && (h("div", { class: "icon" }, h("br-icon", { "icon-name": this.checkIconState(), height: "20", "aria-hidden": "true" }))), h("div", { class: "content", role: "alert" }, ((_b = this.message) === null || _b === void 0 ? void 0 : _b.length) === 0 ? (h("div", null, this.messageTitle && h("strong", null, this.messageTitle), this.messageTitle && !this.isInline && h("br", null), h("slot", null))) : (h("div", null, h("span", { class: "message-title mr-1" }, this.messageTitle), h("span", { class: "message-body" }, this.message)))), this.isClosable && !this.isFeedback && (h("div", { class: "close" }, h("br-button", { shape: "circle", type: "button", "aria-label": "Fechar a mensagem", onClick: this.dismissHandler }, h("br-icon", { "icon-name": "fa-solid:times", "aria-hidden": "true" }))))))));
68
69
  }
69
70
  static get is() { return "br-message"; }
70
71
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/components/message/message.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, Event, EventEmitter, Host, Prop, h } from '@stencil/core'\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/message?tab=designer).\n *\n * @slot default - Utilizado para inserir qualquer conteúdo que será exibido no corpo da mensagem.\n */\n@Component({\n tag: 'br-message',\n styleUrl: 'message.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Message {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o título da mensagem, que é exibido no início, acima da mensagem principal.\n * Este título serve para destacar a mensagem textual. Não é aplicável para mensagens do tipo feedback.\n */\n @Prop({ reflect: true }) messageTitle: string = ''\n\n /**\n * **[OBRIGATÓRIO]** Define o texto da mensagem que será exibido.\n * Este é o conteúdo principal da mensagem. A propriedade `message` é obrigatória e deve ser fornecida para que a mensagem apareça.\n */\n @Prop({ reflect: true }) message: string = ''\n\n /**\n * Se definido como verdadeiro, o título da mensagem será exibido na mesma linha que a mensagem principal.\n * Isso pode ser útil para criar um layout onde o título e a mensagem estão alinhados horizontalmente.\n */\n @Prop({ reflect: true }) isInline: boolean = false\n\n /**\n * Se definido como verdadeiro, um botão de fechar será exibido para permitir que o usuário feche a mensagem.\n * Este recurso não está disponível para mensagens do tipo feedback.\n */\n @Prop({ reflect: true }) isClosable: boolean = false\n\n /**\n * Se definido como verdadeiro, um ícone associado à mensagem será exibido.\n * Use esta propriedade para mostrar ou ocultar o ícone da mensagem conforme necessário.\n */\n @Prop({ reflect: true }) showIcon: boolean = false\n\n /**\n * Define se a mensagem é do tipo feedback, geralmente usada para fornecer contexto adicional sobre ações do usuário.\n * Exemplos incluem mensagens de validação em campos de formulário. Não disponível para mensagens que não sejam de feedback.\n */\n @Prop({ reflect: true }) isFeedback: boolean = false\n\n /**\n * **[OBRIGATÓRIO]** Define o estado visual da mensagem.\n * Os possíveis valores são:\n * - 'info': Mensagem informativa.\n * - 'warning': Mensagem de aviso.\n * - 'danger': Mensagem de erro ou alerta.\n * - 'success': Mensagem de sucesso.\n * O valor padrão é 'info'.\n */\n @Prop({ reflect: true }) state: 'info' | 'warning' | 'danger' | 'success' = 'info'\n\n /**\n * Emite um evento quando o componente é conectado ao DOM.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#connectedcallback) para mais detalhes.\n */\n @Event() brDidConnect: EventEmitter<void>\n connectedCallback() {\n this.brDidConnect.emit()\n }\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 /**\n * Emite um evento após o componente ter sido carregado pela primeira vez.\n * Utilize este evento para realizar ações que devem ocorrer depois que o componente foi totalmente carregado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes.\n */\n @Event() brDidLoad: EventEmitter<void>\n componentDidLoad() {\n this.brDidLoad.emit()\n }\n\n /**\n * Emite um evento antes do componente ser renderizado.\n * Utilize este evento para preparar o componente antes de sua renderização.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillrender) para mais detalhes.\n */\n @Event() brWillRender: EventEmitter<void>\n componentWillRender() {\n this.brWillRender.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido renderizado.\n * Utilize este evento para executar ações que devem ocorrer após a renderização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidrender) para mais detalhes.\n */\n @Event() brDidRender: EventEmitter<void>\n componentDidRender() {\n this.brDidRender.emit()\n }\n\n /**\n * Emite um evento para indicar se o componente deve ser atualizado ou não.\n * Este evento é chamado antes de qualquer atualização do componente para decidir se a atualização deve prosseguir.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentshouldupdate) para mais detalhes.\n */\n @Event() brShouldUpdate: EventEmitter<void>\n componentShouldUpdate() {\n this.brShouldUpdate.emit()\n }\n\n /**\n * Emite um evento antes de o componente ser atualizado.\n * Utilize este evento para realizar ações preparatórias antes da atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillupdate) para mais detalhes.\n */\n @Event() brWillUpdate: EventEmitter<void>\n componentWillUpdate() {\n this.brWillUpdate.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido atualizado.\n * Utilize este evento para realizar ações após a atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidupdate) para mais detalhes.\n */\n @Event() brDidUpdate: EventEmitter<void>\n componentDidUpdate() {\n this.brDidUpdate.emit()\n }\n\n /**\n * Emite um evento quando o componente é desconectado do DOM.\n * Utilize este evento para realizar a limpeza ou outras ações necessárias quando o componente é removido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#disconnectedcallback) para mais detalhes.\n */\n @Event() brDidDisconnect: EventEmitter<void>\n disconnectedCallback() {\n this.brDidDisconnect.emit()\n }\n\n /** Evento emitido quando o usuário fecha a mensagem, se closable for true. */\n @Event() brDidClose: EventEmitter\n dismissHandler() {\n this.brDidClose.emit()\n this.el.remove()\n }\n\n private checkIconState() {\n const iconMap = {\n success: 'fa-solid:check-circle',\n warning: 'fa-solid:exclamation-triangle',\n danger: 'fa-solid:times-circle',\n info: 'fa-solid:info-circle',\n }\n return iconMap[this.state] || 'check-circle' // Valor padrão se não encontrado\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-message': true,\n [this.state]: true,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n render() {\n return (\n <Host>\n {this.isFeedback ? (\n <div class=\"mb-3\">\n <span class={`feedback ${this.state}`} role=\"alert\" {...this.inheritedAttributes}>\n {this.showIcon ? <br-icon class=\"icon-space\" icon-name={this.checkIconState()}></br-icon> : null}\n {!this.message ? <slot></slot> : this.message}\n </span>\n </div>\n ) : (\n <div class={this.getCssClassMap()} role=\"alert\" {...this.inheritedAttributes}>\n {this.showIcon && (\n <div class=\"icon\">\n <br-icon icon-name={this.checkIconState()} height=\"20\" aria-hidden=\"true\"></br-icon>\n </div>\n )}\n <div class=\"content\" role=\"alert\">\n {!this.message ? (\n <div>\n {this.messageTitle && <strong>{this.messageTitle}</strong>}\n {this.messageTitle && !this.isInline && <br />}\n <slot></slot>\n </div>\n ) : (\n <div>\n <span class=\"message-title mr-1\">{this.messageTitle}</span>\n <span class=\"message-body\">{this.message}</span>\n </div>\n )}\n </div>\n {this.isClosable && !this.isFeedback && (\n <div class=\"close\">\n <br-button\n shape=\"circle\"\n type=\"button\"\n aria-label=\"Fechar a mensagem\"\n onClick={() => this.dismissHandler()}\n >\n <br-icon icon-name=\"fa-solid:times\" aria-hidden=\"true\"></br-icon>\n </br-button>\n </div>\n )}\n </div>\n )}\n </Host>\n )\n }\n}\n"]}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/components/message/message.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, Event, EventEmitter, Host, Prop, h } from '@stencil/core'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/message?tab=designer).\n *\n * @slot default - Utilizado para inserir qualquer conteúdo que será exibido no corpo da mensagem.\n */\n@Component({\n tag: 'br-message',\n styleUrl: 'message.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Message {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrMessageElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o título da mensagem, que é exibido no início, acima da mensagem principal.\n * Este título serve para destacar a mensagem textual. Não é aplicável para mensagens do tipo feedback.\n */\n @Prop({ reflect: true }) messageTitle: string = ''\n\n /**\n * **[OBRIGATÓRIO]** Define o texto da mensagem que será exibido.\n * Este é o conteúdo principal da mensagem. A propriedade `message` é obrigatória e deve ser fornecida para que a mensagem apareça.\n */\n @Prop({ reflect: true }) message: string = ''\n\n /**\n * Se definido como verdadeiro, o título da mensagem será exibido na mesma linha que a mensagem principal.\n * Isso pode ser útil para criar um layout onde o título e a mensagem estão alinhados horizontalmente.\n */\n @Prop({ reflect: true }) isInline: boolean = false\n\n /**\n * Se definido como verdadeiro, um botão de fechar será exibido para permitir que o usuário feche a mensagem.\n * Este recurso não está disponível para mensagens do tipo feedback.\n */\n @Prop({ reflect: true }) isClosable: boolean = false\n\n /**\n * Se definido como verdadeiro, um ícone associado à mensagem será exibido.\n * Use esta propriedade para mostrar ou ocultar o ícone da mensagem conforme necessário.\n */\n @Prop({ reflect: true }) showIcon: boolean = false\n\n /**\n * Define se a mensagem é do tipo feedback, geralmente usada para fornecer contexto adicional sobre ações do usuário.\n * Exemplos incluem mensagens de validação em campos de formulário. Não disponível para mensagens que não sejam de feedback.\n */\n @Prop({ reflect: true }) isFeedback: boolean = false\n\n /**\n * **[OBRIGATÓRIO]** Define o estado visual da mensagem.\n * Os possíveis valores são:\n * - 'info': Mensagem informativa.\n * - 'warning': Mensagem de aviso.\n * - 'danger': Mensagem de erro ou alerta.\n * - 'success': Mensagem de sucesso.\n * O valor padrão é 'info'.\n */\n @Prop({ reflect: true }) state: 'info' | 'warning' | 'danger' | 'success' = 'info'\n\n /**\n * Emite um evento quando o componente é conectado ao DOM.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#connectedcallback) para mais detalhes.\n */\n @Event() brDidConnect: EventEmitter<void>\n connectedCallback() {\n this.brDidConnect.emit()\n }\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 /**\n * Emite um evento após o componente ter sido carregado pela primeira vez.\n * Utilize este evento para realizar ações que devem ocorrer depois que o componente foi totalmente carregado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes.\n */\n @Event() brDidLoad: EventEmitter<void>\n componentDidLoad() {\n this.brDidLoad.emit()\n }\n\n /**\n * Emite um evento antes do componente ser renderizado.\n * Utilize este evento para preparar o componente antes de sua renderização.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillrender) para mais detalhes.\n */\n @Event() brWillRender: EventEmitter<void>\n componentWillRender() {\n this.brWillRender.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido renderizado.\n * Utilize este evento para executar ações que devem ocorrer após a renderização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidrender) para mais detalhes.\n */\n @Event() brDidRender: EventEmitter<void>\n componentDidRender() {\n this.brDidRender.emit()\n }\n\n /**\n * Emite um evento para indicar se o componente deve ser atualizado ou não.\n * Este evento é chamado antes de qualquer atualização do componente para decidir se a atualização deve prosseguir.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentshouldupdate) para mais detalhes.\n */\n @Event() brShouldUpdate: EventEmitter<void>\n componentShouldUpdate() {\n this.brShouldUpdate.emit()\n }\n\n /**\n * Emite um evento antes de o componente ser atualizado.\n * Utilize este evento para realizar ações preparatórias antes da atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillupdate) para mais detalhes.\n */\n @Event() brWillUpdate: EventEmitter<void>\n componentWillUpdate() {\n this.brWillUpdate.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido atualizado.\n * Utilize este evento para realizar ações após a atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidupdate) para mais detalhes.\n */\n @Event() brDidUpdate: EventEmitter<void>\n componentDidUpdate() {\n this.brDidUpdate.emit()\n }\n\n /**\n * Emite um evento quando o componente é desconectado do DOM.\n * Utilize este evento para realizar a limpeza ou outras ações necessárias quando o componente é removido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#disconnectedcallback) para mais detalhes.\n */\n @Event() brDidDisconnect: EventEmitter<void>\n disconnectedCallback() {\n this.brDidDisconnect.emit()\n }\n\n /** Evento emitido quando o usuário fecha a mensagem, se closable for true. */\n @Event() brDidClose: EventEmitter\n private readonly dismissHandler = () => {\n this.brDidClose.emit()\n this.el.remove()\n }\n\n private checkIconState() {\n const iconMap = {\n success: 'fa-solid:check-circle',\n warning: 'fa-solid:exclamation-triangle',\n danger: 'fa-solid:times-circle',\n info: 'fa-solid:info-circle',\n }\n return iconMap[this.state] || 'check-circle' // Valor padrão se não encontrado\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-message': true,\n [this.state]: true,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n render() {\n return (\n <Host>\n {this.isFeedback ? (\n <div class=\"mb-3\">\n <span class={`feedback ${this.state}`} role=\"alert\" {...this.inheritedAttributes}>\n {this.showIcon ? <br-icon class=\"icon-space\" icon-name={this.checkIconState()}></br-icon> : null}\n {this.message?.length === 0 ? <slot></slot> : this.message}\n </span>\n </div>\n ) : (\n <div class={this.getCssClassMap()} role=\"alert\" {...this.inheritedAttributes}>\n {this.showIcon && (\n <div class=\"icon\">\n <br-icon icon-name={this.checkIconState()} height=\"20\" aria-hidden=\"true\"></br-icon>\n </div>\n )}\n <div class=\"content\" role=\"alert\">\n {this.message?.length === 0 ? (\n <div>\n {this.messageTitle && <strong>{this.messageTitle}</strong>}\n {this.messageTitle && !this.isInline && <br />}\n <slot></slot>\n </div>\n ) : (\n <div>\n <span class=\"message-title mr-1\">{this.messageTitle}</span>\n <span class=\"message-body\">{this.message}</span>\n </div>\n )}\n </div>\n {this.isClosable && !this.isFeedback && (\n <div class=\"close\">\n <br-button shape=\"circle\" type=\"button\" aria-label=\"Fechar a mensagem\" onClick={this.dismissHandler}>\n <br-icon icon-name=\"fa-solid:times\" aria-hidden=\"true\"></br-icon>\n </br-button>\n </div>\n )}\n </div>\n )}\n </Host>\n )\n }\n}\n"]}