@govbr-ds/webcomponents 2.0.0-next.12 → 2.0.0-next.14
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 +6 -6
- package/dist/cjs/br-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/br-button_2.cjs.entry.js +20 -21
- package/dist/cjs/br-button_2.cjs.entry.js.map +1 -1
- package/dist/cjs/br-checkbox.cjs.entry.js +9 -8
- package/dist/cjs/br-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/br-dropdown.cjs.entry.js +142 -0
- package/dist/cjs/br-dropdown.cjs.entry.js.map +1 -0
- package/dist/cjs/br-input.cjs.entry.js +13 -12
- package/dist/cjs/br-input.cjs.entry.js.map +1 -1
- package/dist/cjs/br-item.cjs.entry.js +33 -22
- package/dist/cjs/br-item.cjs.entry.js.map +1 -1
- package/dist/cjs/br-list.cjs.entry.js +126 -0
- package/dist/cjs/br-list.cjs.entry.js.map +1 -0
- package/dist/cjs/br-loading.cjs.entry.js +3 -3
- package/dist/cjs/br-loading.cjs.entry.js.map +1 -1
- package/dist/cjs/br-message.cjs.entry.js +8 -7
- package/dist/cjs/br-message.cjs.entry.js.map +1 -1
- package/dist/cjs/br-radio.cjs.entry.js +27 -29
- package/dist/cjs/br-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/br-switch.cjs.entry.js +9 -8
- package/dist/cjs/br-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-ecdd4399.js → index-fb4e9eaf.js} +37 -3
- package/dist/cjs/index-fb4e9eaf.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/webcomponents.cjs.js +2 -2
- package/dist/cjs/webcomponents.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/avatar/avatar.css +92 -0
- package/dist/collection/components/avatar/avatar.js +4 -4
- package/dist/collection/components/avatar/avatar.js.map +1 -1
- package/dist/collection/components/button/button.css +90 -0
- package/dist/collection/components/button/button.js +15 -34
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.css +83 -0
- package/dist/collection/components/checkbox/checkbox.js +9 -8
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.css +418 -0
- package/dist/collection/components/dropdown/dropdown.js +426 -0
- package/dist/collection/components/dropdown/dropdown.js.map +1 -0
- package/dist/collection/components/icon/icon.css +83 -0
- package/dist/collection/components/icon/icon.js +4 -4
- package/dist/collection/components/icon/icon.js.map +1 -1
- package/dist/collection/components/input/input.css +113 -0
- package/dist/collection/components/input/input.js +11 -28
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/item/item.css +88 -0
- package/dist/collection/components/item/item.js +58 -24
- package/dist/collection/components/item/item.js.map +1 -1
- package/dist/collection/components/list/list.css +515 -0
- package/dist/collection/components/list/list.js +384 -0
- package/dist/collection/components/list/list.js.map +1 -0
- package/dist/collection/components/loading/loading.css +90 -0
- 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 +83 -0
- package/dist/collection/components/message/message.js +6 -5
- package/dist/collection/components/message/message.js.map +1 -1
- package/dist/collection/components/radio/radio.css +83 -0
- package/dist/collection/components/radio/radio.js +26 -74
- package/dist/collection/components/radio/radio.js.map +1 -1
- package/dist/collection/components/switch/switch.css +83 -0
- package/dist/collection/components/switch/switch.js +9 -8
- package/dist/collection/components/switch/switch.js.map +1 -1
- package/dist/collection/pages/dropdown/dropdown.js +18 -0
- package/dist/collection/pages/list/list.js +19 -0
- package/dist/collection/scripts/menu.js +43 -33
- package/dist/components/br-avatar.js +7 -7
- package/dist/components/br-avatar.js.map +1 -1
- package/dist/components/br-button.js +1 -1
- package/dist/components/br-checkbox.js +11 -10
- package/dist/components/br-checkbox.js.map +1 -1
- package/dist/components/br-dropdown.d.ts +11 -0
- package/dist/components/br-dropdown.js +156 -0
- package/dist/components/br-dropdown.js.map +1 -0
- package/dist/components/br-icon.js +1 -1
- package/dist/components/br-input.js +15 -15
- package/dist/components/br-input.js.map +1 -1
- package/dist/components/br-item.js +40 -26
- package/dist/components/br-item.js.map +1 -1
- package/dist/components/br-list.d.ts +11 -0
- package/dist/components/br-list.js +138 -0
- package/dist/components/br-list.js.map +1 -0
- package/dist/components/br-loading.js +3 -3
- package/dist/components/br-loading.js.map +1 -1
- package/dist/components/br-message.js +10 -9
- package/dist/components/br-message.js.map +1 -1
- package/dist/components/br-radio.js +29 -33
- package/dist/components/br-radio.js.map +1 -1
- package/dist/components/br-switch.js +11 -10
- package/dist/components/br-switch.js.map +1 -1
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.js +3 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/p-5769e796.js +138 -0
- package/dist/components/p-5769e796.js.map +1 -0
- package/dist/components/{p-4c4ab942.js → p-698e7a18.js} +27 -3
- package/dist/components/p-698e7a18.js.map +1 -0
- package/dist/components/{p-a32b2d34.js → p-87afe26f.js} +6 -6
- package/dist/components/{p-a32b2d34.js.map → p-87afe26f.js.map} +1 -1
- package/dist/esm/br-avatar.entry.js +6 -6
- package/dist/esm/br-avatar.entry.js.map +1 -1
- package/dist/esm/br-button_2.entry.js +20 -21
- package/dist/esm/br-button_2.entry.js.map +1 -1
- package/dist/esm/br-checkbox.entry.js +9 -8
- package/dist/esm/br-checkbox.entry.js.map +1 -1
- package/dist/esm/br-dropdown.entry.js +138 -0
- package/dist/esm/br-dropdown.entry.js.map +1 -0
- package/dist/esm/br-input.entry.js +13 -12
- package/dist/esm/br-input.entry.js.map +1 -1
- package/dist/esm/br-item.entry.js +33 -22
- package/dist/esm/br-item.entry.js.map +1 -1
- package/dist/esm/br-list.entry.js +122 -0
- package/dist/esm/br-list.entry.js.map +1 -0
- package/dist/esm/br-loading.entry.js +3 -3
- package/dist/esm/br-loading.entry.js.map +1 -1
- package/dist/esm/br-message.entry.js +8 -7
- package/dist/esm/br-message.entry.js.map +1 -1
- package/dist/esm/br-radio.entry.js +27 -29
- package/dist/esm/br-radio.entry.js.map +1 -1
- package/dist/esm/br-switch.entry.js +9 -8
- package/dist/esm/br-switch.entry.js.map +1 -1
- package/dist/esm/{index-5866d5ff.js → index-c7037515.js} +37 -3
- package/dist/esm/index-c7037515.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/webcomponents.js +3 -3
- package/dist/esm/webcomponents.js.map +1 -1
- package/dist/types/components/avatar/avatar.d.ts +3 -3
- package/dist/types/components/button/button.d.ts +2 -6
- package/dist/types/components/checkbox/checkbox.d.ts +2 -2
- package/dist/types/components/dropdown/dropdown.d.ts +154 -0
- package/dist/types/components/icon/icon.d.ts +2 -2
- package/dist/types/components/input/input.d.ts +9 -13
- package/dist/types/components/item/item.d.ts +16 -5
- package/dist/types/components/list/list.d.ts +126 -0
- package/dist/types/components/loading/loading.d.ts +1 -1
- package/dist/types/components/message/message.d.ts +2 -2
- package/dist/types/components/radio/radio.d.ts +5 -4
- package/dist/types/components/switch/switch.d.ts +3 -3
- package/dist/types/components.d.ts +279 -26
- package/dist/webcomponents/p-0f6e2ddc.entry.js +2 -0
- package/dist/webcomponents/p-0f6e2ddc.entry.js.map +1 -0
- package/dist/webcomponents/p-14f1c8e6.entry.js +2 -0
- package/dist/webcomponents/p-14f1c8e6.entry.js.map +1 -0
- package/dist/webcomponents/p-198082b6.entry.js +2 -0
- package/dist/webcomponents/p-198082b6.entry.js.map +1 -0
- package/dist/webcomponents/{p-6315c80a.js → p-6849daee.js} +3 -3
- package/dist/webcomponents/p-6849daee.js.map +1 -0
- package/dist/webcomponents/p-867bba23.entry.js +2 -0
- package/dist/webcomponents/p-867bba23.entry.js.map +1 -0
- package/dist/webcomponents/p-8efc22a3.entry.js +2 -0
- package/dist/webcomponents/p-8efc22a3.entry.js.map +1 -0
- package/dist/webcomponents/p-9dbe247e.entry.js +2 -0
- package/dist/webcomponents/p-9dbe247e.entry.js.map +1 -0
- package/dist/webcomponents/p-a5a079d8.entry.js +2 -0
- package/dist/webcomponents/p-a5a079d8.entry.js.map +1 -0
- package/dist/webcomponents/p-ac16ee58.entry.js +2 -0
- package/dist/webcomponents/p-ac16ee58.entry.js.map +1 -0
- package/dist/webcomponents/p-c36696c6.entry.js +2 -0
- package/dist/webcomponents/p-c36696c6.entry.js.map +1 -0
- package/dist/webcomponents/p-dde91d20.entry.js +13 -0
- package/dist/webcomponents/p-dde91d20.entry.js.map +1 -0
- package/dist/webcomponents/p-f01f1e6b.entry.js +2 -0
- package/dist/webcomponents/p-f01f1e6b.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 +451 -128
- package/hydrate/index.mjs +451 -128
- package/package.json +10 -6
- package/vscode-data.json +53 -12
- package/dist/cjs/index-ecdd4399.js.map +0 -1
- package/dist/components/p-1b05c8e6.js +0 -140
- package/dist/components/p-1b05c8e6.js.map +0 -1
- package/dist/components/p-4c4ab942.js.map +0 -1
- package/dist/esm/index-5866d5ff.js.map +0 -1
- package/dist/webcomponents/p-0136c397.entry.js +0 -2
- package/dist/webcomponents/p-0136c397.entry.js.map +0 -1
- package/dist/webcomponents/p-273a5d72.entry.js +0 -2
- package/dist/webcomponents/p-273a5d72.entry.js.map +0 -1
- package/dist/webcomponents/p-3822c947.entry.js +0 -2
- package/dist/webcomponents/p-3822c947.entry.js.map +0 -1
- package/dist/webcomponents/p-39d81381.entry.js +0 -2
- package/dist/webcomponents/p-39d81381.entry.js.map +0 -1
- package/dist/webcomponents/p-462fd7e0.entry.js +0 -2
- package/dist/webcomponents/p-462fd7e0.entry.js.map +0 -1
- package/dist/webcomponents/p-6315c80a.js.map +0 -1
- package/dist/webcomponents/p-a61a99a5.entry.js +0 -2
- package/dist/webcomponents/p-a61a99a5.entry.js.map +0 -1
- package/dist/webcomponents/p-d3503211.entry.js +0 -13
- package/dist/webcomponents/p-d3503211.entry.js.map +0 -1
- package/dist/webcomponents/p-dd83c07e.entry.js +0 -2
- package/dist/webcomponents/p-dd83c07e.entry.js.map +0 -1
- package/dist/webcomponents/p-f49c9f5d.entry.js +0 -2
- package/dist/webcomponents/p-f49c9f5d.entry.js.map +0 -1
|
@@ -115,6 +115,30 @@ progress {
|
|
|
115
115
|
display: none;
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
+
.d-flex {
|
|
119
|
+
display: flex !important;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.align-items-center {
|
|
123
|
+
align-items: center !important;
|
|
124
|
+
}
|
|
125
|
+
.col,
|
|
126
|
+
[class*=col-] {
|
|
127
|
+
padding-left: calc(var(--grid-gutter) * 0.5);
|
|
128
|
+
padding-right: calc(var(--grid-gutter) * 0.5);
|
|
129
|
+
width: 100%;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.col {
|
|
133
|
+
flex: 1 0 0%;
|
|
134
|
+
min-width: 8.3333333333%;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.col-auto {
|
|
138
|
+
flex: 0 0 auto;
|
|
139
|
+
width: auto;
|
|
140
|
+
}
|
|
141
|
+
|
|
118
142
|
.row {
|
|
119
143
|
--grid-gutter: var(--grid-portrait-gutter);
|
|
120
144
|
display: flex;
|
|
@@ -155,6 +179,16 @@ progress {
|
|
|
155
179
|
.mb-3 {
|
|
156
180
|
margin-bottom: var(--spacing-scale-2x) !important;
|
|
157
181
|
}
|
|
182
|
+
|
|
183
|
+
.py-3 {
|
|
184
|
+
padding-bottom: var(--spacing-scale-2x) !important;
|
|
185
|
+
padding-top: var(--spacing-scale-2x) !important;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.py-4 {
|
|
189
|
+
padding-bottom: var(--spacing-scale-3x) !important;
|
|
190
|
+
padding-top: var(--spacing-scale-3x) !important;
|
|
191
|
+
}
|
|
158
192
|
body {
|
|
159
193
|
--bg-color: var(--background);
|
|
160
194
|
--bg-color-rgb: var(--background-rgb);
|
|
@@ -222,6 +256,11 @@ img {
|
|
|
222
256
|
max-width: 100%;
|
|
223
257
|
vertical-align: middle;
|
|
224
258
|
}
|
|
259
|
+
ul {
|
|
260
|
+
margin-bottom: var(--spacing-scale-2x);
|
|
261
|
+
margin-top: 0;
|
|
262
|
+
padding: 0 0 0 var(--spacing-scale-5x);
|
|
263
|
+
}
|
|
225
264
|
|
|
226
265
|
label,
|
|
227
266
|
.label {
|
|
@@ -315,6 +354,50 @@ code,
|
|
|
315
354
|
pointer-events: none;
|
|
316
355
|
}
|
|
317
356
|
|
|
357
|
+
[data-toggle=dropdown] + * {
|
|
358
|
+
position: absolute;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
.dropdown {
|
|
362
|
+
position: relative;
|
|
363
|
+
}
|
|
364
|
+
.dropdown [data-toggle=dropdown] + * {
|
|
365
|
+
box-shadow: var(--surface-shadow-sm);
|
|
366
|
+
left: 0;
|
|
367
|
+
position: absolute;
|
|
368
|
+
top: 100%;
|
|
369
|
+
}
|
|
370
|
+
.dropdown .br-item {
|
|
371
|
+
--color: var(--color-light);
|
|
372
|
+
--color-rgb: var(--color-light-rgb);
|
|
373
|
+
--text-color: var(--color-light);
|
|
374
|
+
--interactive: var(--interactive-light);
|
|
375
|
+
--interactive-rgb: var(--color-rgb);
|
|
376
|
+
--visited: var(--visited-light);
|
|
377
|
+
--hover: var(--hover-light);
|
|
378
|
+
--pressed: var(--pressed-light);
|
|
379
|
+
--focus-color: var(--focus-color-light);
|
|
380
|
+
--focus: var(--focus-color-light);
|
|
381
|
+
--item-padding-y: var(--spacing-scale-2x);
|
|
382
|
+
background-color: var(--background-light);
|
|
383
|
+
color: var(--color);
|
|
384
|
+
}
|
|
385
|
+
.dropdown .br-item:not(:last-child) {
|
|
386
|
+
border-bottom: 1px solid var(--border-color);
|
|
387
|
+
}
|
|
388
|
+
.dropdown .br-item.selected {
|
|
389
|
+
--color: var(--color-dark);
|
|
390
|
+
--color-rgb: var(--color-dark-rgb);
|
|
391
|
+
--text-color: var(--color-dark);
|
|
392
|
+
--interactive: var(--interactive-dark);
|
|
393
|
+
--interactive-rgb: var(--interactive-dark-rgb);
|
|
394
|
+
--visited: var(--visited-dark);
|
|
395
|
+
--hover: var(--hover-dark);
|
|
396
|
+
--pressed: var(--pressed-dark);
|
|
397
|
+
--focus-color: var(--focus-color-dark);
|
|
398
|
+
--focus: var(--focus-color-dark);
|
|
399
|
+
}
|
|
400
|
+
|
|
318
401
|
.br-message {
|
|
319
402
|
--message-background: var(--background);
|
|
320
403
|
--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
|
-
|
|
67
|
+
var _a, _b;
|
|
68
|
+
return (h(Host, { key: 'd6bf5928201f58d0f8e854bac2ac5957c032b7d0' }, 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/**\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"]}
|
|
@@ -115,6 +115,30 @@ progress {
|
|
|
115
115
|
display: none;
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
+
.d-flex {
|
|
119
|
+
display: flex !important;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.align-items-center {
|
|
123
|
+
align-items: center !important;
|
|
124
|
+
}
|
|
125
|
+
.col,
|
|
126
|
+
[class*=col-] {
|
|
127
|
+
padding-left: calc(var(--grid-gutter) * 0.5);
|
|
128
|
+
padding-right: calc(var(--grid-gutter) * 0.5);
|
|
129
|
+
width: 100%;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.col {
|
|
133
|
+
flex: 1 0 0%;
|
|
134
|
+
min-width: 8.3333333333%;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.col-auto {
|
|
138
|
+
flex: 0 0 auto;
|
|
139
|
+
width: auto;
|
|
140
|
+
}
|
|
141
|
+
|
|
118
142
|
.row {
|
|
119
143
|
--grid-gutter: var(--grid-portrait-gutter);
|
|
120
144
|
display: flex;
|
|
@@ -155,6 +179,16 @@ progress {
|
|
|
155
179
|
.mb-3 {
|
|
156
180
|
margin-bottom: var(--spacing-scale-2x) !important;
|
|
157
181
|
}
|
|
182
|
+
|
|
183
|
+
.py-3 {
|
|
184
|
+
padding-bottom: var(--spacing-scale-2x) !important;
|
|
185
|
+
padding-top: var(--spacing-scale-2x) !important;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.py-4 {
|
|
189
|
+
padding-bottom: var(--spacing-scale-3x) !important;
|
|
190
|
+
padding-top: var(--spacing-scale-3x) !important;
|
|
191
|
+
}
|
|
158
192
|
body {
|
|
159
193
|
--bg-color: var(--background);
|
|
160
194
|
--bg-color-rgb: var(--background-rgb);
|
|
@@ -222,6 +256,11 @@ img {
|
|
|
222
256
|
max-width: 100%;
|
|
223
257
|
vertical-align: middle;
|
|
224
258
|
}
|
|
259
|
+
ul {
|
|
260
|
+
margin-bottom: var(--spacing-scale-2x);
|
|
261
|
+
margin-top: 0;
|
|
262
|
+
padding: 0 0 0 var(--spacing-scale-5x);
|
|
263
|
+
}
|
|
225
264
|
|
|
226
265
|
label,
|
|
227
266
|
.label {
|
|
@@ -315,6 +354,50 @@ code,
|
|
|
315
354
|
pointer-events: none;
|
|
316
355
|
}
|
|
317
356
|
|
|
357
|
+
[data-toggle=dropdown] + * {
|
|
358
|
+
position: absolute;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
.dropdown {
|
|
362
|
+
position: relative;
|
|
363
|
+
}
|
|
364
|
+
.dropdown [data-toggle=dropdown] + * {
|
|
365
|
+
box-shadow: var(--surface-shadow-sm);
|
|
366
|
+
left: 0;
|
|
367
|
+
position: absolute;
|
|
368
|
+
top: 100%;
|
|
369
|
+
}
|
|
370
|
+
.dropdown .br-item {
|
|
371
|
+
--color: var(--color-light);
|
|
372
|
+
--color-rgb: var(--color-light-rgb);
|
|
373
|
+
--text-color: var(--color-light);
|
|
374
|
+
--interactive: var(--interactive-light);
|
|
375
|
+
--interactive-rgb: var(--color-rgb);
|
|
376
|
+
--visited: var(--visited-light);
|
|
377
|
+
--hover: var(--hover-light);
|
|
378
|
+
--pressed: var(--pressed-light);
|
|
379
|
+
--focus-color: var(--focus-color-light);
|
|
380
|
+
--focus: var(--focus-color-light);
|
|
381
|
+
--item-padding-y: var(--spacing-scale-2x);
|
|
382
|
+
background-color: var(--background-light);
|
|
383
|
+
color: var(--color);
|
|
384
|
+
}
|
|
385
|
+
.dropdown .br-item:not(:last-child) {
|
|
386
|
+
border-bottom: 1px solid var(--border-color);
|
|
387
|
+
}
|
|
388
|
+
.dropdown .br-item.selected {
|
|
389
|
+
--color: var(--color-dark);
|
|
390
|
+
--color-rgb: var(--color-dark-rgb);
|
|
391
|
+
--text-color: var(--color-dark);
|
|
392
|
+
--interactive: var(--interactive-dark);
|
|
393
|
+
--interactive-rgb: var(--interactive-dark-rgb);
|
|
394
|
+
--visited: var(--visited-dark);
|
|
395
|
+
--hover: var(--hover-dark);
|
|
396
|
+
--pressed: var(--pressed-dark);
|
|
397
|
+
--focus-color: var(--focus-color-dark);
|
|
398
|
+
--focus: var(--focus-color-dark);
|
|
399
|
+
}
|
|
400
|
+
|
|
318
401
|
.br-radio {
|
|
319
402
|
--radio-size: 24px;
|
|
320
403
|
--radio-bullet-size: 16px;
|
|
@@ -8,6 +8,28 @@ import { inheritAriaAttributes } from "../../utils/inherited-attributes";
|
|
|
8
8
|
export class Radio {
|
|
9
9
|
constructor() {
|
|
10
10
|
this.inheritedAttributes = {};
|
|
11
|
+
this.handleClick = () => {
|
|
12
|
+
this.toggleChecked();
|
|
13
|
+
};
|
|
14
|
+
this.handleKeyDown = (event) => {
|
|
15
|
+
// Permite alternar o estado apenas quando a tecla pressionada é 'Space'
|
|
16
|
+
if (event.code === 'Space') {
|
|
17
|
+
event.preventDefault(); // Impede o comportamento padrão da tecla 'Space'
|
|
18
|
+
this.toggleChecked();
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Controla o comportamento de alternar o estado checked.
|
|
23
|
+
*/
|
|
24
|
+
this.toggleChecked = () => {
|
|
25
|
+
if (this.toggle) {
|
|
26
|
+
this.checked = !this.checked;
|
|
27
|
+
this.brDidCheckedChange.emit({ value: this.value, checked: this.checked });
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
this.stopPropagation = (event) => {
|
|
31
|
+
event.stopPropagation();
|
|
32
|
+
};
|
|
11
33
|
this.checked = false;
|
|
12
34
|
this.disabled = false;
|
|
13
35
|
this.state = null;
|
|
@@ -83,39 +105,15 @@ export class Radio {
|
|
|
83
105
|
'hidden-label': this.hasHiddenLabel,
|
|
84
106
|
};
|
|
85
107
|
}
|
|
86
|
-
/**
|
|
87
|
-
* Handler para o evento "onClick"
|
|
88
|
-
*/
|
|
89
|
-
async handleClick() {
|
|
90
|
-
this.toggleChecked();
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Handler para o evento "onKeyDown"
|
|
94
|
-
*/
|
|
95
|
-
async handleKeyDown(event) {
|
|
96
|
-
// Permite alternar o estado apenas quando a tecla pressionada é 'Space'
|
|
97
|
-
if (event.code === 'Space') {
|
|
98
|
-
event.preventDefault(); // Impede o comportamento padrão da tecla 'Space'
|
|
99
|
-
this.toggleChecked();
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Controla o comportamento de alternar o estado checked.
|
|
104
|
-
*/
|
|
105
|
-
toggleChecked() {
|
|
106
|
-
if (this.toggle) {
|
|
107
|
-
this.checked = !this.checked;
|
|
108
|
-
this.brDidCheckedChange.emit({ value: this.value, checked: this.checked });
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
108
|
/**
|
|
112
109
|
* Determina um id para o radio.
|
|
113
110
|
*/
|
|
114
111
|
getComputedId() {
|
|
115
|
-
|
|
112
|
+
var _a;
|
|
113
|
+
return ((_a = this.customId) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.customId : this.name;
|
|
116
114
|
}
|
|
117
115
|
render() {
|
|
118
|
-
return (h(Host, { key: '
|
|
116
|
+
return (h(Host, { key: '5da5a61be5135f9d6938a3f71d5423947c62f786', "aria-disabled": this.disabled ? 'true' : null }, h("div", { key: '84fb3469e320751f3f9d10f727f3bd113bea0c7d', class: this.getCssClassMap(), onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("input", Object.assign({ key: 'e2dfa7551a548ed986d2d1be7343cd67645150b9', "aria-label": this.label, type: "radio", id: this.getComputedId(), name: this.name, checked: this.checked, disabled: this.disabled, value: this.value, onClick: this.stopPropagation }, this.inheritedAttributes)), h("label", { key: 'fa025229ad31f88416a552fb6dc9cd00f0da6876', htmlFor: this.getComputedId() }, this._slotDefault ? h("slot", null) : this.label))));
|
|
119
117
|
}
|
|
120
118
|
static get is() { return "br-radio"; }
|
|
121
119
|
static get encapsulation() { return "shadow"; }
|
|
@@ -188,7 +186,7 @@ export class Radio {
|
|
|
188
186
|
},
|
|
189
187
|
"hasHiddenLabel": {
|
|
190
188
|
"type": "boolean",
|
|
191
|
-
"mutable":
|
|
189
|
+
"mutable": false,
|
|
192
190
|
"complexType": {
|
|
193
191
|
"original": "boolean",
|
|
194
192
|
"resolved": "boolean",
|
|
@@ -527,52 +525,6 @@ export class Radio {
|
|
|
527
525
|
}
|
|
528
526
|
}];
|
|
529
527
|
}
|
|
530
|
-
static get methods() {
|
|
531
|
-
return {
|
|
532
|
-
"handleClick": {
|
|
533
|
-
"complexType": {
|
|
534
|
-
"signature": "() => Promise<void>",
|
|
535
|
-
"parameters": [],
|
|
536
|
-
"references": {
|
|
537
|
-
"Promise": {
|
|
538
|
-
"location": "global",
|
|
539
|
-
"id": "global::Promise"
|
|
540
|
-
}
|
|
541
|
-
},
|
|
542
|
-
"return": "Promise<void>"
|
|
543
|
-
},
|
|
544
|
-
"docs": {
|
|
545
|
-
"text": "",
|
|
546
|
-
"tags": []
|
|
547
|
-
}
|
|
548
|
-
},
|
|
549
|
-
"handleKeyDown": {
|
|
550
|
-
"complexType": {
|
|
551
|
-
"signature": "(event: KeyboardEvent) => Promise<void>",
|
|
552
|
-
"parameters": [{
|
|
553
|
-
"name": "event",
|
|
554
|
-
"type": "KeyboardEvent",
|
|
555
|
-
"docs": ""
|
|
556
|
-
}],
|
|
557
|
-
"references": {
|
|
558
|
-
"Promise": {
|
|
559
|
-
"location": "global",
|
|
560
|
-
"id": "global::Promise"
|
|
561
|
-
},
|
|
562
|
-
"KeyboardEvent": {
|
|
563
|
-
"location": "global",
|
|
564
|
-
"id": "global::KeyboardEvent"
|
|
565
|
-
}
|
|
566
|
-
},
|
|
567
|
-
"return": "Promise<void>"
|
|
568
|
-
},
|
|
569
|
-
"docs": {
|
|
570
|
-
"text": "",
|
|
571
|
-
"tags": []
|
|
572
|
-
}
|
|
573
|
-
}
|
|
574
|
-
};
|
|
575
|
-
}
|
|
576
528
|
static get elementRef() { return "el"; }
|
|
577
529
|
static get listeners() {
|
|
578
530
|
return [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../src/components/radio/radio.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State } 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/radio?tab=designer).\n *\n * @slot default - O texto descritivo pode ser passado por propriedade (label) ou por slot.\n */\n\n@Component({\n tag: 'br-radio',\n styleUrl: 'radio.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Radio {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLInputElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o estado de seleção do radio.\n * Se definido como verdadeiro, o radio estará marcado. Caso contrário, estará desmarcado.\n */\n @Prop({ reflect: true, mutable: true }) checked: boolean = false\n\n /**\n * Desativa o radio, tornando-o não interativo.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * Indica a validade do radio.\n * Valores possíveis:\n * - 'valid': O radio é considerado válido.\n * - 'invalid': O radio é considerado inválido.\n * Se não for especificado, o valor padrão é `null`, indicando que a validade não foi definida.\n */\n @Prop({ reflect: true }) state: 'valid' | 'invalid' = null\n\n /**\n * Define se o label associado ao radio deve ser oculto.\n * Se definido como verdadeiro, o texto do label será oculto, mas o radio ainda estará visível e funcional.\n */\n @Prop({ reflect: true, mutable: true, attribute: 'has-hidden-label' }) hasHiddenLabel: boolean = false\n\n /**\n * Define o nome do radio, que é utilizado para agrupar radios em formulários e identificar o campo.\n * O valor é obrigatório e deve ser fornecido para garantir o correto funcionamento em formulários.\n */\n\n @Prop({ reflect: true }) name!: string\n\n /**\n * Texto descritivo exibido à direita do radio.\n * Caso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado.\n */\n @Prop({ reflect: true }) label: string\n\n /**\n * Define o valor associado ao radio quando ele faz parte de um formulário nativo (`<form>`).\n * Esse valor é enviado com o formulário quando o radio está selecionado.\n * **Nota:** Esta propriedade não deve ser utilizada para determinar se o radio está selecionado; para verificar o estado de seleção, use a propriedade `checked`.\n */\n @Prop({ reflect: true }) value: any\n\n /**\n * Especifica o ID do componente, que é usado para conectar o label correspondente ao radio.\n * Se não for fornecido, o ID será o mesmo valor atribuído à propriedade `name`.\n */\n @Prop({ reflect: true, attribute: 'id' }) customId: string\n\n /**\n * Indica se o radio pode alternar seu estado checked\n */\n @Prop({ reflect: true }) toggle: boolean = false\n\n /**\n * Propriedade que vai guardar o valor da validação do slot\n */\n @State() _slotDefault: boolean = false\n\n // Faz a marcação do checkbox de acordo com a seleção do componente item do tipo is-interactive\n @Listen('brDidSelect', { target: 'document' })\n handleItemInteractiveSelect(event: CustomEvent) {\n\n // Verifica se o evento é de um pai correto\n const target = event.target as HTMLElement;\n const brItem = target.closest('br-item') as HTMLElement;\n\n if (brItem && this.el.parentElement?.contains(brItem)) {\n this.checked = event.detail.selected;\n }\n\n event.stopPropagation();\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 }\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.hasSlotContentDefault()\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 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 private hasSlotContentDefault(): any {\n this._slotDefault = this.el.innerHTML !== ''\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-radio': true,\n valid: this.state === 'valid',\n invalid: this.state === 'invalid',\n disabled: this.disabled,\n 'hidden-label': this.hasHiddenLabel,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n /**\n * Componente teve seu estado \"checked\" alterado\n */\n @Event() brDidCheckedChange: EventEmitter<{ value: boolean; checked: boolean }>\n\n @Method()\n /**\n * Handler para o evento \"onClick\"\n */\n async handleClick() {\n this.toggleChecked()\n }\n\n @Method()\n /**\n * Handler para o evento \"onKeyDown\"\n */\n async handleKeyDown(event: KeyboardEvent) {\n // Permite alternar o estado apenas quando a tecla pressionada é 'Space'\n if (event.code === 'Space') {\n event.preventDefault() // Impede o comportamento padrão da tecla 'Space'\n this.toggleChecked()\n }\n }\n\n /**\n * Controla o comportamento de alternar o estado checked.\n */\n private toggleChecked() {\n if (this.toggle) {\n this.checked = !this.checked\n this.brDidCheckedChange.emit({ value: this.value, checked: this.checked })\n }\n }\n\n /**\n * Determina um id para o radio.\n */\n private getComputedId(): string {\n return this.customId ? this.customId : this.name\n }\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null}>\n <div\n class={this.getCssClassMap()}\n onClick={() => this.handleClick()}\n onKeyDown={(event) => this.handleKeyDown(event)}\n >\n <input\n aria-label={this.label}\n type=\"radio\"\n id={this.getComputedId()}\n name={this.name}\n checked={this.checked}\n disabled={this.disabled}\n value={this.value}\n onClick={(event) => event.stopPropagation()}\n {...this.inheritedAttributes}\n />\n <label htmlFor={this.getComputedId()}>{this._slotDefault ? <slot></slot> : this.label}</label>\n </div>\n </Host>\n )\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../src/components/radio/radio.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Listen, Prop, State } 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/radio?tab=designer).\n *\n * @slot default - O texto descritivo pode ser passado por propriedade (label) ou por slot.\n */\n\n@Component({\n tag: 'br-radio',\n styleUrl: 'radio.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Radio {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrRadioElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o estado de seleção do radio.\n * Se definido como verdadeiro, o radio estará marcado. Caso contrário, estará desmarcado.\n */\n @Prop({ reflect: true, mutable: true }) checked: boolean = false\n\n /**\n * Desativa o radio, tornando-o não interativo.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * Indica a validade do radio.\n * Valores possíveis:\n * - 'valid': O radio é considerado válido.\n * - 'invalid': O radio é considerado inválido.\n * Se não for especificado, o valor padrão é `null`, indicando que a validade não foi definida.\n */\n @Prop({ reflect: true }) state: 'valid' | 'invalid' = null\n\n /**\n * Define se o label associado ao radio deve ser oculto.\n * Se definido como verdadeiro, o texto do label será oculto, mas o radio ainda estará visível e funcional.\n */\n @Prop({ reflect: true, attribute: 'has-hidden-label' }) hasHiddenLabel: boolean = false\n\n /**\n * Define o nome do radio, que é utilizado para agrupar radios em formulários e identificar o campo.\n * O valor é obrigatório e deve ser fornecido para garantir o correto funcionamento em formulários.\n */\n\n @Prop({ reflect: true }) name!: string\n\n /**\n * Texto descritivo exibido à direita do radio.\n * Caso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado.\n */\n @Prop({ reflect: true }) label: string\n\n /**\n * Define o valor associado ao radio quando ele faz parte de um formulário nativo (`<form>`).\n * Esse valor é enviado com o formulário quando o radio está selecionado.\n * **Nota:** Esta propriedade não deve ser utilizada para determinar se o radio está selecionado; para verificar o estado de seleção, use a propriedade `checked`.\n */\n @Prop({ reflect: true }) value: any\n\n /**\n * Especifica o ID do componente, que é usado para conectar o label correspondente ao radio.\n * Se não for fornecido, o ID será o mesmo valor atribuído à propriedade `name`.\n */\n @Prop({ reflect: true, attribute: 'id' }) customId: string\n\n /**\n * Indica se o radio pode alternar seu estado checked\n */\n @Prop({ reflect: true }) toggle: boolean = false\n\n /**\n * Propriedade que vai guardar o valor da validação do slot\n */\n @State() _slotDefault: boolean = false\n\n // Faz a marcação do checkbox de acordo com a seleção do componente item do tipo is-interactive\n @Listen('brDidSelect', { target: 'document' })\n handleItemInteractiveSelect(event: CustomEvent) {\n // Verifica se o evento é de um pai correto\n const target = event.target as HTMLElement\n const brItem = target.closest('br-item') as HTMLElement\n\n if (brItem && this.el.parentElement?.contains(brItem)) {\n this.checked = event.detail.selected\n }\n\n event.stopPropagation()\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 }\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.hasSlotContentDefault()\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 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 private hasSlotContentDefault(): any {\n this._slotDefault = this.el.innerHTML !== ''\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-radio': true,\n valid: this.state === 'valid',\n invalid: this.state === 'invalid',\n disabled: this.disabled,\n 'hidden-label': this.hasHiddenLabel,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n /**\n * Componente teve seu estado \"checked\" alterado\n */\n @Event() brDidCheckedChange: EventEmitter<{ value: boolean; checked: boolean }>\n\n private readonly handleClick = () => {\n this.toggleChecked()\n }\n\n private readonly handleKeyDown = (event: KeyboardEvent) => {\n // Permite alternar o estado apenas quando a tecla pressionada é 'Space'\n if (event.code === 'Space') {\n event.preventDefault() // Impede o comportamento padrão da tecla 'Space'\n this.toggleChecked()\n }\n }\n\n /**\n * Controla o comportamento de alternar o estado checked.\n */\n private readonly toggleChecked = () => {\n if (this.toggle) {\n this.checked = !this.checked\n this.brDidCheckedChange.emit({ value: this.value, checked: this.checked })\n }\n }\n\n /**\n * Determina um id para o radio.\n */\n private getComputedId(): string {\n return this.customId?.length > 0 ? this.customId : this.name\n }\n\n private readonly stopPropagation = (event: Event) => {\n event.stopPropagation()\n }\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null}>\n <div class={this.getCssClassMap()} onClick={this.handleClick} onKeyDown={this.handleKeyDown}>\n <input\n aria-label={this.label}\n type=\"radio\"\n id={this.getComputedId()}\n name={this.name}\n checked={this.checked}\n disabled={this.disabled}\n value={this.value}\n onClick={this.stopPropagation}\n {...this.inheritedAttributes}\n />\n <label htmlFor={this.getComputedId()}>{this._slotDefault ? <slot></slot> : this.label}</label>\n </div>\n </Host>\n )\n }\n}\n"]}
|
|
@@ -115,6 +115,30 @@ progress {
|
|
|
115
115
|
display: none;
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
+
.d-flex {
|
|
119
|
+
display: flex !important;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.align-items-center {
|
|
123
|
+
align-items: center !important;
|
|
124
|
+
}
|
|
125
|
+
.col,
|
|
126
|
+
[class*=col-] {
|
|
127
|
+
padding-left: calc(var(--grid-gutter) * 0.5);
|
|
128
|
+
padding-right: calc(var(--grid-gutter) * 0.5);
|
|
129
|
+
width: 100%;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.col {
|
|
133
|
+
flex: 1 0 0%;
|
|
134
|
+
min-width: 8.3333333333%;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.col-auto {
|
|
138
|
+
flex: 0 0 auto;
|
|
139
|
+
width: auto;
|
|
140
|
+
}
|
|
141
|
+
|
|
118
142
|
.row {
|
|
119
143
|
--grid-gutter: var(--grid-portrait-gutter);
|
|
120
144
|
display: flex;
|
|
@@ -155,6 +179,16 @@ progress {
|
|
|
155
179
|
.mb-3 {
|
|
156
180
|
margin-bottom: var(--spacing-scale-2x) !important;
|
|
157
181
|
}
|
|
182
|
+
|
|
183
|
+
.py-3 {
|
|
184
|
+
padding-bottom: var(--spacing-scale-2x) !important;
|
|
185
|
+
padding-top: var(--spacing-scale-2x) !important;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.py-4 {
|
|
189
|
+
padding-bottom: var(--spacing-scale-3x) !important;
|
|
190
|
+
padding-top: var(--spacing-scale-3x) !important;
|
|
191
|
+
}
|
|
158
192
|
body {
|
|
159
193
|
--bg-color: var(--background);
|
|
160
194
|
--bg-color-rgb: var(--background-rgb);
|
|
@@ -222,6 +256,11 @@ img {
|
|
|
222
256
|
max-width: 100%;
|
|
223
257
|
vertical-align: middle;
|
|
224
258
|
}
|
|
259
|
+
ul {
|
|
260
|
+
margin-bottom: var(--spacing-scale-2x);
|
|
261
|
+
margin-top: 0;
|
|
262
|
+
padding: 0 0 0 var(--spacing-scale-5x);
|
|
263
|
+
}
|
|
225
264
|
|
|
226
265
|
label,
|
|
227
266
|
.label {
|
|
@@ -315,6 +354,50 @@ code,
|
|
|
315
354
|
pointer-events: none;
|
|
316
355
|
}
|
|
317
356
|
|
|
357
|
+
[data-toggle=dropdown] + * {
|
|
358
|
+
position: absolute;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
.dropdown {
|
|
362
|
+
position: relative;
|
|
363
|
+
}
|
|
364
|
+
.dropdown [data-toggle=dropdown] + * {
|
|
365
|
+
box-shadow: var(--surface-shadow-sm);
|
|
366
|
+
left: 0;
|
|
367
|
+
position: absolute;
|
|
368
|
+
top: 100%;
|
|
369
|
+
}
|
|
370
|
+
.dropdown .br-item {
|
|
371
|
+
--color: var(--color-light);
|
|
372
|
+
--color-rgb: var(--color-light-rgb);
|
|
373
|
+
--text-color: var(--color-light);
|
|
374
|
+
--interactive: var(--interactive-light);
|
|
375
|
+
--interactive-rgb: var(--color-rgb);
|
|
376
|
+
--visited: var(--visited-light);
|
|
377
|
+
--hover: var(--hover-light);
|
|
378
|
+
--pressed: var(--pressed-light);
|
|
379
|
+
--focus-color: var(--focus-color-light);
|
|
380
|
+
--focus: var(--focus-color-light);
|
|
381
|
+
--item-padding-y: var(--spacing-scale-2x);
|
|
382
|
+
background-color: var(--background-light);
|
|
383
|
+
color: var(--color);
|
|
384
|
+
}
|
|
385
|
+
.dropdown .br-item:not(:last-child) {
|
|
386
|
+
border-bottom: 1px solid var(--border-color);
|
|
387
|
+
}
|
|
388
|
+
.dropdown .br-item.selected {
|
|
389
|
+
--color: var(--color-dark);
|
|
390
|
+
--color-rgb: var(--color-dark-rgb);
|
|
391
|
+
--text-color: var(--color-dark);
|
|
392
|
+
--interactive: var(--interactive-dark);
|
|
393
|
+
--interactive-rgb: var(--interactive-dark-rgb);
|
|
394
|
+
--visited: var(--visited-dark);
|
|
395
|
+
--hover: var(--hover-dark);
|
|
396
|
+
--pressed: var(--pressed-dark);
|
|
397
|
+
--focus-color: var(--focus-color-dark);
|
|
398
|
+
--focus: var(--focus-color-dark);
|
|
399
|
+
}
|
|
400
|
+
|
|
318
401
|
.br-switch {
|
|
319
402
|
--switch-height: var(--switch-height-medium);
|
|
320
403
|
--switch-width: var(--switch-width-medium);
|