@govbr-ds/webcomponents 2.0.0-next.14 → 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.
- package/dist/cjs/br-avatar.cjs.entry.js +1 -1
- package/dist/cjs/br-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/br-button_2.cjs.entry.js +2 -2
- package/dist/cjs/br-button_2.cjs.entry.js.map +1 -1
- package/dist/cjs/br-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/br-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/br-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/br-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/br-input.cjs.entry.js +1 -1
- package/dist/cjs/br-input.cjs.entry.js.map +1 -1
- package/dist/cjs/br-item.cjs.entry.js +2 -2
- package/dist/cjs/br-item.cjs.entry.js.map +1 -1
- package/dist/cjs/br-list.cjs.entry.js +1 -1
- package/dist/cjs/br-list.cjs.entry.js.map +1 -1
- package/dist/cjs/br-loading.cjs.entry.js +2 -2
- package/dist/cjs/br-loading.cjs.entry.js.map +1 -1
- package/dist/cjs/br-message.cjs.entry.js +2 -2
- package/dist/cjs/br-message.cjs.entry.js.map +1 -1
- package/dist/cjs/br-radio.cjs.entry.js +1 -1
- package/dist/cjs/br-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/br-switch.cjs.entry.js +2 -2
- package/dist/cjs/br-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/br-textarea.cjs.entry.js +158 -0
- package/dist/cjs/br-textarea.cjs.entry.js.map +1 -0
- package/dist/cjs/index-fb4e9eaf.js +4 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/webcomponents.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/avatar/avatar.css +54 -1
- package/dist/collection/components/button/button.css +61 -1
- package/dist/collection/components/checkbox/checkbox.css +54 -1
- package/dist/collection/components/dropdown/dropdown.css +54 -1
- package/dist/collection/components/icon/icon.css +54 -1
- package/dist/collection/components/input/input.css +54 -1
- package/dist/collection/components/item/item.css +54 -1
- package/dist/collection/components/item/item.js +1 -1
- package/dist/collection/components/item/item.js.map +1 -1
- package/dist/collection/components/list/list.css +54 -1
- package/dist/collection/components/loading/loading.css +61 -1
- package/dist/collection/components/loading/loading.js +1 -1
- package/dist/collection/components/loading/loading.js.map +1 -1
- package/dist/collection/components/message/message.css +54 -1
- package/dist/collection/components/message/message.js +1 -1
- package/dist/collection/components/message/message.js.map +1 -1
- package/dist/collection/components/radio/radio.css +54 -1
- package/dist/collection/components/switch/switch.css +54 -1
- package/dist/collection/components/switch/switch.js +1 -1
- package/dist/collection/components/switch/switch.js.map +1 -1
- package/dist/collection/components/textarea/textarea.css +522 -0
- package/dist/collection/components/textarea/textarea.js +566 -0
- package/dist/collection/components/textarea/textarea.js.map +1 -0
- package/dist/collection/pages/textarea/textarea.js +19 -0
- package/dist/collection/scripts/menu.js +21 -17
- package/dist/components/br-avatar.js +2 -2
- package/dist/components/br-avatar.js.map +1 -1
- package/dist/components/br-button.js +1 -1
- package/dist/components/br-checkbox.js +1 -1
- package/dist/components/br-checkbox.js.map +1 -1
- package/dist/components/br-dropdown.js +1 -1
- package/dist/components/br-dropdown.js.map +1 -1
- package/dist/components/br-icon.js +1 -1
- package/dist/components/br-input.js +3 -3
- package/dist/components/br-input.js.map +1 -1
- package/dist/components/br-item.js +2 -2
- package/dist/components/br-item.js.map +1 -1
- package/dist/components/br-list.js +1 -1
- package/dist/components/br-list.js.map +1 -1
- package/dist/components/br-loading.js +2 -2
- package/dist/components/br-loading.js.map +1 -1
- package/dist/components/br-message.js +4 -4
- package/dist/components/br-message.js.map +1 -1
- package/dist/components/br-radio.js +1 -1
- package/dist/components/br-radio.js.map +1 -1
- package/dist/components/br-switch.js +2 -2
- package/dist/components/br-switch.js.map +1 -1
- package/dist/components/br-textarea.d.ts +11 -0
- package/dist/components/br-textarea.js +181 -0
- package/dist/components/br-textarea.js.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/{p-87afe26f.js → p-af0dfebc.js} +2 -2
- package/dist/components/{p-87afe26f.js.map → p-af0dfebc.js.map} +1 -1
- package/dist/components/p-baa2948a.js +138 -0
- package/dist/components/{p-5769e796.js.map → p-baa2948a.js.map} +1 -1
- package/dist/esm/br-avatar.entry.js +1 -1
- package/dist/esm/br-avatar.entry.js.map +1 -1
- package/dist/esm/br-button_2.entry.js +2 -2
- package/dist/esm/br-button_2.entry.js.map +1 -1
- package/dist/esm/br-checkbox.entry.js +1 -1
- package/dist/esm/br-checkbox.entry.js.map +1 -1
- package/dist/esm/br-dropdown.entry.js +1 -1
- package/dist/esm/br-dropdown.entry.js.map +1 -1
- package/dist/esm/br-input.entry.js +1 -1
- package/dist/esm/br-input.entry.js.map +1 -1
- package/dist/esm/br-item.entry.js +2 -2
- package/dist/esm/br-item.entry.js.map +1 -1
- package/dist/esm/br-list.entry.js +1 -1
- package/dist/esm/br-list.entry.js.map +1 -1
- package/dist/esm/br-loading.entry.js +2 -2
- package/dist/esm/br-loading.entry.js.map +1 -1
- package/dist/esm/br-message.entry.js +2 -2
- package/dist/esm/br-message.entry.js.map +1 -1
- package/dist/esm/br-radio.entry.js +1 -1
- package/dist/esm/br-radio.entry.js.map +1 -1
- package/dist/esm/br-switch.entry.js +2 -2
- package/dist/esm/br-switch.entry.js.map +1 -1
- package/dist/esm/br-textarea.entry.js +154 -0
- package/dist/esm/br-textarea.entry.js.map +1 -0
- package/dist/esm/index-c7037515.js +4 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/webcomponents.js +1 -1
- package/dist/types/components/textarea/textarea.d.ts +157 -0
- package/dist/types/components.d.ts +189 -0
- package/dist/webcomponents/p-0f8df882.entry.js +2 -0
- package/dist/webcomponents/{p-14f1c8e6.entry.js.map → p-0f8df882.entry.js.map} +1 -1
- package/dist/webcomponents/p-128b4b58.entry.js +2 -0
- package/dist/webcomponents/{p-9dbe247e.entry.js.map → p-128b4b58.entry.js.map} +1 -1
- package/dist/webcomponents/p-2bc17aba.entry.js +2 -0
- package/dist/webcomponents/p-2bc17aba.entry.js.map +1 -0
- package/dist/webcomponents/p-2ff6ee7a.entry.js +13 -0
- package/dist/webcomponents/{p-dde91d20.entry.js.map → p-2ff6ee7a.entry.js.map} +1 -1
- package/dist/webcomponents/p-4645bc22.entry.js +2 -0
- package/dist/webcomponents/p-4645bc22.entry.js.map +1 -0
- package/dist/webcomponents/p-4e1a6b1e.entry.js +2 -0
- package/dist/webcomponents/{p-8efc22a3.entry.js.map → p-4e1a6b1e.entry.js.map} +1 -1
- package/dist/webcomponents/p-53a18892.entry.js +2 -0
- package/dist/webcomponents/{p-c36696c6.entry.js.map → p-53a18892.entry.js.map} +1 -1
- package/dist/webcomponents/p-6783eb4f.entry.js +2 -0
- package/dist/webcomponents/{p-ac16ee58.entry.js.map → p-6783eb4f.entry.js.map} +1 -1
- package/dist/webcomponents/p-e1d4a515.entry.js +2 -0
- package/dist/webcomponents/p-e1d4a515.entry.js.map +1 -0
- package/dist/webcomponents/p-e74737f9.entry.js +2 -0
- package/dist/webcomponents/p-e74737f9.entry.js.map +1 -0
- package/dist/webcomponents/p-f66d6a1e.entry.js +2 -0
- package/dist/webcomponents/p-f66d6a1e.entry.js.map +1 -0
- package/dist/webcomponents/p-ffbd85fd.entry.js +2 -0
- package/dist/webcomponents/p-ffbd85fd.entry.js.map +1 -0
- package/dist/webcomponents/webcomponents.esm.js +1 -1
- package/dist/webcomponents/webcomponents.esm.js.map +1 -1
- package/hydrate/index.js +196 -22
- package/hydrate/index.mjs +196 -22
- package/package.json +1 -1
- package/vscode-data.json +49 -0
- package/dist/components/p-5769e796.js +0 -138
- package/dist/webcomponents/p-0f6e2ddc.entry.js +0 -2
- package/dist/webcomponents/p-0f6e2ddc.entry.js.map +0 -1
- package/dist/webcomponents/p-14f1c8e6.entry.js +0 -2
- package/dist/webcomponents/p-198082b6.entry.js +0 -2
- package/dist/webcomponents/p-198082b6.entry.js.map +0 -1
- package/dist/webcomponents/p-867bba23.entry.js +0 -2
- package/dist/webcomponents/p-867bba23.entry.js.map +0 -1
- package/dist/webcomponents/p-8efc22a3.entry.js +0 -2
- package/dist/webcomponents/p-9dbe247e.entry.js +0 -2
- package/dist/webcomponents/p-a5a079d8.entry.js +0 -2
- package/dist/webcomponents/p-a5a079d8.entry.js.map +0 -1
- package/dist/webcomponents/p-ac16ee58.entry.js +0 -2
- package/dist/webcomponents/p-c36696c6.entry.js +0 -2
- package/dist/webcomponents/p-dde91d20.entry.js +0 -13
- package/dist/webcomponents/p-f01f1e6b.entry.js +0 -2
- package/dist/webcomponents/p-f01f1e6b.entry.js.map +0 -1
|
@@ -0,0 +1,566 @@
|
|
|
1
|
+
import { h, Host, } from "@stencil/core";
|
|
2
|
+
import { v4 as uuidv4 } from "uuid";
|
|
3
|
+
import { inheritAriaAttributes } from "../../utils/inherited-attributes";
|
|
4
|
+
var Density;
|
|
5
|
+
(function (Density) {
|
|
6
|
+
Density["Small"] = "small";
|
|
7
|
+
Density["Medium"] = "medium";
|
|
8
|
+
Density["Large"] = "large";
|
|
9
|
+
})(Density || (Density = {}));
|
|
10
|
+
var States;
|
|
11
|
+
(function (States) {
|
|
12
|
+
States["Danger"] = "danger";
|
|
13
|
+
States["Success"] = "success";
|
|
14
|
+
States["Warning"] = "warning";
|
|
15
|
+
})(States || (States = {}));
|
|
16
|
+
/**
|
|
17
|
+
* Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/textarea?tab=designer).
|
|
18
|
+
*
|
|
19
|
+
* @slot default - Espaço de conteúdo do textarea. Geralmente usado para incluir texto adicional ou instruções para o usuário.
|
|
20
|
+
*/
|
|
21
|
+
export class Textarea {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.inheritedAttributes = {};
|
|
24
|
+
this.value = '';
|
|
25
|
+
this.label = '';
|
|
26
|
+
this.placeholder = '';
|
|
27
|
+
this.disabled = false;
|
|
28
|
+
this.maxlength = 0;
|
|
29
|
+
this.states = null;
|
|
30
|
+
this.density = Density.Medium;
|
|
31
|
+
this.isDarkMode = false;
|
|
32
|
+
this.isLabelLeft = false;
|
|
33
|
+
this.currentLength = 0;
|
|
34
|
+
this.defaultId = `br-textarea-${uuidv4()}`;
|
|
35
|
+
}
|
|
36
|
+
connectedCallback() {
|
|
37
|
+
this.brDidConnect.emit();
|
|
38
|
+
}
|
|
39
|
+
componentWillLoad() {
|
|
40
|
+
this.currentLength = this.value.length;
|
|
41
|
+
this.brWillLoad.emit();
|
|
42
|
+
this.inheritedAttributes = inheritAriaAttributes(this.el);
|
|
43
|
+
}
|
|
44
|
+
componentDidLoad() {
|
|
45
|
+
this.brDidLoad.emit();
|
|
46
|
+
}
|
|
47
|
+
componentWillRender() {
|
|
48
|
+
this.brWillRender.emit();
|
|
49
|
+
}
|
|
50
|
+
componentDidRender() {
|
|
51
|
+
this.brDidRender.emit();
|
|
52
|
+
}
|
|
53
|
+
componentShouldUpdate() {
|
|
54
|
+
this.brShouldUpdate.emit();
|
|
55
|
+
}
|
|
56
|
+
componentWillUpdate() {
|
|
57
|
+
this.brWillUpdate.emit();
|
|
58
|
+
}
|
|
59
|
+
componentDidUpdate() {
|
|
60
|
+
this.brDidUpdate.emit();
|
|
61
|
+
}
|
|
62
|
+
disconnectedCallback() {
|
|
63
|
+
this.brDidDisconnect.emit();
|
|
64
|
+
}
|
|
65
|
+
formAssociatedCallback(form) {
|
|
66
|
+
this.brFormAssociatedCallback.emit(form);
|
|
67
|
+
}
|
|
68
|
+
formDisabledCallback(disabled) {
|
|
69
|
+
this.brFormDisabledCallback.emit(disabled);
|
|
70
|
+
}
|
|
71
|
+
formResetCallback() {
|
|
72
|
+
this.brFormResetCallback.emit();
|
|
73
|
+
}
|
|
74
|
+
formStateRestoreCallback(state, _mode) {
|
|
75
|
+
this.brFormStateRestoreCallback.emit([state, _mode]);
|
|
76
|
+
}
|
|
77
|
+
valueChanged() {
|
|
78
|
+
this.currentLength = this.value.length;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Manipula a mudança de valor do textarea. Atualiza o valor e emite um evento de mudança.
|
|
82
|
+
* @param event - O evento de entrada do textarea.
|
|
83
|
+
*/
|
|
84
|
+
handleChange(event) {
|
|
85
|
+
const textarea = event.target;
|
|
86
|
+
this.value = textarea.value;
|
|
87
|
+
this.currentLength = this.value.length;
|
|
88
|
+
this.emitValueChange();
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Define um novo valor para o textarea.
|
|
92
|
+
* @param newValue - O novo valor a ser definido.
|
|
93
|
+
*/
|
|
94
|
+
async setValue(newValue) {
|
|
95
|
+
this.value = newValue;
|
|
96
|
+
this.currentLength = this.value.length;
|
|
97
|
+
this.emitValueChange();
|
|
98
|
+
}
|
|
99
|
+
emitValueChange() {
|
|
100
|
+
const changeEvent = new CustomEvent('valueChange', {
|
|
101
|
+
detail: { value: this.value },
|
|
102
|
+
bubbles: true,
|
|
103
|
+
composed: true,
|
|
104
|
+
});
|
|
105
|
+
this.el.dispatchEvent(changeEvent);
|
|
106
|
+
}
|
|
107
|
+
getCssClassMap() {
|
|
108
|
+
return {
|
|
109
|
+
'br-textarea': true,
|
|
110
|
+
'dark-mode': this.isDarkMode,
|
|
111
|
+
small: this.density === Density.Small,
|
|
112
|
+
medium: this.density === Density.Medium,
|
|
113
|
+
large: this.density === Density.Large,
|
|
114
|
+
success: this.states === States.Success,
|
|
115
|
+
danger: this.states === States.Danger,
|
|
116
|
+
warning: this.states === States.Warning,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
render() {
|
|
120
|
+
const caracteresRestantes = this.maxlength - this.currentLength;
|
|
121
|
+
const mostrarLimite = this.currentLength === 0;
|
|
122
|
+
return (h(Host, { key: '9aaae65f9b632e21c44a8ea4ce736d6e5e394b85' }, h("div", Object.assign({ key: '5bcc99ec860393cf7be86403fde553c12df1f3ca', class: this.getCssClassMap() }, this.inheritedAttributes), h("div", { key: 'b19610ee44e038fd69b38bbb6773f805116e99a1', class: this.isLabelLeft ? 'row' : '' }, this.isLabelLeft ? (h("div", { class: "col-auto pt-half" }, h("label", { htmlFor: this.defaultId }, this.label))) : (h("label", { htmlFor: this.defaultId }, this.label)), h("div", { key: '3af5ad0220ff70f942ba7144e662066801b695bd', class: this.isLabelLeft ? 'col' : '' }, h("textarea", Object.assign({ key: 'a0630ed64f956f5c7179738fba617dc387d1a87b', id: this.defaultId, value: this.value, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleChange.bind(this) }, (this.maxlength > 0 ? { maxLength: this.maxlength } : {}))), h("div", { key: '98c265485d7f229ea0284a77b610799037b0186b', class: "text-base mt-1" }, this.maxlength > 0 && (h("div", { key: '3edc0d76bc64ca56dfbcc548e79eb2b379d2eb0e' }, mostrarLimite ? (h("span", { class: "limit", "aria-live": "polite" }, "Limite m\u00E1ximo de ", h("strong", null, this.maxlength), " caracteres")) : (h("span", { class: "restantes", "aria-live": "polite", role: "status", id: "limitmax" }, "Restam ", h("strong", null, caracteresRestantes), " caracteres"))))), h("slot", { key: '8b41a47359ea19a8bee6e39c2b02ac65aa2cfaa1' }))))));
|
|
123
|
+
}
|
|
124
|
+
static get is() { return "br-textarea"; }
|
|
125
|
+
static get encapsulation() { return "shadow"; }
|
|
126
|
+
static get formAssociated() { return true; }
|
|
127
|
+
static get originalStyleUrls() {
|
|
128
|
+
return {
|
|
129
|
+
"$": ["textarea.scss"]
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
static get styleUrls() {
|
|
133
|
+
return {
|
|
134
|
+
"$": ["textarea.css"]
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
static get properties() {
|
|
138
|
+
return {
|
|
139
|
+
"value": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"mutable": true,
|
|
142
|
+
"complexType": {
|
|
143
|
+
"original": "string",
|
|
144
|
+
"resolved": "string",
|
|
145
|
+
"references": {}
|
|
146
|
+
},
|
|
147
|
+
"required": false,
|
|
148
|
+
"optional": false,
|
|
149
|
+
"docs": {
|
|
150
|
+
"tags": [],
|
|
151
|
+
"text": "Valor atual do textarea. Este valor pode ser alterado programaticamente."
|
|
152
|
+
},
|
|
153
|
+
"attribute": "value",
|
|
154
|
+
"reflect": true,
|
|
155
|
+
"defaultValue": "''"
|
|
156
|
+
},
|
|
157
|
+
"label": {
|
|
158
|
+
"type": "string",
|
|
159
|
+
"mutable": false,
|
|
160
|
+
"complexType": {
|
|
161
|
+
"original": "string",
|
|
162
|
+
"resolved": "string",
|
|
163
|
+
"references": {}
|
|
164
|
+
},
|
|
165
|
+
"required": false,
|
|
166
|
+
"optional": false,
|
|
167
|
+
"docs": {
|
|
168
|
+
"tags": [],
|
|
169
|
+
"text": "Texto do r\u00F3tulo associado ao textarea. Este r\u00F3tulo \u00E9 exibido acima do campo de entrada."
|
|
170
|
+
},
|
|
171
|
+
"attribute": "label",
|
|
172
|
+
"reflect": true,
|
|
173
|
+
"defaultValue": "''"
|
|
174
|
+
},
|
|
175
|
+
"placeholder": {
|
|
176
|
+
"type": "string",
|
|
177
|
+
"mutable": false,
|
|
178
|
+
"complexType": {
|
|
179
|
+
"original": "string",
|
|
180
|
+
"resolved": "string",
|
|
181
|
+
"references": {}
|
|
182
|
+
},
|
|
183
|
+
"required": false,
|
|
184
|
+
"optional": false,
|
|
185
|
+
"docs": {
|
|
186
|
+
"tags": [],
|
|
187
|
+
"text": "Texto exibido quando o textarea est\u00E1 vazio. Ajuda a guiar o usu\u00E1rio sobre o que deve ser inserido."
|
|
188
|
+
},
|
|
189
|
+
"attribute": "placeholder",
|
|
190
|
+
"reflect": true,
|
|
191
|
+
"defaultValue": "''"
|
|
192
|
+
},
|
|
193
|
+
"disabled": {
|
|
194
|
+
"type": "boolean",
|
|
195
|
+
"mutable": false,
|
|
196
|
+
"complexType": {
|
|
197
|
+
"original": "boolean",
|
|
198
|
+
"resolved": "boolean",
|
|
199
|
+
"references": {}
|
|
200
|
+
},
|
|
201
|
+
"required": false,
|
|
202
|
+
"optional": false,
|
|
203
|
+
"docs": {
|
|
204
|
+
"tags": [],
|
|
205
|
+
"text": "Indica se o textarea est\u00E1 desabilitado. Quando verdadeiro, o usu\u00E1rio n\u00E3o pode interagir com o campo."
|
|
206
|
+
},
|
|
207
|
+
"attribute": "disabled",
|
|
208
|
+
"reflect": true,
|
|
209
|
+
"defaultValue": "false"
|
|
210
|
+
},
|
|
211
|
+
"maxlength": {
|
|
212
|
+
"type": "number",
|
|
213
|
+
"mutable": false,
|
|
214
|
+
"complexType": {
|
|
215
|
+
"original": "number",
|
|
216
|
+
"resolved": "number",
|
|
217
|
+
"references": {}
|
|
218
|
+
},
|
|
219
|
+
"required": false,
|
|
220
|
+
"optional": false,
|
|
221
|
+
"docs": {
|
|
222
|
+
"tags": [],
|
|
223
|
+
"text": "N\u00FAmero m\u00E1ximo de caracteres permitidos no textarea. Se definido como 0, n\u00E3o h\u00E1 limite."
|
|
224
|
+
},
|
|
225
|
+
"attribute": "maxlength",
|
|
226
|
+
"reflect": true,
|
|
227
|
+
"defaultValue": "0"
|
|
228
|
+
},
|
|
229
|
+
"states": {
|
|
230
|
+
"type": "string",
|
|
231
|
+
"mutable": false,
|
|
232
|
+
"complexType": {
|
|
233
|
+
"original": "string",
|
|
234
|
+
"resolved": "string",
|
|
235
|
+
"references": {}
|
|
236
|
+
},
|
|
237
|
+
"required": false,
|
|
238
|
+
"optional": false,
|
|
239
|
+
"docs": {
|
|
240
|
+
"tags": [],
|
|
241
|
+
"text": "Define o estado visual do componente, podendo ser 'danger', 'success' ou 'warning'."
|
|
242
|
+
},
|
|
243
|
+
"attribute": "states",
|
|
244
|
+
"reflect": true,
|
|
245
|
+
"defaultValue": "null"
|
|
246
|
+
},
|
|
247
|
+
"density": {
|
|
248
|
+
"type": "string",
|
|
249
|
+
"mutable": false,
|
|
250
|
+
"complexType": {
|
|
251
|
+
"original": "string",
|
|
252
|
+
"resolved": "string",
|
|
253
|
+
"references": {}
|
|
254
|
+
},
|
|
255
|
+
"required": false,
|
|
256
|
+
"optional": false,
|
|
257
|
+
"docs": {
|
|
258
|
+
"tags": [],
|
|
259
|
+
"text": "Ajusta a densidade do componente, podendo ser 'small', 'medium' ou 'large'."
|
|
260
|
+
},
|
|
261
|
+
"attribute": "density",
|
|
262
|
+
"reflect": true,
|
|
263
|
+
"defaultValue": "Density.Medium"
|
|
264
|
+
},
|
|
265
|
+
"isDarkMode": {
|
|
266
|
+
"type": "boolean",
|
|
267
|
+
"mutable": false,
|
|
268
|
+
"complexType": {
|
|
269
|
+
"original": "boolean",
|
|
270
|
+
"resolved": "boolean",
|
|
271
|
+
"references": {}
|
|
272
|
+
},
|
|
273
|
+
"required": false,
|
|
274
|
+
"optional": false,
|
|
275
|
+
"docs": {
|
|
276
|
+
"tags": [],
|
|
277
|
+
"text": "Ativa o modo escuro para o componente. Quando verdadeiro, o componente ser\u00E1 exibido em um tema escuro."
|
|
278
|
+
},
|
|
279
|
+
"attribute": "is-dark-mode",
|
|
280
|
+
"reflect": true,
|
|
281
|
+
"defaultValue": "false"
|
|
282
|
+
},
|
|
283
|
+
"isLabelLeft": {
|
|
284
|
+
"type": "boolean",
|
|
285
|
+
"mutable": false,
|
|
286
|
+
"complexType": {
|
|
287
|
+
"original": "boolean",
|
|
288
|
+
"resolved": "boolean",
|
|
289
|
+
"references": {}
|
|
290
|
+
},
|
|
291
|
+
"required": false,
|
|
292
|
+
"optional": false,
|
|
293
|
+
"docs": {
|
|
294
|
+
"tags": [],
|
|
295
|
+
"text": "Define se o r\u00F3tulo deve ser exibido \u00E0 esquerda do textarea. Quando verdadeiro, o r\u00F3tulo \u00E9 posicionado \u00E0 esquerda."
|
|
296
|
+
},
|
|
297
|
+
"attribute": "is-label-left",
|
|
298
|
+
"reflect": true,
|
|
299
|
+
"defaultValue": "false"
|
|
300
|
+
},
|
|
301
|
+
"defaultId": {
|
|
302
|
+
"type": "string",
|
|
303
|
+
"mutable": false,
|
|
304
|
+
"complexType": {
|
|
305
|
+
"original": "string",
|
|
306
|
+
"resolved": "string",
|
|
307
|
+
"references": {}
|
|
308
|
+
},
|
|
309
|
+
"required": false,
|
|
310
|
+
"optional": false,
|
|
311
|
+
"docs": {
|
|
312
|
+
"tags": [],
|
|
313
|
+
"text": "Identificador \u00FAnico do textarea, gerado automaticamente.\nEste ID \u00E9 utilizado para associar o textarea a outros elementos, como r\u00F3tulos,\ne garantir que cada inst\u00E2ncia do componente tenha um identificador distinto."
|
|
314
|
+
},
|
|
315
|
+
"attribute": "default-id",
|
|
316
|
+
"reflect": true,
|
|
317
|
+
"defaultValue": "`br-textarea-${uuidv4()}`"
|
|
318
|
+
}
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
static get states() {
|
|
322
|
+
return {
|
|
323
|
+
"currentLength": {}
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
static get events() {
|
|
327
|
+
return [{
|
|
328
|
+
"method": "brDidConnect",
|
|
329
|
+
"name": "brDidConnect",
|
|
330
|
+
"bubbles": true,
|
|
331
|
+
"cancelable": true,
|
|
332
|
+
"composed": true,
|
|
333
|
+
"docs": {
|
|
334
|
+
"tags": [],
|
|
335
|
+
"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."
|
|
336
|
+
},
|
|
337
|
+
"complexType": {
|
|
338
|
+
"original": "void",
|
|
339
|
+
"resolved": "void",
|
|
340
|
+
"references": {}
|
|
341
|
+
}
|
|
342
|
+
}, {
|
|
343
|
+
"method": "brWillLoad",
|
|
344
|
+
"name": "brWillLoad",
|
|
345
|
+
"bubbles": true,
|
|
346
|
+
"cancelable": true,
|
|
347
|
+
"composed": true,
|
|
348
|
+
"docs": {
|
|
349
|
+
"tags": [],
|
|
350
|
+
"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."
|
|
351
|
+
},
|
|
352
|
+
"complexType": {
|
|
353
|
+
"original": "void",
|
|
354
|
+
"resolved": "void",
|
|
355
|
+
"references": {}
|
|
356
|
+
}
|
|
357
|
+
}, {
|
|
358
|
+
"method": "brDidLoad",
|
|
359
|
+
"name": "brDidLoad",
|
|
360
|
+
"bubbles": true,
|
|
361
|
+
"cancelable": true,
|
|
362
|
+
"composed": true,
|
|
363
|
+
"docs": {
|
|
364
|
+
"tags": [],
|
|
365
|
+
"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."
|
|
366
|
+
},
|
|
367
|
+
"complexType": {
|
|
368
|
+
"original": "void",
|
|
369
|
+
"resolved": "void",
|
|
370
|
+
"references": {}
|
|
371
|
+
}
|
|
372
|
+
}, {
|
|
373
|
+
"method": "brWillRender",
|
|
374
|
+
"name": "brWillRender",
|
|
375
|
+
"bubbles": true,
|
|
376
|
+
"cancelable": true,
|
|
377
|
+
"composed": true,
|
|
378
|
+
"docs": {
|
|
379
|
+
"tags": [],
|
|
380
|
+
"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."
|
|
381
|
+
},
|
|
382
|
+
"complexType": {
|
|
383
|
+
"original": "void",
|
|
384
|
+
"resolved": "void",
|
|
385
|
+
"references": {}
|
|
386
|
+
}
|
|
387
|
+
}, {
|
|
388
|
+
"method": "brDidRender",
|
|
389
|
+
"name": "brDidRender",
|
|
390
|
+
"bubbles": true,
|
|
391
|
+
"cancelable": true,
|
|
392
|
+
"composed": true,
|
|
393
|
+
"docs": {
|
|
394
|
+
"tags": [],
|
|
395
|
+
"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."
|
|
396
|
+
},
|
|
397
|
+
"complexType": {
|
|
398
|
+
"original": "void",
|
|
399
|
+
"resolved": "void",
|
|
400
|
+
"references": {}
|
|
401
|
+
}
|
|
402
|
+
}, {
|
|
403
|
+
"method": "brShouldUpdate",
|
|
404
|
+
"name": "brShouldUpdate",
|
|
405
|
+
"bubbles": true,
|
|
406
|
+
"cancelable": true,
|
|
407
|
+
"composed": true,
|
|
408
|
+
"docs": {
|
|
409
|
+
"tags": [],
|
|
410
|
+
"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."
|
|
411
|
+
},
|
|
412
|
+
"complexType": {
|
|
413
|
+
"original": "void",
|
|
414
|
+
"resolved": "void",
|
|
415
|
+
"references": {}
|
|
416
|
+
}
|
|
417
|
+
}, {
|
|
418
|
+
"method": "brWillUpdate",
|
|
419
|
+
"name": "brWillUpdate",
|
|
420
|
+
"bubbles": true,
|
|
421
|
+
"cancelable": true,
|
|
422
|
+
"composed": true,
|
|
423
|
+
"docs": {
|
|
424
|
+
"tags": [],
|
|
425
|
+
"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."
|
|
426
|
+
},
|
|
427
|
+
"complexType": {
|
|
428
|
+
"original": "void",
|
|
429
|
+
"resolved": "void",
|
|
430
|
+
"references": {}
|
|
431
|
+
}
|
|
432
|
+
}, {
|
|
433
|
+
"method": "brDidUpdate",
|
|
434
|
+
"name": "brDidUpdate",
|
|
435
|
+
"bubbles": true,
|
|
436
|
+
"cancelable": true,
|
|
437
|
+
"composed": true,
|
|
438
|
+
"docs": {
|
|
439
|
+
"tags": [],
|
|
440
|
+
"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."
|
|
441
|
+
},
|
|
442
|
+
"complexType": {
|
|
443
|
+
"original": "void",
|
|
444
|
+
"resolved": "void",
|
|
445
|
+
"references": {}
|
|
446
|
+
}
|
|
447
|
+
}, {
|
|
448
|
+
"method": "brDidDisconnect",
|
|
449
|
+
"name": "brDidDisconnect",
|
|
450
|
+
"bubbles": true,
|
|
451
|
+
"cancelable": true,
|
|
452
|
+
"composed": true,
|
|
453
|
+
"docs": {
|
|
454
|
+
"tags": [],
|
|
455
|
+
"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."
|
|
456
|
+
},
|
|
457
|
+
"complexType": {
|
|
458
|
+
"original": "void",
|
|
459
|
+
"resolved": "void",
|
|
460
|
+
"references": {}
|
|
461
|
+
}
|
|
462
|
+
}, {
|
|
463
|
+
"method": "brFormAssociatedCallback",
|
|
464
|
+
"name": "brFormAssociatedCallback",
|
|
465
|
+
"bubbles": true,
|
|
466
|
+
"cancelable": true,
|
|
467
|
+
"composed": true,
|
|
468
|
+
"docs": {
|
|
469
|
+
"tags": [],
|
|
470
|
+
"text": "Emite um evento quando o formul\u00E1rio associado \u00E9 enviado.\nUtilize este evento para realizar a\u00E7\u00F5es quando o formul\u00E1rio \u00E9 enviado."
|
|
471
|
+
},
|
|
472
|
+
"complexType": {
|
|
473
|
+
"original": "FormData",
|
|
474
|
+
"resolved": "FormData",
|
|
475
|
+
"references": {
|
|
476
|
+
"FormData": {
|
|
477
|
+
"location": "global",
|
|
478
|
+
"id": "global::FormData"
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
}, {
|
|
483
|
+
"method": "brFormDisabledCallback",
|
|
484
|
+
"name": "brFormDisabledCallback",
|
|
485
|
+
"bubbles": true,
|
|
486
|
+
"cancelable": true,
|
|
487
|
+
"composed": true,
|
|
488
|
+
"docs": {
|
|
489
|
+
"tags": [],
|
|
490
|
+
"text": "Emite um evento quando o estado do formul\u00E1rio \u00E9 alterado para desabilitado.\nUtilize este evento para realizar a\u00E7\u00F5es quando o formul\u00E1rio \u00E9 desabilitado."
|
|
491
|
+
},
|
|
492
|
+
"complexType": {
|
|
493
|
+
"original": "boolean",
|
|
494
|
+
"resolved": "boolean",
|
|
495
|
+
"references": {}
|
|
496
|
+
}
|
|
497
|
+
}, {
|
|
498
|
+
"method": "brFormResetCallback",
|
|
499
|
+
"name": "brFormResetCallback",
|
|
500
|
+
"bubbles": true,
|
|
501
|
+
"cancelable": true,
|
|
502
|
+
"composed": true,
|
|
503
|
+
"docs": {
|
|
504
|
+
"tags": [],
|
|
505
|
+
"text": "Emite um evento quando o formul\u00E1rio \u00E9 redefinido.\nUtilize este evento para realizar a\u00E7\u00F5es quando o formul\u00E1rio \u00E9 redefinido."
|
|
506
|
+
},
|
|
507
|
+
"complexType": {
|
|
508
|
+
"original": "void",
|
|
509
|
+
"resolved": "void",
|
|
510
|
+
"references": {}
|
|
511
|
+
}
|
|
512
|
+
}, {
|
|
513
|
+
"method": "brFormStateRestoreCallback",
|
|
514
|
+
"name": "brFormStateRestoreCallback",
|
|
515
|
+
"bubbles": true,
|
|
516
|
+
"cancelable": true,
|
|
517
|
+
"composed": true,
|
|
518
|
+
"docs": {
|
|
519
|
+
"tags": [],
|
|
520
|
+
"text": "Emite um evento para restaurar o estado do formul\u00E1rio.\nUtilize este evento para realizar a\u00E7\u00F5es quando o estado do formul\u00E1rio \u00E9 restaurado."
|
|
521
|
+
},
|
|
522
|
+
"complexType": {
|
|
523
|
+
"original": "[state: string, _mode: string]",
|
|
524
|
+
"resolved": "[state: string, _mode: string]",
|
|
525
|
+
"references": {}
|
|
526
|
+
}
|
|
527
|
+
}];
|
|
528
|
+
}
|
|
529
|
+
static get methods() {
|
|
530
|
+
return {
|
|
531
|
+
"setValue": {
|
|
532
|
+
"complexType": {
|
|
533
|
+
"signature": "(newValue: string) => Promise<void>",
|
|
534
|
+
"parameters": [{
|
|
535
|
+
"name": "newValue",
|
|
536
|
+
"type": "string",
|
|
537
|
+
"docs": "- O novo valor a ser definido."
|
|
538
|
+
}],
|
|
539
|
+
"references": {
|
|
540
|
+
"Promise": {
|
|
541
|
+
"location": "global",
|
|
542
|
+
"id": "global::Promise"
|
|
543
|
+
}
|
|
544
|
+
},
|
|
545
|
+
"return": "Promise<void>"
|
|
546
|
+
},
|
|
547
|
+
"docs": {
|
|
548
|
+
"text": "Define um novo valor para o textarea.",
|
|
549
|
+
"tags": [{
|
|
550
|
+
"name": "param",
|
|
551
|
+
"text": "newValue - O novo valor a ser definido."
|
|
552
|
+
}]
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
};
|
|
556
|
+
}
|
|
557
|
+
static get elementRef() { return "el"; }
|
|
558
|
+
static get watchers() {
|
|
559
|
+
return [{
|
|
560
|
+
"propName": "value",
|
|
561
|
+
"methodName": "valueChanged"
|
|
562
|
+
}];
|
|
563
|
+
}
|
|
564
|
+
static get attachInternalsMemberName() { return "elementInternals"; }
|
|
565
|
+
}
|
|
566
|
+
//# sourceMappingURL=textarea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../src/components/textarea/textarea.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport { v4 as uuidv4 } from 'uuid'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\nenum Density {\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n}\n\nenum States {\n Danger = 'danger',\n Success = 'success',\n Warning = 'warning',\n}\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/textarea?tab=designer).\n *\n * @slot default - Espaço de conteúdo do textarea. Geralmente usado para incluir texto adicional ou instruções para o usuário.\n */\n@Component({\n tag: 'br-textarea',\n styleUrl: 'textarea.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Textarea {\n @Element() el: HTMLElement\n\n /**\n * Valor atual do textarea. Este valor pode ser alterado programaticamente.\n */\n @Prop({ mutable: true, reflect: true }) value: string = ''\n\n /**\n * Texto do rótulo associado ao textarea. Este rótulo é exibido acima do campo de entrada.\n */\n @Prop({ reflect: true }) label: string = ''\n\n /**\n * Texto exibido quando o textarea está vazio. Ajuda a guiar o usuário sobre o que deve ser inserido.\n */\n @Prop({ reflect: true }) placeholder: string = ''\n\n /**\n * Indica se o textarea está desabilitado. Quando verdadeiro, o usuário não pode interagir com o campo.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * Número máximo de caracteres permitidos no textarea. Se definido como 0, não há limite.\n */\n @Prop({ reflect: true }) maxlength: number = 0\n\n /**\n * Define o estado visual do componente, podendo ser 'danger', 'success' ou 'warning'.\n */\n @Prop({ reflect: true }) states: string = null\n\n /**\n * Ajusta a densidade do componente, podendo ser 'small', 'medium' ou 'large'.\n */\n @Prop({ reflect: true }) density: string = Density.Medium\n\n /**\n * Ativa o modo escuro para o componente. Quando verdadeiro, o componente será exibido em um tema escuro.\n */\n @Prop({ reflect: true }) isDarkMode: boolean = false\n\n /**\n * Define se o rótulo deve ser exibido à esquerda do textarea. Quando verdadeiro, o rótulo é posicionado à esquerda.\n */\n @Prop({ reflect: true }) isLabelLeft: boolean = false\n\n /**\n * Comprimento atual do texto no textarea. É atualizado sempre que o valor do textarea muda.\n */\n @State() currentLength: number = 0\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Identificador único do textarea, gerado automaticamente.\n * Este ID é utilizado para associar o textarea a outros elementos, como rótulos,\n * e garantir que cada instância do componente tenha um identificador distinto.\n */\n @Prop({ reflect: true }) defaultId: string = `br-textarea-${uuidv4()}`\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.currentLength = this.value.length\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 /**\n * Emite um evento quando o formulário associado é enviado.\n * Utilize este evento para realizar ações quando o formulário é enviado.\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 do formulário é alterado para desabilitado.\n * Utilize este evento para realizar ações quando o formulário é desabilitado.\n */\n @Event() brFormDisabledCallback: EventEmitter<boolean>\n formDisabledCallback(disabled: boolean) {\n this.brFormDisabledCallback.emit(disabled)\n }\n\n /**\n * Emite um evento quando o formulário é redefinido.\n * Utilize este evento para realizar ações quando o formulário é redefinido.\n */\n @Event() brFormResetCallback: EventEmitter<void>\n formResetCallback() {\n this.brFormResetCallback.emit()\n }\n\n /**\n * Emite um evento para restaurar o estado do formulário.\n * Utilize este evento para realizar ações quando o estado do formulário é restaurado.\n */\n @Event() brFormStateRestoreCallback: EventEmitter<[state: string, _mode: string]>\n formStateRestoreCallback(state: string, _mode: string) {\n this.brFormStateRestoreCallback.emit([state, _mode])\n }\n\n @Watch('value')\n valueChanged() {\n this.currentLength = this.value.length\n }\n\n /**\n * Manipula a mudança de valor do textarea. Atualiza o valor e emite um evento de mudança.\n * @param event - O evento de entrada do textarea.\n */\n handleChange(event: Event) {\n const textarea = event.target as HTMLTextAreaElement\n this.value = textarea.value\n this.currentLength = this.value.length\n\n this.emitValueChange()\n }\n\n /**\n * Define um novo valor para o textarea.\n * @param newValue - O novo valor a ser definido.\n */\n @Method()\n async setValue(newValue: string) {\n this.value = newValue\n this.currentLength = this.value.length\n\n this.emitValueChange()\n }\n\n private emitValueChange() {\n const changeEvent = new CustomEvent('valueChange', {\n detail: { value: this.value },\n bubbles: true,\n composed: true,\n })\n this.el.dispatchEvent(changeEvent)\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-textarea': true,\n 'dark-mode': this.isDarkMode,\n small: this.density === Density.Small,\n medium: this.density === Density.Medium,\n large: this.density === Density.Large,\n success: this.states === States.Success,\n danger: this.states === States.Danger,\n warning: this.states === States.Warning,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n render() {\n const caracteresRestantes = this.maxlength - this.currentLength\n const mostrarLimite = this.currentLength === 0\n\n return (\n <Host>\n <div class={this.getCssClassMap()} {...this.inheritedAttributes}>\n <div class={this.isLabelLeft ? 'row' : ''}>\n {this.isLabelLeft ? (\n <div class=\"col-auto pt-half\">\n <label htmlFor={this.defaultId}>{this.label}</label>\n </div>\n ) : (\n <label htmlFor={this.defaultId}>{this.label}</label>\n )}\n <div class={this.isLabelLeft ? 'col' : ''}>\n <textarea\n id={this.defaultId}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n onInput={this.handleChange.bind(this)}\n {...(this.maxlength > 0 ? { maxLength: this.maxlength } : {})}\n ></textarea>\n <div class=\"text-base mt-1\">\n {this.maxlength > 0 && (\n <div>\n {mostrarLimite ? (\n <span class=\"limit\" aria-live=\"polite\">\n Limite máximo de <strong>{this.maxlength}</strong> caracteres\n </span>\n ) : (\n <span class=\"restantes\" aria-live=\"polite\" role=\"status\" id=\"limitmax\">\n Restam <strong>{caracteresRestantes}</strong> caracteres\n </span>\n )}\n </div>\n )}\n </div>\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n )\n }\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
if (!window.elementsToListen && !window.eventsToListen) {
|
|
2
|
+
const elementsToListen = document.querySelectorAll("br-textarea");
|
|
3
|
+
|
|
4
|
+
const eventsToListen = ["click"];
|
|
5
|
+
|
|
6
|
+
elementsToListen.forEach((domElement) => {
|
|
7
|
+
eventsToListen.forEach((event) => {
|
|
8
|
+
domElement.addEventListener(event, function (event) {
|
|
9
|
+
console.log({
|
|
10
|
+
Elemento: domElement,
|
|
11
|
+
Evento: event,
|
|
12
|
+
Tipo: event.type,
|
|
13
|
+
'Detail(Custom Events)': event.detail,
|
|
14
|
+
'Data(Native Events)': event.data,
|
|
15
|
+
})
|
|
16
|
+
})
|
|
17
|
+
})
|
|
18
|
+
})
|
|
19
|
+
}
|