@govbr-ds/webcomponents 2.0.0-next.8 → 2.0.0-next.9
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 +46 -37
- package/dist/cjs/br-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/br-button_2.cjs.entry.js +21 -24
- package/dist/cjs/br-button_2.cjs.entry.js.map +1 -1
- package/dist/cjs/br-checkbox.cjs.entry.js +11 -12
- package/dist/cjs/br-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/br-input.cjs.entry.js +12 -13
- package/dist/cjs/br-input.cjs.entry.js.map +1 -1
- package/dist/cjs/br-item.cjs.entry.js +12 -15
- package/dist/cjs/br-item.cjs.entry.js.map +1 -1
- package/dist/cjs/br-loading.cjs.entry.js +11 -12
- package/dist/cjs/br-loading.cjs.entry.js.map +1 -1
- package/dist/cjs/br-message.cjs.entry.js +11 -12
- package/dist/cjs/br-message.cjs.entry.js.map +1 -1
- package/dist/cjs/br-radio.cjs.entry.js +11 -12
- package/dist/cjs/br-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/br-switch.cjs.entry.js +11 -12
- package/dist/cjs/br-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-c3888765.js → index-af20d91d.js} +20 -14
- package/dist/cjs/index-af20d91d.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/webcomponents.cjs.js +2 -2
- package/dist/cjs/webcomponents.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/avatar/avatar.js +66 -57
- package/dist/collection/components/avatar/avatar.js.map +1 -1
- package/dist/collection/components/button/button.js +30 -31
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.js +30 -31
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/icon/icon.js +28 -30
- package/dist/collection/components/icon/icon.js.map +1 -1
- package/dist/collection/components/input/input.css +7 -0
- package/dist/collection/components/input/input.js +30 -31
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/item/item.js +31 -34
- package/dist/collection/components/item/item.js.map +1 -1
- package/dist/collection/components/loading/loading.js +28 -29
- package/dist/collection/components/loading/loading.js.map +1 -1
- package/dist/collection/components/message/message.js +28 -29
- package/dist/collection/components/message/message.js.map +1 -1
- package/dist/collection/components/radio/radio.js +30 -31
- package/dist/collection/components/radio/radio.js.map +1 -1
- package/dist/collection/components/switch/switch.js +30 -31
- package/dist/collection/components/switch/switch.js.map +1 -1
- package/dist/components/br-avatar.js +49 -40
- package/dist/components/br-avatar.js.map +1 -1
- package/dist/components/br-button.js +1 -1
- package/dist/components/br-checkbox.js +13 -14
- package/dist/components/br-checkbox.js.map +1 -1
- package/dist/components/br-icon.js +1 -1
- package/dist/components/br-input.js +17 -18
- package/dist/components/br-input.js.map +1 -1
- package/dist/components/br-item.js +13 -16
- package/dist/components/br-item.js.map +1 -1
- package/dist/components/br-loading.js +13 -14
- package/dist/components/br-loading.js.map +1 -1
- package/dist/components/br-message.js +15 -16
- package/dist/components/br-message.js.map +1 -1
- package/dist/components/br-radio.js +13 -14
- package/dist/components/br-radio.js.map +1 -1
- package/dist/components/br-switch.js +14 -15
- package/dist/components/br-switch.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/{v4.js → p-14616bce.js} +1 -1
- package/dist/components/p-14616bce.js.map +1 -0
- package/dist/components/p-1b06f3d9.js +1438 -0
- package/dist/components/p-1b06f3d9.js.map +1 -0
- package/dist/components/{icon.js → p-75879137.js} +14 -16
- package/dist/components/p-75879137.js.map +1 -0
- package/dist/components/{inherited-attributes.js → p-ee6f4f3f.js} +1 -1
- package/dist/components/p-ee6f4f3f.js.map +1 -0
- package/dist/components/{button.js → p-f3ca1c10.js} +14 -15
- package/dist/components/p-f3ca1c10.js.map +1 -0
- package/dist/esm/br-avatar.entry.js +46 -37
- package/dist/esm/br-avatar.entry.js.map +1 -1
- package/dist/esm/br-button_2.entry.js +21 -24
- package/dist/esm/br-button_2.entry.js.map +1 -1
- package/dist/esm/br-checkbox.entry.js +11 -12
- package/dist/esm/br-checkbox.entry.js.map +1 -1
- package/dist/esm/br-input.entry.js +12 -13
- package/dist/esm/br-input.entry.js.map +1 -1
- package/dist/esm/br-item.entry.js +12 -15
- package/dist/esm/br-item.entry.js.map +1 -1
- package/dist/esm/br-loading.entry.js +11 -12
- package/dist/esm/br-loading.entry.js.map +1 -1
- package/dist/esm/br-message.entry.js +11 -12
- package/dist/esm/br-message.entry.js.map +1 -1
- package/dist/esm/br-radio.entry.js +11 -12
- package/dist/esm/br-radio.entry.js.map +1 -1
- package/dist/esm/br-switch.entry.js +11 -12
- package/dist/esm/br-switch.entry.js.map +1 -1
- package/dist/esm/{index-c26b44a5.js → index-4f7580f8.js} +20 -14
- package/dist/esm/index-4f7580f8.js.map +1 -0
- package/dist/esm/loader.js +2 -2
- package/dist/esm/webcomponents.js +3 -3
- package/dist/esm/webcomponents.js.map +1 -1
- package/dist/types/components/avatar/avatar.d.ts +13 -10
- package/dist/types/components/button/button.d.ts +10 -10
- package/dist/types/components/checkbox/checkbox.d.ts +10 -10
- package/dist/types/components/icon/icon.d.ts +9 -9
- package/dist/types/components/input/input.d.ts +10 -10
- package/dist/types/components/item/item.d.ts +10 -10
- package/dist/types/components/loading/loading.d.ts +9 -9
- package/dist/types/components/message/message.d.ts +9 -9
- package/dist/types/components/radio/radio.d.ts +10 -10
- package/dist/types/components/switch/switch.d.ts +10 -10
- package/dist/types/components.d.ts +194 -194
- package/dist/webcomponents/p-104a47a9.js +3 -0
- package/dist/webcomponents/p-104a47a9.js.map +1 -0
- package/dist/webcomponents/{p-eaca93a8.entry.js → p-194d749e.entry.js} +2 -2
- package/dist/webcomponents/p-194d749e.entry.js.map +1 -0
- package/dist/webcomponents/{p-746d2dae.entry.js → p-563e73f4.entry.js} +2 -2
- package/dist/webcomponents/p-563e73f4.entry.js.map +1 -0
- package/dist/webcomponents/{p-c8fd38c6.entry.js → p-786e07d7.entry.js} +3 -3
- package/dist/webcomponents/p-786e07d7.entry.js.map +1 -0
- package/dist/webcomponents/{p-0dd14da5.entry.js → p-8d69ee5a.entry.js} +2 -2
- package/dist/webcomponents/p-8d69ee5a.entry.js.map +1 -0
- package/dist/webcomponents/{p-dd2d3c16.entry.js → p-b771d400.entry.js} +2 -2
- package/dist/webcomponents/p-b771d400.entry.js.map +1 -0
- package/dist/webcomponents/{p-1d1429c8.entry.js → p-c0a45bc7.entry.js} +2 -2
- package/dist/webcomponents/p-c0a45bc7.entry.js.map +1 -0
- package/dist/webcomponents/{p-c6aa14f5.entry.js → p-d671a100.entry.js} +2 -2
- package/dist/webcomponents/p-d671a100.entry.js.map +1 -0
- package/dist/webcomponents/{p-89f87c47.entry.js → p-e0e51b05.entry.js} +2 -2
- package/dist/webcomponents/p-e0e51b05.entry.js.map +1 -0
- package/dist/webcomponents/{p-28e6ccf9.entry.js → p-ed6a071a.entry.js} +2 -2
- package/dist/webcomponents/p-ed6a071a.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.d.ts +4 -4
- package/hydrate/index.js +162 -154
- package/hydrate/index.mjs +162 -154
- package/package.json +7 -7
- package/vscode-data.json +1 -12
- package/dist/cjs/index-c3888765.js.map +0 -1
- package/dist/collection/utils/events-global.js +0 -80
- package/dist/collection/utils/events-global.js.map +0 -1
- package/dist/components/button.js.map +0 -1
- package/dist/components/icon.js.map +0 -1
- package/dist/components/inherited-attributes.js.map +0 -1
- package/dist/components/v4.js.map +0 -1
- package/dist/esm/index-c26b44a5.js.map +0 -1
- package/dist/types/utils/events-global.d.ts +0 -73
- package/dist/webcomponents/p-0dd14da5.entry.js.map +0 -1
- package/dist/webcomponents/p-1d1429c8.entry.js.map +0 -1
- package/dist/webcomponents/p-28e6ccf9.entry.js.map +0 -1
- package/dist/webcomponents/p-746d2dae.entry.js.map +0 -1
- package/dist/webcomponents/p-89f87c47.entry.js.map +0 -1
- package/dist/webcomponents/p-c6aa14f5.entry.js.map +0 -1
- package/dist/webcomponents/p-c8fd38c6.entry.js.map +0 -1
- package/dist/webcomponents/p-ccfb45d3.js +0 -3
- package/dist/webcomponents/p-ccfb45d3.js.map +0 -1
- package/dist/webcomponents/p-dd2d3c16.entry.js.map +0 -1
- package/dist/webcomponents/p-eaca93a8.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"br-avatar.entry.js","mappings":";;;AAAA,MAAM,SAAS,GAAG,msndAAmsnd,CAAC;AACttnd,uBAAe,SAAS;;MCWX,MAAM;;;;;;;;;;;;QA2KT,wBAAmB,GAAe,EAAE,CAAA;uBAjKI,QAAQ;;wBAYrC,kBAAkB;wBAMT,KAAK;;;;;IAajC,iBAAiB;QACf,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC7B;IAQD,iBAAiB;QACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1B,IAAI,CAAC,mBAAmB,GAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACzD,IAAI,CAAC,WAAW,EAAE,CAAA;KACnB;IAQD,gBAAgB;QACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC1B;IAQD,mBAAmB;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC7B;IAQD,kBAAkB;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC5B;IAQD,qBAAqB;QACnB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC/B;IAQD,mBAAmB;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC7B;IAQD,kBAAkB;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC5B;IAQD,oBAAoB;QAClB,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW;YAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KACzD;;;;;;;;IAeO,cAAc;QACpB,OAAO;YACL,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO;YAC/B,MAAM,EAAE,IAAI,CAAC,OAAO,KAAK,QAAQ;YACjC,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,OAAO;SAChC,CAAA;KACF;;;;IAKO,WAAW;;QACjB,IAAI,EAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,CAAA,IAAI,EAAC,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,CAAA,EAAE;YACzC,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE;gBAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;gBACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;aACtB;YAED,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;gBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;gBACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;aACtB;YAED,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE;gBAC5B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;gBACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;aACvB;SACF;KACF;IAIO,YAAY;;QAClB,IAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,EAAE;YACnB,OAAO,YAAM,KAAK,EAAC,mCAAmC,IAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAQ,CAAA;SAC3F;QAED,IAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,EAAE;YACpB,QACE,YAAM,KAAK,EAAC,SAAS,IACnB,WAAK,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAC,MAAM,GAAG,CACtD,EACR;SACF;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,QACE,YAAM,KAAK,EAAC,SAAS,IACnB,4BACY,eAAe,EACzB,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,KAAK,EAAE,IAAI,CAAC,SAAS,iBACT,MAAM,GACT,CACN,EACR;SACF;KACF;IAED,MAAM;QACJ,QACE,EAAC,IAAI,uDACH,2EAAM,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAM,IAAI,CAAC,mBAAmB,GAC7D,IAAI,CAAC,YAAY,EAAE,CACf,CACF,EACR;KACF;;;;;;;","names":[],"sources":["src/components/avatar/avatar.scss?tag=br-avatar&encapsulation=shadow","src/components/avatar/avatar.tsx"],"sourcesContent":["@import \"../../../../../node_modules/@govbr-ds/core/src/components/avatar/avatar.scss\";\n\n:host {\n display: block;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, 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/avatar?tab=designer).\n */\n@Component({\n tag: 'br-avatar',\n styleUrl: 'avatar.scss',\n shadow: true,\n})\nexport class Avatar {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLElement\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop() density: 'small' | 'medium' | 'large' = 'medium'\n\n /**\n * URL da imagem a ser exibida no avatar do tipo 'fotográfico'.\n * Deve ser uma URL válida que aponta para a imagem desejada.\n */\n @Prop() image: string\n\n /**\n * Texto alternativo (alt) associado à imagem do avatar. Essencial para acessibilidade e SEO.\n * Deve descrever de forma clara e concisa o conteúdo da imagem, por exemplo: \"Foto de perfil de João Silva\".\n */\n @Prop() imageAlt = 'Imagem do avatar'\n\n /**\n * Indica se o avatar deve ser exibido como um ícone em vez de uma imagem fotográfica.\n * Se definido como verdadeiro, o avatar será exibido como um ícone.\n */\n @Prop() isIconic: boolean = false\n\n /**\n * Texto exibido no avatar do tipo 'letra'.\n * Esse texto será mostrado em vez de uma imagem e pode ser usado para representar iniciais ou outras informações textuais.\n */\n @Prop() text: string\n\n /**\n * Emite um evento quando o componente é conectado ao DOM.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#connectedcallback) para mais detalhes.\n */\n @Event() brDidConnect: EventEmitter<this>\n connectedCallback() {\n this.brDidConnect.emit(this)\n }\n\n /**\n * Emite um evento antes que o componente seja carregado pela primeira vez.\n * Utilize este evento para realizar tarefas de inicialização antes do componente ser exibido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillload) para mais detalhes.\n */\n @Event() brWillLoad: EventEmitter<this>\n componentWillLoad() {\n this.brWillLoad.emit(this)\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n this.setIconSize()\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<this>\n componentDidLoad() {\n this.brDidLoad.emit(this)\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<this>\n componentWillRender() {\n this.brWillRender.emit(this)\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<this>\n componentDidRender() {\n this.brDidRender.emit(this)\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<this>\n componentShouldUpdate() {\n this.brShouldUpdate.emit(this)\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<this>\n componentWillUpdate() {\n this.brWillUpdate.emit(this)\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<this>\n componentDidUpdate() {\n this.brDidUpdate.emit(this)\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<this>\n disconnectedCallback() {\n if (this.el.isConnected) this.brDidDisconnect.emit(this)\n }\n\n // Largura do ícone no avatar do tipo icônico\n @State() iconWidth: string\n\n // Altura do ícone no avatar do tipo icônico\n @State() iconHeight: string\n\n /**\n * Gera um mapa de classes CSS com base nas propriedades do componente.\n * O mapa de classes determina quais classes CSS devem ser aplicadas\n * ao elemento host do componente, ajustando sua aparência.\n *\n * @returns {CssClassMap} Objeto contendo as classes CSS aplicadas.\n */\n private getCssClassMap(): CssClassMap {\n return {\n 'br-avatar': true,\n small: this.density === 'small',\n medium: this.density === 'medium',\n large: this.density === 'large',\n }\n }\n\n /**\n * Calcula o tamanho dos ícones de acordo com a classe de densidade\n */\n private setIconSize() {\n if (!this.image?.trim && !this.text?.trim) {\n if (this.density === 'small') {\n this.iconHeight = '32'\n this.iconWidth = '40'\n }\n\n if (this.density === 'medium') {\n this.iconHeight = '80'\n this.iconWidth = '88'\n }\n\n if (this.density === 'large') {\n this.iconHeight = '128'\n this.iconWidth = '136'\n }\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n private renderAvatar() {\n if (this.text?.trim) {\n return <span class=\"content bg-support-01 text-pure-0\">{this.text[0].toUpperCase()}</span>\n }\n\n if (this.image?.trim) {\n return (\n <span class=\"content\">\n <img src={this.image} alt={this.imageAlt} loading=\"lazy\" />\n </span>\n )\n }\n\n if (this.isIconic) {\n return (\n <span class=\"content\">\n <br-icon\n icon-name=\"fa-solid:user\"\n height={this.iconHeight}\n width={this.iconWidth}\n aria-hidden=\"true\"\n ></br-icon>\n </span>\n )\n }\n }\n\n render() {\n return (\n <Host>\n <span class={this.getCssClassMap()} {...this.inheritedAttributes}>\n {this.renderAvatar()}\n </span>\n </Host>\n )\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"br-avatar.entry.js","mappings":"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","names":[],"sources":["src/components/avatar/avatar.scss?tag=br-avatar&encapsulation=shadow","src/components/avatar/avatar.tsx"],"sourcesContent":["@import \"../../../../../node_modules/@govbr-ds/core/src/components/avatar/avatar.scss\";\n\n:host {\n display: block;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core'\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\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/avatar?tab=designer).\n */\n@Component({\n tag: 'br-avatar',\n styleUrl: 'avatar.scss',\n shadow: true,\n})\nexport class Avatar {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLElement\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop() density: string = Density.Medium\n\n /**\n * URL da imagem a ser exibida no avatar do tipo 'fotográfico'.\n * Deve ser uma URL válida que aponta para a imagem desejada.\n */\n @Prop() image: string\n\n /**\n * Texto alternativo (alt) associado à imagem do avatar. Essencial para acessibilidade e SEO.\n * Deve descrever de forma clara e concisa o conteúdo da imagem, por exemplo: \"Foto de perfil de João Silva\".\n */\n @Prop() imageAlt = 'Imagem do avatar'\n\n /**\n * Indica se o avatar deve ser exibido como um ícone em vez de uma imagem fotográfica.\n * Se definido como verdadeiro, o avatar será exibido como um ícone.\n */\n @Prop() isIconic: boolean = false\n\n /**\n * Texto exibido no avatar do tipo 'letra'.\n * Esse texto será mostrado em vez de uma imagem e pode ser usado para representar iniciais ou outras informações textuais.\n */\n @Prop() text: string\n\n /**\n * Emite um evento quando o componente é conectado ao DOM.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#connectedcallback) para mais detalhes.\n */\n @Event() brDidConnect: EventEmitter<void>\n connectedCallback() {\n this.brDidConnect.emit()\n }\n\n /**\n * Emite um evento antes que o componente seja carregado pela primeira vez.\n * Utilize este evento para realizar tarefas de inicialização antes do componente ser exibido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillload) para mais detalhes.\n */\n @Event() brWillLoad: EventEmitter<void>\n componentWillLoad() {\n this.brWillLoad.emit()\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n this.setIconSize()\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 // Largura do ícone no avatar do tipo icônico\n @State() iconWidth: string\n\n // Altura do ícone no avatar do tipo icônico\n @State() iconHeight: string\n\n /**\n * Gera um mapa de classes CSS com base nas propriedades do componente.\n * O mapa de classes determina quais classes CSS devem ser aplicadas\n * ao elemento host do componente, ajustando sua aparência.\n *\n * @returns {CssClassMap} Objeto contendo as classes CSS aplicadas.\n */\n private getCssClassMap(): CssClassMap {\n return {\n 'br-avatar': true,\n small: this.density === Density.Small,\n medium: this.density === Density.Medium,\n large: this.density === Density.Large,\n }\n }\n\n /**\n * Calcula o tamanho dos ícones de acordo com a classe de densidade\n */\n private iconSizes = {\n small: { height: '32', width: '40' },\n medium: { height: '80', width: '88' },\n large: { height: '128', width: '136' },\n }\n\n private setIconSize() {\n if (!this.image?.trim().length && !this.text?.trim().length) {\n const size = this.iconSizes[this.density]\n this.iconHeight = size.height\n this.iconWidth = size.width\n }\n }\n\n private iconMarginTops = {\n small: '0.7em',\n medium: '1em',\n large: '0.62em',\n }\n\n private adjustIconStyle(density: string) {\n return this.iconMarginTops[density] || '1em'\n }\n\n private inheritedAttributes: Attributes = {}\n\n private renderAvatar() {\n if (this.text?.trim().length) {\n return (\n <span class=\"content bg-support-01 text-pure-0\" title={this.text}>\n {this.text[0].toUpperCase()}\n </span>\n )\n }\n\n if (this.image?.trim().length) {\n return (\n <span class=\"content\" title={this.imageAlt || this.text}>\n <img src={this.image} alt={this.imageAlt} loading=\"lazy\" />\n </span>\n )\n }\n\n if (this.isIconic) {\n return (\n <span class=\"content\" title={this.text}>\n <br-icon\n icon-name=\"fa-solid:user\"\n height={this.iconHeight}\n width={this.iconWidth}\n aria-hidden=\"true\"\n style={{ 'margin-top': this.adjustIconStyle(this.density) }}\n ></br-icon>\n </span>\n )\n }\n }\n\n render() {\n return (\n <Host>\n <span class={this.getCssClassMap()} {...this.inheritedAttributes}>\n {this.renderAvatar()}\n </span>\n </Host>\n )\n }\n}\n"],"version":3}
|