@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
@@ -0,0 +1,426 @@
1
+ import { Host, h } from "@stencil/core";
2
+ import { inheritAriaAttributes } from "../../utils/inherited-attributes";
3
+ /**
4
+ * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/dropdown?tab=designer).
5
+ *
6
+ * @slot trigger - Slot que recebe o elemento acionador
7
+ * @slot target - Slot que recebe o elemento alvo
8
+ */
9
+ export class Dropdown {
10
+ constructor() {
11
+ /**
12
+ * Alterna o estado do dropdown entre aberto e fechado.
13
+ */
14
+ this.toggle = (event) => {
15
+ event.stopPropagation();
16
+ this.isOpen = !this.isOpen;
17
+ };
18
+ this.inheritedAttributes = {};
19
+ this.isOpen = false;
20
+ }
21
+ /**
22
+ * Método chamado sempre que a propriedade `isOpen` muda.
23
+ * Emite um evento com o novo estado do dropdown.
24
+ */
25
+ isOpenChanged() {
26
+ this.brDropdownChange.emit({ 'is-opened': this.isOpen });
27
+ }
28
+ connectedCallback() {
29
+ this.brDidConnect.emit();
30
+ document.addEventListener('click', this.onClickOutside.bind(this));
31
+ }
32
+ componentWillLoad() {
33
+ this.brWillLoad.emit();
34
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
35
+ }
36
+ componentDidLoad() {
37
+ this.brDidLoad.emit();
38
+ }
39
+ componentWillRender() {
40
+ this.brWillRender.emit();
41
+ }
42
+ componentDidRender() {
43
+ this.brDidRender.emit();
44
+ }
45
+ componentShouldUpdate() {
46
+ this.brShouldUpdate.emit();
47
+ }
48
+ componentWillUpdate() {
49
+ this.brWillUpdate.emit();
50
+ }
51
+ componentDidUpdate() {
52
+ this.brDidUpdate.emit();
53
+ }
54
+ disconnectedCallback() {
55
+ this.brDidDisconnect.emit();
56
+ document.removeEventListener('click', this.onClickOutside.bind(this));
57
+ }
58
+ formAssociatedCallback(form) {
59
+ this.brFormAssociatedCallback.emit(form);
60
+ }
61
+ formDisabledCallback(disabled) {
62
+ this.brFormDisabledCallback.emit(disabled);
63
+ }
64
+ formResetCallback() {
65
+ this.brFormResetCallback.emit();
66
+ }
67
+ formStateRestoreCallback(state, _mode) {
68
+ this.brFormStateRestoreCallback.emit([state, _mode]);
69
+ }
70
+ getCssClassMap() {
71
+ return {
72
+ 'br-dropdown': true,
73
+ };
74
+ }
75
+ /**
76
+ * Método que lida com cliques fora do dropdown.
77
+ *
78
+ * @param {MouseEvent} event - O evento de clique que ocorreu.
79
+ */
80
+ onClickOutside(event) {
81
+ const path = event.composedPath();
82
+ const dropdownElement = this.el.shadowRoot.querySelector('#target');
83
+ if (dropdownElement && !path.includes(dropdownElement)) {
84
+ this.hide();
85
+ }
86
+ }
87
+ /**
88
+ * Abre o dropdown.
89
+ * Define a propriedade `isOpen` como verdadeira e retorna o novo estado.
90
+ * Este método é marcado com @Method() para que possa ser chamado externamente.
91
+ */
92
+ async open() {
93
+ this.isOpen = true;
94
+ return { isOpen: this.isOpen }; // Retorna o novo estado
95
+ }
96
+ /**
97
+ * Esconde o dropdown.
98
+ * Define a propriedade `isOpen` como falsa e retorna o novo estado.
99
+ * Este método é marcado com @Method() para que possa ser chamado externamente.
100
+ */
101
+ async hide() {
102
+ this.isOpen = false;
103
+ return { isOpen: this.isOpen }; // Retorna o novo estado
104
+ }
105
+ render() {
106
+ return (h(Host, { key: '25638a100598f3ea3af3713f1584e72aa686a751', "is-open": this.isOpen }, h("div", Object.assign({ key: 'f565d3e6efeca8f4d3e8c53378d172bb8e751829', class: this.getCssClassMap() }, this.inheritedAttributes), h("div", { key: 'ac90183419b5d4d03541aeb021fa391d77c7ad26', id: "trigger", onClick: this.toggle, "aria-controls": "target", "aria-haspopup": "true", "aria-expanded": this.isOpen }, h("slot", { key: '500aa694847e93aee709acb6486b240ab7b87373', name: "trigger" })), h("div", { key: '87740e95057ef5c7200d5e01011691b49b6edb4e', id: "target", "aria-hidden": !this.isOpen }, h("slot", { key: 'f1c92198fc05a61e052d4588ea9465024749f653', name: "target" })))));
107
+ }
108
+ static get is() { return "br-dropdown"; }
109
+ static get encapsulation() { return "shadow"; }
110
+ static get formAssociated() { return true; }
111
+ static get originalStyleUrls() {
112
+ return {
113
+ "$": ["dropdown.scss"]
114
+ };
115
+ }
116
+ static get styleUrls() {
117
+ return {
118
+ "$": ["dropdown.css"]
119
+ };
120
+ }
121
+ static get properties() {
122
+ return {
123
+ "isOpen": {
124
+ "type": "boolean",
125
+ "mutable": true,
126
+ "complexType": {
127
+ "original": "boolean",
128
+ "resolved": "boolean",
129
+ "references": {}
130
+ },
131
+ "required": false,
132
+ "optional": false,
133
+ "docs": {
134
+ "tags": [],
135
+ "text": "Indica se o dropdown est\u00E1 aberto ou fechado.\nEsta propriedade \u00E9 refletida no DOM e pode ser alterada externamente.\nO valor padr\u00E3o \u00E9 falso (fechado)."
136
+ },
137
+ "attribute": "is-open",
138
+ "reflect": true,
139
+ "defaultValue": "false"
140
+ }
141
+ };
142
+ }
143
+ static get events() {
144
+ return [{
145
+ "method": "brDidConnect",
146
+ "name": "brDidConnect",
147
+ "bubbles": true,
148
+ "cancelable": true,
149
+ "composed": true,
150
+ "docs": {
151
+ "tags": [],
152
+ "text": "Emite um evento quando o componente \u00E9 conectado ao DOM.\nConsulte a documenta\u00E7\u00E3o do [Stencil](https://stenciljs.com/docs/component-lifecycle#connectedcallback) para mais detalhes."
153
+ },
154
+ "complexType": {
155
+ "original": "void",
156
+ "resolved": "void",
157
+ "references": {}
158
+ }
159
+ }, {
160
+ "method": "brWillLoad",
161
+ "name": "brWillLoad",
162
+ "bubbles": true,
163
+ "cancelable": true,
164
+ "composed": true,
165
+ "docs": {
166
+ "tags": [],
167
+ "text": "Emite um evento antes que o componente seja carregado pela primeira vez.\nUtilize este evento para realizar tarefas de inicializa\u00E7\u00E3o antes do componente ser exibido.\nConsulte a documenta\u00E7\u00E3o do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillload) para mais detalhes."
168
+ },
169
+ "complexType": {
170
+ "original": "void",
171
+ "resolved": "void",
172
+ "references": {}
173
+ }
174
+ }, {
175
+ "method": "brDidLoad",
176
+ "name": "brDidLoad",
177
+ "bubbles": true,
178
+ "cancelable": true,
179
+ "composed": true,
180
+ "docs": {
181
+ "tags": [],
182
+ "text": "Emite um evento ap\u00F3s o componente ter sido carregado pela primeira vez.\nUtilize este evento para realizar a\u00E7\u00F5es que devem ocorrer depois que o componente foi totalmente carregado.\nConsulte a documenta\u00E7\u00E3o do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes."
183
+ },
184
+ "complexType": {
185
+ "original": "void",
186
+ "resolved": "void",
187
+ "references": {}
188
+ }
189
+ }, {
190
+ "method": "brWillRender",
191
+ "name": "brWillRender",
192
+ "bubbles": true,
193
+ "cancelable": true,
194
+ "composed": true,
195
+ "docs": {
196
+ "tags": [],
197
+ "text": "Emite um evento antes do componente ser renderizado.\nUtilize este evento para preparar o componente antes de sua renderiza\u00E7\u00E3o.\nConsulte a documenta\u00E7\u00E3o do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillrender) para mais detalhes."
198
+ },
199
+ "complexType": {
200
+ "original": "void",
201
+ "resolved": "void",
202
+ "references": {}
203
+ }
204
+ }, {
205
+ "method": "brDidRender",
206
+ "name": "brDidRender",
207
+ "bubbles": true,
208
+ "cancelable": true,
209
+ "composed": true,
210
+ "docs": {
211
+ "tags": [],
212
+ "text": "Emite um evento ap\u00F3s o componente ter sido renderizado.\nUtilize este evento para executar a\u00E7\u00F5es que devem ocorrer ap\u00F3s a renderiza\u00E7\u00E3o do componente.\nConsulte a documenta\u00E7\u00E3o do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidrender) para mais detalhes."
213
+ },
214
+ "complexType": {
215
+ "original": "void",
216
+ "resolved": "void",
217
+ "references": {}
218
+ }
219
+ }, {
220
+ "method": "brShouldUpdate",
221
+ "name": "brShouldUpdate",
222
+ "bubbles": true,
223
+ "cancelable": true,
224
+ "composed": true,
225
+ "docs": {
226
+ "tags": [],
227
+ "text": "Emite um evento para indicar se o componente deve ser atualizado ou n\u00E3o.\nEste evento \u00E9 chamado antes de qualquer atualiza\u00E7\u00E3o do componente para decidir se a atualiza\u00E7\u00E3o deve prosseguir.\nConsulte a documenta\u00E7\u00E3o do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentshouldupdate) para mais detalhes."
228
+ },
229
+ "complexType": {
230
+ "original": "void",
231
+ "resolved": "void",
232
+ "references": {}
233
+ }
234
+ }, {
235
+ "method": "brWillUpdate",
236
+ "name": "brWillUpdate",
237
+ "bubbles": true,
238
+ "cancelable": true,
239
+ "composed": true,
240
+ "docs": {
241
+ "tags": [],
242
+ "text": "Emite um evento antes de o componente ser atualizado.\nUtilize este evento para realizar a\u00E7\u00F5es preparat\u00F3rias antes da atualiza\u00E7\u00E3o do componente.\nConsulte a documenta\u00E7\u00E3o do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillupdate) para mais detalhes."
243
+ },
244
+ "complexType": {
245
+ "original": "void",
246
+ "resolved": "void",
247
+ "references": {}
248
+ }
249
+ }, {
250
+ "method": "brDidUpdate",
251
+ "name": "brDidUpdate",
252
+ "bubbles": true,
253
+ "cancelable": true,
254
+ "composed": true,
255
+ "docs": {
256
+ "tags": [],
257
+ "text": "Emite um evento ap\u00F3s o componente ter sido atualizado.\nUtilize este evento para realizar a\u00E7\u00F5es ap\u00F3s a atualiza\u00E7\u00E3o do componente.\nConsulte a documenta\u00E7\u00E3o do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidupdate) para mais detalhes."
258
+ },
259
+ "complexType": {
260
+ "original": "void",
261
+ "resolved": "void",
262
+ "references": {}
263
+ }
264
+ }, {
265
+ "method": "brDidDisconnect",
266
+ "name": "brDidDisconnect",
267
+ "bubbles": true,
268
+ "cancelable": true,
269
+ "composed": true,
270
+ "docs": {
271
+ "tags": [],
272
+ "text": "Emite um evento quando o componente \u00E9 desconectado do DOM.\nUtilize este evento para realizar a limpeza ou outras a\u00E7\u00F5es necess\u00E1rias quando o componente \u00E9 removido.\nConsulte a documenta\u00E7\u00E3o do [Stencil](https://stenciljs.com/docs/component-lifecycle#disconnectedcallback) para mais detalhes."
273
+ },
274
+ "complexType": {
275
+ "original": "void",
276
+ "resolved": "void",
277
+ "references": {}
278
+ }
279
+ }, {
280
+ "method": "brFormAssociatedCallback",
281
+ "name": "brFormAssociatedCallback",
282
+ "bubbles": true,
283
+ "cancelable": true,
284
+ "composed": true,
285
+ "docs": {
286
+ "tags": [{
287
+ "name": "param",
288
+ "text": "form - Dados do formul\u00E1rio associado."
289
+ }],
290
+ "text": "Emite um evento quando o componente \u00E9 associado ou removido de um `<form>`.\nConsulte a documenta\u00E7\u00E3o do [Stencil](https://stenciljs.com/docs/form-associated#formassociatedcallback) para mais detalhes."
291
+ },
292
+ "complexType": {
293
+ "original": "FormData",
294
+ "resolved": "FormData",
295
+ "references": {
296
+ "FormData": {
297
+ "location": "global",
298
+ "id": "global::FormData"
299
+ }
300
+ }
301
+ }
302
+ }, {
303
+ "method": "brFormDisabledCallback",
304
+ "name": "brFormDisabledCallback",
305
+ "bubbles": true,
306
+ "cancelable": true,
307
+ "composed": true,
308
+ "docs": {
309
+ "tags": [{
310
+ "name": "param",
311
+ "text": "disabled - Novo estado `disabled` do componente dentro do formul\u00E1rio."
312
+ }],
313
+ "text": "Emite um evento quando o estado `disabled` do componente muda dentro de um `<form>`.\nConsulte a documenta\u00E7\u00E3o do [Stencil](https://stenciljs.com/docs/form-associated#formdisabledcallback) para mais informa\u00E7\u00F5es."
314
+ },
315
+ "complexType": {
316
+ "original": "boolean",
317
+ "resolved": "boolean",
318
+ "references": {}
319
+ }
320
+ }, {
321
+ "method": "brFormResetCallback",
322
+ "name": "brFormResetCallback",
323
+ "bubbles": true,
324
+ "cancelable": true,
325
+ "composed": true,
326
+ "docs": {
327
+ "tags": [],
328
+ "text": "Emite um evento quando um `<form>` \u00E9 resetado.\nConsulte a documenta\u00E7\u00E3o do [Stencil](https://stenciljs.com/docs/form-associated#formresetcallback) para mais detalhes."
329
+ },
330
+ "complexType": {
331
+ "original": "void",
332
+ "resolved": "void",
333
+ "references": {}
334
+ }
335
+ }, {
336
+ "method": "brFormStateRestoreCallback",
337
+ "name": "brFormStateRestoreCallback",
338
+ "bubbles": true,
339
+ "cancelable": true,
340
+ "composed": true,
341
+ "docs": {
342
+ "tags": [{
343
+ "name": "param",
344
+ "text": "state - Estado restaurado do formul\u00E1rio."
345
+ }, {
346
+ "name": "param",
347
+ "text": "_mode - Modo de preenchimento autom\u00E1tico do navegador."
348
+ }],
349
+ "text": "Emite um evento quando o navegador preenche automaticamente os campos de um `<form>`.\nConsulte a documenta\u00E7\u00E3o do [Stencil](https://stenciljs.com/docs/form-associated#formstaterestorecallback) para mais informa\u00E7\u00F5es."
350
+ },
351
+ "complexType": {
352
+ "original": "[state: string, _mode: string]",
353
+ "resolved": "[state: string, _mode: string]",
354
+ "references": {}
355
+ }
356
+ }, {
357
+ "method": "brDropdownChange",
358
+ "name": "brDropdownChange",
359
+ "bubbles": true,
360
+ "cancelable": true,
361
+ "composed": true,
362
+ "docs": {
363
+ "tags": [],
364
+ "text": "Evento emitido quando o estado do dropdown muda."
365
+ },
366
+ "complexType": {
367
+ "original": "{ 'is-opened': boolean }",
368
+ "resolved": "{ 'is-opened': boolean; }",
369
+ "references": {}
370
+ }
371
+ }];
372
+ }
373
+ static get methods() {
374
+ return {
375
+ "open": {
376
+ "complexType": {
377
+ "signature": "() => Promise<{ isOpen: boolean; }>",
378
+ "parameters": [],
379
+ "references": {
380
+ "Promise": {
381
+ "location": "global",
382
+ "id": "global::Promise"
383
+ }
384
+ },
385
+ "return": "Promise<{ isOpen: boolean; }>"
386
+ },
387
+ "docs": {
388
+ "text": "Abre o dropdown.\nDefine a propriedade `isOpen` como verdadeira e retorna o novo estado.\nEste m\u00E9todo \u00E9 marcado com",
389
+ "tags": [{
390
+ "name": "Method",
391
+ "text": "() para que possa ser chamado externamente."
392
+ }]
393
+ }
394
+ },
395
+ "hide": {
396
+ "complexType": {
397
+ "signature": "() => Promise<{ isOpen: boolean; }>",
398
+ "parameters": [],
399
+ "references": {
400
+ "Promise": {
401
+ "location": "global",
402
+ "id": "global::Promise"
403
+ }
404
+ },
405
+ "return": "Promise<{ isOpen: boolean; }>"
406
+ },
407
+ "docs": {
408
+ "text": "Esconde o dropdown.\nDefine a propriedade `isOpen` como falsa e retorna o novo estado.\nEste m\u00E9todo \u00E9 marcado com",
409
+ "tags": [{
410
+ "name": "Method",
411
+ "text": "() para que possa ser chamado externamente."
412
+ }]
413
+ }
414
+ }
415
+ };
416
+ }
417
+ static get elementRef() { return "el"; }
418
+ static get watchers() {
419
+ return [{
420
+ "propName": "isOpen",
421
+ "methodName": "isOpenChanged"
422
+ }];
423
+ }
424
+ static get attachInternalsMemberName() { return "elementInternals"; }
425
+ }
426
+ //# sourceMappingURL=dropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, Event, EventEmitter, Host, Method, Prop, Watch, 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/dropdown?tab=designer).\n *\n * @slot trigger - Slot que recebe o elemento acionador\n * @slot target - Slot que recebe o elemento alvo\n */\n@Component({\n tag: 'br-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Dropdown {\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: HTMLBrDropdownElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Indica se o dropdown está aberto ou fechado.\n * Esta propriedade é refletida no DOM e pode ser alterada externamente.\n * O valor padrão é falso (fechado).\n */\n @Prop({ reflect: true, mutable: true }) isOpen: boolean = false\n\n /**\n * Método chamado sempre que a propriedade `isOpen` muda.\n * Emite um evento com o novo estado do dropdown.\n */\n @Watch('isOpen')\n isOpenChanged() {\n this.brDropdownChange.emit({ 'is-opened': this.isOpen })\n }\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 document.addEventListener('click', this.onClickOutside.bind(this))\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 document.removeEventListener('click', this.onClickOutside.bind(this))\n }\n\n /**\n * Emite um evento quando o componente é associado ou removido de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formassociatedcallback) para mais detalhes.\n *\n * @param form - Dados do formulário associado.\n */\n @Event() brFormAssociatedCallback: EventEmitter<FormData>\n formAssociatedCallback(form: FormData) {\n this.brFormAssociatedCallback.emit(form)\n }\n\n /**\n * Emite um evento quando o estado `disabled` do componente muda dentro de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formdisabledcallback) para mais informações.\n *\n * @param disabled - Novo estado `disabled` do componente dentro do formulário.\n */\n @Event() brFormDisabledCallback: EventEmitter<boolean>\n formDisabledCallback(disabled: boolean) {\n this.brFormDisabledCallback.emit(disabled)\n }\n\n /**\n * Emite um evento quando um `<form>` é resetado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formresetcallback) para mais detalhes.\n */\n @Event() brFormResetCallback: EventEmitter<void>\n formResetCallback() {\n this.brFormResetCallback.emit()\n }\n\n /**\n * Emite um evento quando o navegador preenche automaticamente os campos de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formstaterestorecallback) para mais informações.\n *\n * @param state - Estado restaurado do formulário.\n * @param _mode - Modo de preenchimento automático do navegador.\n */\n @Event() brFormStateRestoreCallback: EventEmitter<[state: string, _mode: string]>\n formStateRestoreCallback(state: string, _mode: string) {\n this.brFormStateRestoreCallback.emit([state, _mode])\n }\n\n /**\n * Evento emitido quando o estado do dropdown muda.\n */\n @Event() brDropdownChange: EventEmitter<{ 'is-opened': boolean }>\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-dropdown': true,\n }\n }\n\n /**\n * Alterna o estado do dropdown entre aberto e fechado.\n */\n private readonly toggle = (event: Event) => {\n event.stopPropagation()\n this.isOpen = !this.isOpen\n }\n\n /**\n * Método que lida com cliques fora do dropdown.\n *\n * @param {MouseEvent} event - O evento de clique que ocorreu.\n */\n private onClickOutside(event: MouseEvent) {\n const path = event.composedPath()\n const dropdownElement = this.el.shadowRoot.querySelector('#target')\n\n if (dropdownElement && !path.includes(dropdownElement)) {\n this.hide()\n }\n }\n\n /**\n * Abre o dropdown.\n * Define a propriedade `isOpen` como verdadeira e retorna o novo estado.\n * Este método é marcado com @Method() para que possa ser chamado externamente.\n */\n @Method()\n async open(): Promise<{ isOpen: boolean }> {\n this.isOpen = true\n return { isOpen: this.isOpen } // Retorna o novo estado\n }\n\n /**\n * Esconde o dropdown.\n * Define a propriedade `isOpen` como falsa e retorna o novo estado.\n * Este método é marcado com @Method() para que possa ser chamado externamente.\n */\n @Method()\n async hide(): Promise<{ isOpen: boolean }> {\n this.isOpen = false\n return { isOpen: this.isOpen } // Retorna o novo estado\n }\n\n private inheritedAttributes: Attributes = {}\n\n render() {\n return (\n <Host is-open={this.isOpen}>\n <div class={this.getCssClassMap()} {...this.inheritedAttributes}>\n <div\n id=\"trigger\"\n onClick={this.toggle}\n aria-controls=\"target\"\n aria-haspopup=\"true\"\n aria-expanded={this.isOpen}\n >\n <slot name=\"trigger\"></slot>\n </div>\n <div id=\"target\" aria-hidden={!this.isOpen}>\n <slot name=\"target\"></slot>\n </div>\n </div>\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
  :host {
353
455
  margin: 0 var(--spacing-scale-base);
354
456
  }
@@ -18,7 +18,7 @@ export class Icon {
18
18
  this.IconName = undefined;
19
19
  this.height = '16';
20
20
  this.width = '24';
21
- this.class = undefined;
21
+ this.CssClasses = undefined;
22
22
  this.isInline = false;
23
23
  this.rotate = undefined;
24
24
  this.flip = undefined;
@@ -52,7 +52,7 @@ export class Icon {
52
52
  this.brDidDisconnect.emit();
53
53
  }
54
54
  render() {
55
- return (h(Host, { key: 'd9c47dae20ecb4a14c506f65fa6e5bd3562564d8' }, h("iconify-icon", Object.assign({ key: '9b2d324a421b84acb468988634a4f8bc5df76c8b', flip: this.flip, width: this.width, class: this.class, icon: this.IconName, inline: this.isInline, height: this.height, rotate: this.rotate }, this.inheritedAttributes))));
55
+ return (h(Host, { key: 'cd30e2c534c440372a5f42f60dc76f13c97e1be4' }, h("iconify-icon", Object.assign({ key: '2d479f72952402f5189754b79872a6ac583789da', flip: this.flip, width: this.width, class: this.CssClasses, icon: this.IconName, inline: this.isInline, height: this.height, rotate: this.rotate }, this.inheritedAttributes))));
56
56
  }
57
57
  static get is() { return "br-icon"; }
58
58
  static get encapsulation() { return "shadow"; }
@@ -121,7 +121,7 @@ export class Icon {
121
121
  "reflect": true,
122
122
  "defaultValue": "'24'"
123
123
  },
124
- "class": {
124
+ "CssClasses": {
125
125
  "type": "string",
126
126
  "mutable": false,
127
127
  "complexType": {
@@ -135,7 +135,7 @@ export class Icon {
135
135
  "tags": [],
136
136
  "text": "Permite adicionar classes CSS adicionais ao \u00EDcone.\nUse esta propriedade para aplicar estilos personalizados ao \u00EDcone, al\u00E9m dos estilos padr\u00E3o."
137
137
  },
138
- "attribute": "class",
138
+ "attribute": "css-classes",
139
139
  "reflect": true
140
140
  },
141
141
  "isInline": {