@govbr-ds/webcomponents 2.0.0-next.40 → 2.0.0-next.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/cjs/br-button.br-icon.entry.cjs.js.map +1 -1
  2. package/dist/cjs/br-button_2.cjs.entry.js +37 -4
  3. package/dist/cjs/br-button_2.cjs.entry.js.map +1 -1
  4. package/dist/cjs/br-collapse.br-list.entry.cjs.js.map +1 -1
  5. package/dist/cjs/br-collapse_2.cjs.entry.js +1 -1
  6. package/dist/cjs/br-collapse_2.cjs.entry.js.map +1 -1
  7. package/dist/cjs/br-dropdown.cjs.entry.js +324 -10
  8. package/dist/cjs/br-dropdown.cjs.entry.js.map +1 -1
  9. package/dist/cjs/br-dropdown.entry.cjs.js.map +1 -1
  10. package/dist/cjs/br-input.br-radio.entry.cjs.js.map +1 -1
  11. package/dist/cjs/br-input_2.cjs.entry.js +8 -4
  12. package/dist/cjs/br-input_2.cjs.entry.js.map +1 -1
  13. package/dist/cjs/br-item.cjs.entry.js +1 -1
  14. package/dist/cjs/br-item.cjs.entry.js.map +1 -1
  15. package/dist/cjs/br-item.entry.cjs.js.map +1 -1
  16. package/dist/cjs/br-scrim.cjs.entry.js +1 -1
  17. package/dist/cjs/br-scrim.cjs.entry.js.map +1 -1
  18. package/dist/cjs/br-scrim.entry.cjs.js.map +1 -1
  19. package/dist/cjs/loader.cjs.js +1 -1
  20. package/dist/cjs/webcomponents.cjs.js +1 -1
  21. package/dist/collection/components/button/button.js +54 -2
  22. package/dist/collection/components/button/button.js.map +1 -1
  23. package/dist/collection/components/dropdown/dropdown.css +1 -1
  24. package/dist/collection/components/dropdown/dropdown.js +346 -9
  25. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  26. package/dist/collection/components/icon/icon.css +1 -1
  27. package/dist/collection/components/icon/icon.js +40 -1
  28. package/dist/collection/components/icon/icon.js.map +1 -1
  29. package/dist/collection/components/input/input.css +1 -1
  30. package/dist/collection/components/input/input.js +26 -3
  31. package/dist/collection/components/input/input.js.map +1 -1
  32. package/dist/collection/components/item/item.css +1 -1
  33. package/dist/collection/components/list/list.js +1 -1
  34. package/dist/collection/components/list/list.js.map +1 -1
  35. package/dist/collection/components/scrim/scrim.css +1 -1
  36. package/dist/collection/pages/scripts/menu.js +1 -1
  37. package/dist/components/br-avatar.js +1 -1
  38. package/dist/components/br-breadcrumb.js +5 -5
  39. package/dist/components/br-button.js +1 -1
  40. package/dist/components/br-collapse.js +4 -4
  41. package/dist/components/br-dropdown.js +332 -25
  42. package/dist/components/br-dropdown.js.map +1 -1
  43. package/dist/components/br-footer-category.js +3 -3
  44. package/dist/components/br-footer-item.js +1 -1
  45. package/dist/components/br-footer-social.js +2 -2
  46. package/dist/components/br-icon.js +4 -4
  47. package/dist/components/br-input.js +3 -3
  48. package/dist/components/br-item.js +4 -4
  49. package/dist/components/br-list.js +4 -4
  50. package/dist/components/br-message.js +2 -2
  51. package/dist/components/br-scrim.js +1 -1
  52. package/dist/components/br-scrim.js.map +1 -1
  53. package/dist/components/br-select.js +5 -5
  54. package/dist/components/br-step-item.js +2 -2
  55. package/dist/components/br-tab-item.js +1 -1
  56. package/dist/components/br-tag.js +2 -2
  57. package/dist/components/br-upload.js +2 -2
  58. package/dist/components/{p-THYai_l5.js → p-BbFx1RUd.js} +15 -9
  59. package/dist/components/p-BbFx1RUd.js.map +1 -0
  60. package/dist/components/{p-pq3SZemh.js → p-CIINlcIu.js} +3 -3
  61. package/dist/components/{p-CtvDP3zf.js → p-COPEUBKR.js} +27 -9
  62. package/dist/components/p-COPEUBKR.js.map +1 -0
  63. package/dist/components/{p-brOPUYUL.js → p-DJtFpYiN.js} +3 -3
  64. package/dist/components/p-DJtFpYiN.js.map +1 -0
  65. package/dist/components/{p-DlMJ2wZW.js → p-rHgHl2v-.js} +6 -6
  66. package/dist/components/{p-DlMJ2wZW.js.map → p-rHgHl2v-.js.map} +1 -1
  67. package/dist/components/{p-jx7aLpDh.js → p-vi3ehOfu.js} +40 -23
  68. package/dist/components/p-vi3ehOfu.js.map +1 -0
  69. package/dist/custom-elements.json +212 -0
  70. package/dist/esm/br-button.br-icon.entry.js.map +1 -1
  71. package/dist/esm/br-button_2.entry.js +37 -4
  72. package/dist/esm/br-button_2.entry.js.map +1 -1
  73. package/dist/esm/br-collapse.br-list.entry.js.map +1 -1
  74. package/dist/esm/br-collapse_2.entry.js +1 -1
  75. package/dist/esm/br-collapse_2.entry.js.map +1 -1
  76. package/dist/esm/br-dropdown.entry.js +324 -10
  77. package/dist/esm/br-dropdown.entry.js.map +1 -1
  78. package/dist/esm/br-input.br-radio.entry.js.map +1 -1
  79. package/dist/esm/br-input_2.entry.js +8 -4
  80. package/dist/esm/br-input_2.entry.js.map +1 -1
  81. package/dist/esm/br-item.entry.js +1 -1
  82. package/dist/esm/br-item.entry.js.map +1 -1
  83. package/dist/esm/br-scrim.entry.js +1 -1
  84. package/dist/esm/br-scrim.entry.js.map +1 -1
  85. package/dist/esm/loader.js +1 -1
  86. package/dist/esm/webcomponents.js +1 -1
  87. package/dist/hydrate/index.js +383 -27
  88. package/dist/hydrate/index.mjs +383 -27
  89. package/dist/types/components/button/button.d.ts +14 -0
  90. package/dist/types/components/dropdown/dropdown.d.ts +48 -1
  91. package/dist/types/components/icon/icon.d.ts +7 -0
  92. package/dist/types/components/input/input.d.ts +4 -0
  93. package/dist/types/components.d.ts +36 -0
  94. package/dist/webcomponents/br-button.br-icon.entry.esm.js.map +1 -1
  95. package/dist/webcomponents/br-collapse.br-list.entry.esm.js.map +1 -1
  96. package/dist/webcomponents/br-dropdown.entry.esm.js.map +1 -1
  97. package/dist/webcomponents/br-input.br-radio.entry.esm.js.map +1 -1
  98. package/dist/webcomponents/br-item.entry.esm.js.map +1 -1
  99. package/dist/webcomponents/br-scrim.entry.esm.js.map +1 -1
  100. package/dist/webcomponents/{p-713035b5.entry.js → p-0d6df204.entry.js} +3 -3
  101. package/dist/webcomponents/{p-713035b5.entry.js.map → p-0d6df204.entry.js.map} +1 -1
  102. package/dist/webcomponents/{p-c3267481.entry.js → p-3d5600cb.entry.js} +2 -2
  103. package/dist/webcomponents/p-3d5600cb.entry.js.map +1 -0
  104. package/dist/webcomponents/{p-ab251560.entry.js → p-8ac9dcff.entry.js} +329 -23
  105. package/dist/webcomponents/p-8ac9dcff.entry.js.map +1 -0
  106. package/dist/webcomponents/{p-8fe3366e.entry.js → p-aaedb60b.entry.js} +11 -6
  107. package/dist/webcomponents/p-aaedb60b.entry.js.map +1 -0
  108. package/dist/webcomponents/{p-dbfc2a44.entry.js → p-c25d500c.entry.js} +2 -2
  109. package/dist/webcomponents/p-c25d500c.entry.js.map +1 -0
  110. package/dist/webcomponents/{p-bc417fe6.entry.js → p-e33ca888.entry.js} +45 -13
  111. package/dist/webcomponents/p-e33ca888.entry.js.map +1 -0
  112. package/dist/webcomponents/webcomponents.esm.js +14 -9
  113. package/dist/webcomponents.html-custom-data.json +8 -4
  114. package/package.json +1 -1
  115. package/dist/components/p-CtvDP3zf.js.map +0 -1
  116. package/dist/components/p-THYai_l5.js.map +0 -1
  117. package/dist/components/p-brOPUYUL.js.map +0 -1
  118. package/dist/components/p-jx7aLpDh.js.map +0 -1
  119. package/dist/webcomponents/p-8fe3366e.entry.js.map +0 -1
  120. package/dist/webcomponents/p-ab251560.entry.js.map +0 -1
  121. package/dist/webcomponents/p-bc417fe6.entry.js.map +0 -1
  122. package/dist/webcomponents/p-c3267481.entry.js.map +0 -1
  123. package/dist/webcomponents/p-dbfc2a44.entry.js.map +0 -1
  124. /package/dist/components/{p-pq3SZemh.js.map → p-CIINlcIu.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"br-scrim.entry.cjs.js","sources":["../../packages/webcomponents/src/components/scrim/scrim.scss?tag=br-scrim&encapsulation=shadow","../../packages/webcomponents/src/components/scrim/scrim.tsx"],"sourcesContent":[":host {\n --br-scrim-opacity: 1;\n\n .br-scrim {\n visibility: hidden;\n transition: visibility 0.3s ease;\n z-index: var(--z-index-layer-4);\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: auto;\n }\n\n .br-scrim.mode-fullscreen {\n position: fixed;\n inset: 0;\n }\n\n .br-scrim.mode-parent {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n }\n\n .br-scrim.opened {\n visibility: visible;\n pointer-events: auto;\n }\n\n .mask {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: var(--surface-overlay-scrim);\n opacity: 0;\n transition: opacity 0.3s ease;\n pointer-events: auto;\n }\n\n .br-scrim.opened .mask {\n opacity: var(--br-scrim-opacity);\n }\n\n .content {\n position: relative;\n outline: none;\n pointer-events: auto;\n opacity: 0;\n transform: scale(0.9);\n transition:\n opacity 0.3s ease,\n transform 0.3s ease;\n background: transparent;\n padding: 0;\n margin: 0;\n border: none;\n box-shadow: none;\n overflow: visible;\n contain: none;\n display: inline-block;\n width: fit-content;\n height: fit-content;\n z-index: calc(var(--z-index-layer-4) + 1);\n &:focus {\n outline: var(--focus-outline);\n outline-offset: var(--focus-offset);\n box-shadow: var(--focus-shadow);\n }\n }\n\n .br-scrim.opened .content {\n opacity: 1;\n transform: scale(1);\n pointer-events: auto;\n }\n\n .br-scrim.position-top .content {\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n }\n\n .br-scrim.position-bottom .content {\n position: absolute;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n }\n\n .br-scrim.position-left .content {\n position: absolute;\n top: 50%;\n left: 0;\n transform: translateY(-50%);\n }\n\n .br-scrim.position-right .content {\n position: absolute;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n }\n\n .br-scrim.position-center .content {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n .content ::slotted(*) {\n opacity: 1 !important;\n filter: none;\n }\n\n /* Estilos responsivos */\n @media (max-width: 768px) {\n .content {\n max-width: 95%;\n max-height: 95%;\n width: auto;\n }\n\n .br-scrim.position-top .content,\n .br-scrim.position-bottom .content {\n width: 100%;\n max-width: 100%;\n border-radius: 0;\n }\n }\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport { 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/scrim?tab=designer).\n *\n * @slot default - Elemento que será exibido junto com o Scrim, devendo ser fornecido através do slot. Esse elemento representa o conteúdo principal a ser destacado sobre o fundo escurecido.\n * @slot activator - Elemento que, quando clicado, ativa/desativa o scrim. Tem prioridade sobre a propriedade 'activator'.\n */\n@Component({\n tag: 'br-scrim',\n styleUrl: 'scrim.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Scrim {\n /**\n * Referência ao elemento host do componente.\n */\n @Element() el: HTMLBrScrimElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-scrim-${ScrimId++}`\n\n /**\n * Ativa/desativa o scrim\n */\n @Prop({ reflect: true }) isOpen: boolean = false\n\n /**\n * Posiciona o conteúdo no topo, centro, direita, esquerda, abaixo dentro do scrim\n */\n @Prop() positionContent: 'top' | 'center' | 'right' | 'left' | 'bottom'\n\n /**\n * Desativa o fechamento do scrim ao ser clicado\n */\n @Prop() disableCloseOnClick: boolean = false\n\n /**\n * Define o valor de z-index do scrim\n */\n @Prop() zIndex: number | null = null\n\n /**\n * Define um valor CSS personalizado para o background do scrim\n */\n @Prop() customBackground: string | null = null\n\n /**\n * Define a opacidade personalizada do scrim\n */\n @Prop() customOpacity: number | null = null\n\n /**\n * Define o modo de exibição do scrim:\n * - 'fullscreen': Ocupa toda a tela (position: fixed).\n * - 'parent': Ocupa apenas o elemento pai (position: absolute).\n * O elemento pai deve ter `position: relative` ou outro valor de posicionamento diferente de `static`.\n */\n @Prop() displayMode: 'fullscreen' | 'parent' = 'fullscreen'\n\n /**\n * Define a estratégia de manipulação de rolagem quando scrim está aberto\n * - 'block': Impede a rolagem completamente\n * - 'close': Fecha o scrim quando ocorre rolagem\n */\n @Prop() scrollStrategy: 'block' | 'close'\n\n /**\n * Determina quanto de rolagem (em pixels) é necessário para acionar a ação de fechamento automático do scrim.\n */\n @Prop() scrollThreshold: number = 50\n\n /**\n * Define o seletor para o elemento activator.\n * Pode ser:\n * - Um seletor CSS (ex: '.button-class', '#button-id')\n * - A string 'parent' para usar o elemento pai como activator\n * Nota: O slot 'activator' tem prioridade sobre esta propriedade.\n */\n @Prop() activator: string | null = null\n\n /** Indica que o scrim foi aberto. */\n @Event() brScrimOpen: EventEmitter\n\n /** Indica que o scrim foi fechado */\n @Event() brScrimClose: EventEmitter\n\n @State() isActive: boolean = false\n @State() hasActivatorSlot: boolean = false\n\n // ======================================================================\n // PROPRIEDADES PRIVADAS E VARIÁVEIS INTERNAS\n // ======================================================================\n private contentRef: HTMLDivElement | null = null\n private activatorElement: HTMLElement | null = null\n private scrollOffset: number = 0\n private lastScrollTop: number = 0\n private previouslyFocusedElement: HTMLElement | null | undefined = null\n\n private static readonly FOCUSABLE_SELECTORS = [\n 'a[href]:not([disabled])',\n 'button:not([disabled])',\n 'br-button:not([disabled])',\n 'input:not([disabled])',\n 'br-input:not([disabled])',\n 'select:not([disabled])',\n 'br-select:not([disabled])',\n 'textarea:not([disabled])',\n 'br-textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n ].join(',')\n\n // ======================================================================\n // LIFECYCLE HOOKS E WATCHERS\n // ======================================================================\n @Watch('isOpen')\n handleOpenChange(newValue: boolean) {\n this.isActive = newValue\n this.updateStyles()\n\n if (this.isActive) {\n this.previouslyFocusedElement = document.activeElement as HTMLElement\n this.applyScrollStrategy()\n setTimeout(() => {\n this.focusFirstElement()\n }, 100)\n this.brScrimOpen.emit()\n } else {\n this.resetScrolling()\n this.restoreFocus()\n this.brScrimClose.emit()\n }\n }\n\n @Watch('zIndex')\n @Watch('customBackground')\n @Watch('customOpacity')\n updateStyles() {\n if (this.zIndex !== null && this.zIndex !== undefined) {\n this.el.style.zIndex = `${this.zIndex}`\n this.el.style.setProperty('--z-index-layer-4', `${this.zIndex}`)\n }\n if (this.customBackground !== null) {\n this.el.style.setProperty('--surface-overlay-scrim', this.customBackground)\n }\n if (this.customOpacity !== null) {\n this.el.style.setProperty('--br-scrim-opacity', `${this.customOpacity}`)\n }\n }\n\n @Watch('activator')\n handleActivatorChange() {\n this.removeActivatorClickListener()\n this.setupActivator()\n }\n\n componentWillLoad() {\n this.hasActivatorSlot = this.checkActivatorSlot('activator')\n }\n\n componentDidLoad() {\n this.isActive = this.isOpen\n this.updateStyles()\n if (this.isActive) {\n this.applyScrollStrategy()\n this.focusFirstElement()\n }\n this.setupActivator()\n this.setupActivatorSlotClick()\n this.contentRef.addEventListener('keydown', this.handleKeyDown)\n }\n\n connectedCallback() {\n if (this.scrollStrategy === 'close') {\n window.addEventListener('scroll', this.handleScrollClose)\n }\n }\n\n disconnectedCallback() {\n window.removeEventListener('scroll', this.handleScrollClose)\n this.contentRef.removeEventListener('keydown', this.handleKeyDown)\n this.removeActivatorClickListener()\n this.cleanupActivatorSlotClick()\n }\n\n // ======================================================================\n // GERENCIAMENTO DO ACTIVATOR (ELEMENTO ACIONADOR)\n // ======================================================================\n private checkActivatorSlot(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private setupActivatorSlotClick() {\n const slotEl = this.el.shadowRoot?.querySelector('slot[name=\"activator\"]') as HTMLSlotElement\n if (slotEl === null || slotEl === undefined) return\n\n const assignedElements = slotEl.assignedElements?.() ?? []\n\n if (assignedElements.length === 1) {\n const el = assignedElements[0] as HTMLElement\n el.addEventListener('click', this.handleActivatorClick)\n } else if (assignedElements.length > 1) {\n console.warn('br-scrim: Slot \"activator\" deve conter apenas um elemento para aplicar o onClick automaticamente.')\n }\n }\n\n private setupActivator() {\n this.removeActivatorClickListener()\n this.activatorElement = null\n\n if (this.hasActivatorSlot || this.activator == null || this.activator === '') {\n return\n }\n\n if (this.activator === 'parent') {\n const parentElement = this.el.parentElement\n if (parentElement !== null) {\n this.activatorElement = parentElement\n }\n } else {\n try {\n const element = document.querySelector(this.activator)\n if (element instanceof HTMLElement) {\n this.activatorElement = element\n }\n } catch {\n console.warn(`br-scrim: Seletor activator inválido: ${this.activator}`)\n }\n }\n\n this.addActivatorClickListener()\n }\n\n private handleActivatorClick = () => {\n this.toggle()\n }\n\n private addActivatorClickListener() {\n if (this.activatorElement === null || this.activatorElement === undefined) return\n this.activatorElement.addEventListener('click', this.handleActivatorClick)\n }\n\n private removeActivatorClickListener() {\n if (this.activatorElement === null || this.activatorElement === undefined) return\n this.activatorElement.removeEventListener('click', this.handleActivatorClick)\n }\n\n private cleanupActivatorSlotClick() {\n const slotEl = this.el.shadowRoot?.querySelector('slot[name=\"activator\"]') as HTMLSlotElement\n const assignedElements = slotEl?.assignedElements?.() ?? []\n\n if (assignedElements.length === 1) {\n assignedElements[0].removeEventListener('click', this.handleActivatorClick)\n }\n }\n\n // ======================================================================\n // ESTRATÉGIAS DE ROLAGEM (SCROLL)\n // ======================================================================\n private applyScrollStrategy() {\n if (this.scrollStrategy === 'block') {\n this.enableScrollBlock()\n } else if (this.scrollStrategy === 'close') {\n this.enableScrollWatcher()\n }\n }\n\n private enableScrollBlock() {\n this.scrollOffset = window.scrollY\n document.body.style.setProperty('position', 'fixed')\n document.body.style.setProperty('top', `-${this.scrollOffset}px`)\n document.body.style.setProperty('left', '0')\n document.body.style.setProperty('right', '0')\n document.body.style.setProperty('width', '100%')\n document.documentElement.style.setProperty('overflow', 'hidden')\n\n window.addEventListener('scroll', this.handleBlockScroll)\n }\n\n private enableScrollWatcher() {\n window.addEventListener('scroll', this.handleScrollClose)\n }\n\n private handleBlockScroll = (e: Event) => {\n if (this.scrollStrategy === 'block' && this.isActive) {\n window.scrollTo(0, this.scrollOffset)\n e.preventDefault()\n e.stopPropagation()\n }\n }\n\n private resetScrolling() {\n if (this.scrollStrategy === 'block') {\n document.body.style.removeProperty('position')\n document.body.style.removeProperty('top')\n document.body.style.removeProperty('left')\n document.body.style.removeProperty('right')\n document.body.style.removeProperty('width')\n document.documentElement.style.removeProperty('overflow')\n window.removeEventListener('scroll', this.handleBlockScroll)\n window.scrollTo(0, this.scrollOffset)\n }\n window.removeEventListener('scroll', this.handleScrollClose)\n }\n\n private handleScrollClose = () => {\n if (this.scrollStrategy === 'close' && this.isActive) {\n const currentScroll = window.scrollY\n if (Math.abs(currentScroll - this.lastScrollTop) > this.scrollThreshold) {\n this.handleOpenChange(false)\n }\n this.lastScrollTop = currentScroll\n }\n }\n\n // ======================================================================\n // ACESSIBILIDADE E GERENCIAMENTO DE FOCO\n // ======================================================================\n private focusFirstElement() {\n if (this.contentRef == null) return\n\n this.contentRef.setAttribute('tabindex', '-1')\n this.contentRef.focus()\n\n const focusableElements = this.getFocusableElements()\n\n if (focusableElements.length > 0) {\n const firstElement = focusableElements[0]\n if (firstElement !== null && firstElement !== undefined) {\n firstElement.scrollIntoView({ block: 'nearest', inline: 'nearest' })\n firstElement.focus({ preventScroll: true })\n }\n }\n }\n\n private restoreFocus() {\n let targetElement: HTMLElement | null = null\n\n if (this.previouslyFocusedElement instanceof HTMLElement && this.previouslyFocusedElement.isConnected) {\n targetElement = this.previouslyFocusedElement\n } else if (this.activatorElement instanceof HTMLElement) {\n targetElement = this.activatorElement\n } else {\n const slotEl = this.el.shadowRoot?.querySelector('slot[name=\"activator\"]') as HTMLSlotElement\n if (this.hasActivatorSlot) {\n const assignedElements = slotEl.assignedElements?.() ?? []\n if (assignedElements.length > 0 && assignedElements[0] instanceof HTMLElement) {\n targetElement = assignedElements[0] as HTMLElement\n }\n }\n }\n\n if (targetElement !== null && targetElement !== undefined) {\n setTimeout(() => {\n try {\n targetElement?.focus()\n } catch (error) {\n console.warn('br-scrim: Erro ao restaurar foco:', error)\n }\n }, 100)\n }\n }\n\n private getFocusableElements(): HTMLElement[] {\n if (this.contentRef == null) return []\n\n const defaultSlot = this.contentRef.querySelector('slot:not([name])') as HTMLSlotElement\n if (defaultSlot === null || defaultSlot === undefined) return []\n\n const assignedElements = defaultSlot.assignedElements({ flatten: true })\n const focusableElements: HTMLElement[] = []\n\n assignedElements.forEach((el) => {\n if (!(el instanceof HTMLElement)) return\n\n if (el.matches(Scrim.FOCUSABLE_SELECTORS)) {\n focusableElements.push(el)\n }\n\n const nestedFocusables = Array.from(el.querySelectorAll<HTMLElement>(Scrim.FOCUSABLE_SELECTORS))\n focusableElements.push(...nestedFocusables)\n })\n\n return this.filterVisibleElements(focusableElements)\n }\n\n private filterVisibleElements(elements: HTMLElement[]): HTMLElement[] {\n return elements.filter(\n (el) => el.offsetWidth > 0 && el.offsetHeight > 0 && getComputedStyle(el).visibility !== 'hidden'\n )\n }\n\n // ======================================================================\n // NAVEGAÇÃO POR TECLADO\n // ======================================================================\n private handleKeyDown = (event: KeyboardEvent) => {\n if (!this.isActive) return\n\n if (this.shouldHandleEscape(event)) {\n this.handleOpenChange(false)\n return\n }\n\n if (event.key === 'Tab') {\n this.handleTabNavigation(event)\n }\n }\n\n private shouldHandleEscape(event: KeyboardEvent): boolean {\n return (event.key === 'Escape' || event.key === 'Esc') && this.isActive && !this.disableCloseOnClick\n }\n\n private handleTabNavigation(event: KeyboardEvent): void {\n const focusableElements = this.getFocusableElements()\n if (focusableElements.length === 0) {\n event.preventDefault()\n return\n }\n\n const firstElement = focusableElements[0]\n const lastElement = focusableElements[focusableElements.length - 1]\n const isTabForward = !event.shiftKey\n\n if (this.shouldTrapFocus(isTabForward, firstElement, lastElement)) {\n event.preventDefault()\n this.wrapFocus(isTabForward, firstElement, lastElement)\n }\n }\n\n private shouldTrapFocus(isTabForward: boolean, firstElement: HTMLElement, lastElement: HTMLElement): boolean {\n return (\n (isTabForward && document.activeElement === lastElement) ||\n (!isTabForward && document.activeElement === firstElement)\n )\n }\n\n private wrapFocus(isTabForward: boolean, firstElement: HTMLElement, lastElement: HTMLElement): void {\n ;(isTabForward ? firstElement : lastElement).focus()\n }\n\n // ======================================================================\n // MANIPULAÇÃO DE EVENTOS E UTILITÁRIOS\n // ======================================================================\n private handleMaskClick = (_event: MouseEvent) => {\n if (!this.disableCloseOnClick) {\n this.close()\n }\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-scrim': true,\n opened: this.isActive,\n 'scroll-block': this.scrollStrategy === 'block',\n 'position-top': this.positionContent === 'top',\n 'position-bottom': this.positionContent === 'bottom',\n 'position-left': this.positionContent === 'left',\n 'position-right': this.positionContent === 'right',\n 'position-center': this.positionContent === 'center',\n 'mode-fullscreen': this.displayMode === 'fullscreen',\n 'mode-parent': this.displayMode === 'parent',\n }\n }\n\n // ======================================================================\n // MÉTODOS PÚBLICOS (API)\n // ======================================================================\n /**\n * Define o limite de rolagem para o fechamento automático do scrim.\n */\n @Method()\n async setScrollThreshold(threshold: number) {\n this.scrollThreshold = threshold\n }\n\n /**\n * Método público para exibir o scrim\n */\n @Method()\n async open() {\n this.handleOpenChange(true)\n }\n\n /**\n * Método público para esconder o scrim\n */\n @Method()\n async close() {\n this.handleOpenChange(false)\n }\n\n /**\n * Método público para alternar o estado de exibição do scrim\n */\n @Method()\n async toggle() {\n this.handleOpenChange(!this.isActive)\n }\n\n render() {\n return (\n <Host>\n <slot name=\"activator\"></slot>\n <div\n class={this.getCssClassMap()}\n id={this.customId}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={this.isActive ? 'false' : 'true'}\n data-visible={this.isActive ? 'true' : 'false'}\n >\n <div class=\"mask\" onClick={this.handleMaskClick}></div>\n <div\n ref={(el) => (this.contentRef = el)}\n class=\"content\"\n tabIndex={-1}\n onKeyDown={this.handleKeyDown}\n aria-label=\"Conteúdo do diálogo\"\n >\n <slot></slot>\n </div>\n </div>\n </Host>\n )\n }\n}\n\nlet ScrimId = 0\n"],"names":["h","Host"],"mappings":"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"}
1
+ {"version":3,"file":"br-scrim.entry.cjs.js","sources":["../../packages/webcomponents/src/components/scrim/scrim.scss?tag=br-scrim&encapsulation=shadow","../../packages/webcomponents/src/components/scrim/scrim.tsx"],"sourcesContent":[":host {\n --br-scrim-opacity: 1;\n\n .br-scrim {\n visibility: hidden;\n transition: visibility 0.3s ease;\n z-index: var(--z-index-layer-4);\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: auto;\n }\n\n .br-scrim.mode-fullscreen {\n position: fixed;\n inset: 0;\n }\n\n .br-scrim.mode-parent {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n }\n\n .br-scrim.opened {\n visibility: visible;\n pointer-events: auto;\n }\n\n .mask {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: var(--surface-overlay-scrim);\n opacity: 0;\n transition: opacity 0.3s ease;\n pointer-events: auto;\n }\n\n .br-scrim.opened .mask {\n opacity: var(--br-scrim-opacity);\n }\n\n .content {\n position: relative;\n outline: none;\n pointer-events: auto;\n opacity: 0;\n transform: scale(0.9);\n transition:\n opacity 0.3s ease,\n transform 0.3s ease;\n background: transparent;\n padding: 0;\n margin: 0;\n border: none;\n box-shadow: none;\n overflow: visible;\n contain: none;\n display: inline-block;\n width: fit-content;\n height: fit-content;\n z-index: calc(var(--z-index-layer-4) + 1);\n\n &:focus {\n outline: var(--focus-outline);\n outline-offset: var(--focus-offset);\n box-shadow: var(--focus-shadow);\n }\n }\n\n .br-scrim.opened .content {\n opacity: 1;\n transform: scale(1);\n pointer-events: auto;\n }\n\n .br-scrim.position-top .content {\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n }\n\n .br-scrim.position-bottom .content {\n position: absolute;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n }\n\n .br-scrim.position-left .content {\n position: absolute;\n top: 50%;\n left: 0;\n transform: translateY(-50%);\n }\n\n .br-scrim.position-right .content {\n position: absolute;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n }\n\n .br-scrim.position-center .content {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n .content ::slotted(*) {\n opacity: 1 !important;\n filter: none;\n }\n\n /* Estilos responsivos */\n @media (width <= 768px) {\n .content {\n max-width: 95%;\n max-height: 95%;\n width: auto;\n }\n\n .br-scrim.position-top .content,\n .br-scrim.position-bottom .content {\n width: 100%;\n max-width: 100%;\n border-radius: 0;\n }\n }\n}\n","import {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core'\n\nimport { 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/scrim?tab=designer).\n *\n * @slot default - Elemento que será exibido junto com o Scrim, devendo ser fornecido através do slot. Esse elemento representa o conteúdo principal a ser destacado sobre o fundo escurecido.\n * @slot activator - Elemento que, quando clicado, ativa/desativa o scrim. Tem prioridade sobre a propriedade 'activator'.\n */\n@Component({\n tag: 'br-scrim',\n styleUrl: 'scrim.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Scrim {\n /**\n * Referência ao elemento host do componente.\n */\n @Element() el: HTMLBrScrimElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-scrim-${ScrimId++}`\n\n /**\n * Ativa/desativa o scrim\n */\n @Prop({ reflect: true }) isOpen: boolean = false\n\n /**\n * Posiciona o conteúdo no topo, centro, direita, esquerda, abaixo dentro do scrim\n */\n @Prop() positionContent: 'top' | 'center' | 'right' | 'left' | 'bottom'\n\n /**\n * Desativa o fechamento do scrim ao ser clicado\n */\n @Prop() disableCloseOnClick: boolean = false\n\n /**\n * Define o valor de z-index do scrim\n */\n @Prop() zIndex: number | null = null\n\n /**\n * Define um valor CSS personalizado para o background do scrim\n */\n @Prop() customBackground: string | null = null\n\n /**\n * Define a opacidade personalizada do scrim\n */\n @Prop() customOpacity: number | null = null\n\n /**\n * Define o modo de exibição do scrim:\n * - 'fullscreen': Ocupa toda a tela (position: fixed).\n * - 'parent': Ocupa apenas o elemento pai (position: absolute).\n * O elemento pai deve ter `position: relative` ou outro valor de posicionamento diferente de `static`.\n */\n @Prop() displayMode: 'fullscreen' | 'parent' = 'fullscreen'\n\n /**\n * Define a estratégia de manipulação de rolagem quando scrim está aberto\n * - 'block': Impede a rolagem completamente\n * - 'close': Fecha o scrim quando ocorre rolagem\n */\n @Prop() scrollStrategy: 'block' | 'close'\n\n /**\n * Determina quanto de rolagem (em pixels) é necessário para acionar a ação de fechamento automático do scrim.\n */\n @Prop() scrollThreshold: number = 50\n\n /**\n * Define o seletor para o elemento activator.\n * Pode ser:\n * - Um seletor CSS (ex: '.button-class', '#button-id')\n * - A string 'parent' para usar o elemento pai como activator\n * Nota: O slot 'activator' tem prioridade sobre esta propriedade.\n */\n @Prop() activator: string | null = null\n\n /** Indica que o scrim foi aberto. */\n @Event() brScrimOpen: EventEmitter\n\n /** Indica que o scrim foi fechado */\n @Event() brScrimClose: EventEmitter\n\n @State() isActive: boolean = false\n @State() hasActivatorSlot: boolean = false\n\n // ======================================================================\n // PROPRIEDADES PRIVADAS E VARIÁVEIS INTERNAS\n // ======================================================================\n private contentRef: HTMLDivElement | null = null\n private activatorElement: HTMLElement | null = null\n private scrollOffset: number = 0\n private lastScrollTop: number = 0\n private previouslyFocusedElement: HTMLElement | null | undefined = null\n\n private static readonly FOCUSABLE_SELECTORS = [\n 'a[href]:not([disabled])',\n 'button:not([disabled])',\n 'br-button:not([disabled])',\n 'input:not([disabled])',\n 'br-input:not([disabled])',\n 'select:not([disabled])',\n 'br-select:not([disabled])',\n 'textarea:not([disabled])',\n 'br-textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n ].join(',')\n\n // ======================================================================\n // LIFECYCLE HOOKS E WATCHERS\n // ======================================================================\n @Watch('isOpen')\n handleOpenChange(newValue: boolean) {\n this.isActive = newValue\n this.updateStyles()\n\n if (this.isActive) {\n this.previouslyFocusedElement = document.activeElement as HTMLElement\n this.applyScrollStrategy()\n setTimeout(() => {\n this.focusFirstElement()\n }, 100)\n this.brScrimOpen.emit()\n } else {\n this.resetScrolling()\n this.restoreFocus()\n this.brScrimClose.emit()\n }\n }\n\n @Watch('zIndex')\n @Watch('customBackground')\n @Watch('customOpacity')\n updateStyles() {\n if (this.zIndex !== null && this.zIndex !== undefined) {\n this.el.style.zIndex = `${this.zIndex}`\n this.el.style.setProperty('--z-index-layer-4', `${this.zIndex}`)\n }\n if (this.customBackground !== null) {\n this.el.style.setProperty('--surface-overlay-scrim', this.customBackground)\n }\n if (this.customOpacity !== null) {\n this.el.style.setProperty('--br-scrim-opacity', `${this.customOpacity}`)\n }\n }\n\n @Watch('activator')\n handleActivatorChange() {\n this.removeActivatorClickListener()\n this.setupActivator()\n }\n\n componentWillLoad() {\n this.hasActivatorSlot = this.checkActivatorSlot('activator')\n }\n\n componentDidLoad() {\n this.isActive = this.isOpen\n this.updateStyles()\n if (this.isActive) {\n this.applyScrollStrategy()\n this.focusFirstElement()\n }\n this.setupActivator()\n this.setupActivatorSlotClick()\n this.contentRef.addEventListener('keydown', this.handleKeyDown)\n }\n\n connectedCallback() {\n if (this.scrollStrategy === 'close') {\n window.addEventListener('scroll', this.handleScrollClose)\n }\n }\n\n disconnectedCallback() {\n window.removeEventListener('scroll', this.handleScrollClose)\n this.contentRef.removeEventListener('keydown', this.handleKeyDown)\n this.removeActivatorClickListener()\n this.cleanupActivatorSlotClick()\n }\n\n // ======================================================================\n // GERENCIAMENTO DO ACTIVATOR (ELEMENTO ACIONADOR)\n // ======================================================================\n private checkActivatorSlot(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private setupActivatorSlotClick() {\n const slotEl = this.el.shadowRoot?.querySelector('slot[name=\"activator\"]') as HTMLSlotElement\n if (slotEl === null || slotEl === undefined) return\n\n const assignedElements = slotEl.assignedElements?.() ?? []\n\n if (assignedElements.length === 1) {\n const el = assignedElements[0] as HTMLElement\n el.addEventListener('click', this.handleActivatorClick)\n } else if (assignedElements.length > 1) {\n console.warn('br-scrim: Slot \"activator\" deve conter apenas um elemento para aplicar o onClick automaticamente.')\n }\n }\n\n private setupActivator() {\n this.removeActivatorClickListener()\n this.activatorElement = null\n\n if (this.hasActivatorSlot || this.activator == null || this.activator === '') {\n return\n }\n\n if (this.activator === 'parent') {\n const parentElement = this.el.parentElement\n if (parentElement !== null) {\n this.activatorElement = parentElement\n }\n } else {\n try {\n const element = document.querySelector(this.activator)\n if (element instanceof HTMLElement) {\n this.activatorElement = element\n }\n } catch {\n console.warn(`br-scrim: Seletor activator inválido: ${this.activator}`)\n }\n }\n\n this.addActivatorClickListener()\n }\n\n private handleActivatorClick = () => {\n this.toggle()\n }\n\n private addActivatorClickListener() {\n if (this.activatorElement === null || this.activatorElement === undefined) return\n this.activatorElement.addEventListener('click', this.handleActivatorClick)\n }\n\n private removeActivatorClickListener() {\n if (this.activatorElement === null || this.activatorElement === undefined) return\n this.activatorElement.removeEventListener('click', this.handleActivatorClick)\n }\n\n private cleanupActivatorSlotClick() {\n const slotEl = this.el.shadowRoot?.querySelector('slot[name=\"activator\"]') as HTMLSlotElement\n const assignedElements = slotEl?.assignedElements?.() ?? []\n\n if (assignedElements.length === 1) {\n assignedElements[0].removeEventListener('click', this.handleActivatorClick)\n }\n }\n\n // ======================================================================\n // ESTRATÉGIAS DE ROLAGEM (SCROLL)\n // ======================================================================\n private applyScrollStrategy() {\n if (this.scrollStrategy === 'block') {\n this.enableScrollBlock()\n } else if (this.scrollStrategy === 'close') {\n this.enableScrollWatcher()\n }\n }\n\n private enableScrollBlock() {\n this.scrollOffset = window.scrollY\n document.body.style.setProperty('position', 'fixed')\n document.body.style.setProperty('top', `-${this.scrollOffset}px`)\n document.body.style.setProperty('left', '0')\n document.body.style.setProperty('right', '0')\n document.body.style.setProperty('width', '100%')\n document.documentElement.style.setProperty('overflow', 'hidden')\n\n window.addEventListener('scroll', this.handleBlockScroll)\n }\n\n private enableScrollWatcher() {\n window.addEventListener('scroll', this.handleScrollClose)\n }\n\n private handleBlockScroll = (e: Event) => {\n if (this.scrollStrategy === 'block' && this.isActive) {\n window.scrollTo(0, this.scrollOffset)\n e.preventDefault()\n e.stopPropagation()\n }\n }\n\n private resetScrolling() {\n if (this.scrollStrategy === 'block') {\n document.body.style.removeProperty('position')\n document.body.style.removeProperty('top')\n document.body.style.removeProperty('left')\n document.body.style.removeProperty('right')\n document.body.style.removeProperty('width')\n document.documentElement.style.removeProperty('overflow')\n window.removeEventListener('scroll', this.handleBlockScroll)\n window.scrollTo(0, this.scrollOffset)\n }\n window.removeEventListener('scroll', this.handleScrollClose)\n }\n\n private handleScrollClose = () => {\n if (this.scrollStrategy === 'close' && this.isActive) {\n const currentScroll = window.scrollY\n if (Math.abs(currentScroll - this.lastScrollTop) > this.scrollThreshold) {\n this.handleOpenChange(false)\n }\n this.lastScrollTop = currentScroll\n }\n }\n\n // ======================================================================\n // ACESSIBILIDADE E GERENCIAMENTO DE FOCO\n // ======================================================================\n private focusFirstElement() {\n if (this.contentRef == null) return\n\n this.contentRef.setAttribute('tabindex', '-1')\n this.contentRef.focus()\n\n const focusableElements = this.getFocusableElements()\n\n if (focusableElements.length > 0) {\n const firstElement = focusableElements[0]\n if (firstElement !== null && firstElement !== undefined) {\n firstElement.scrollIntoView({ block: 'nearest', inline: 'nearest' })\n firstElement.focus({ preventScroll: true })\n }\n }\n }\n\n private restoreFocus() {\n let targetElement: HTMLElement | null = null\n\n if (this.previouslyFocusedElement instanceof HTMLElement && this.previouslyFocusedElement.isConnected) {\n targetElement = this.previouslyFocusedElement\n } else if (this.activatorElement instanceof HTMLElement) {\n targetElement = this.activatorElement\n } else {\n const slotEl = this.el.shadowRoot?.querySelector('slot[name=\"activator\"]') as HTMLSlotElement\n if (this.hasActivatorSlot) {\n const assignedElements = slotEl.assignedElements?.() ?? []\n if (assignedElements.length > 0 && assignedElements[0] instanceof HTMLElement) {\n targetElement = assignedElements[0] as HTMLElement\n }\n }\n }\n\n if (targetElement !== null && targetElement !== undefined) {\n setTimeout(() => {\n try {\n targetElement?.focus()\n } catch (error) {\n console.warn('br-scrim: Erro ao restaurar foco:', error)\n }\n }, 100)\n }\n }\n\n private getFocusableElements(): HTMLElement[] {\n if (this.contentRef == null) return []\n\n const defaultSlot = this.contentRef.querySelector('slot:not([name])') as HTMLSlotElement\n if (defaultSlot === null || defaultSlot === undefined) return []\n\n const assignedElements = defaultSlot.assignedElements({ flatten: true })\n const focusableElements: HTMLElement[] = []\n\n assignedElements.forEach((el) => {\n if (!(el instanceof HTMLElement)) return\n\n if (el.matches(Scrim.FOCUSABLE_SELECTORS)) {\n focusableElements.push(el)\n }\n\n const nestedFocusables = Array.from(el.querySelectorAll<HTMLElement>(Scrim.FOCUSABLE_SELECTORS))\n focusableElements.push(...nestedFocusables)\n })\n\n return this.filterVisibleElements(focusableElements)\n }\n\n private filterVisibleElements(elements: HTMLElement[]): HTMLElement[] {\n return elements.filter(\n (el) => el.offsetWidth > 0 && el.offsetHeight > 0 && getComputedStyle(el).visibility !== 'hidden'\n )\n }\n\n // ======================================================================\n // NAVEGAÇÃO POR TECLADO\n // ======================================================================\n private handleKeyDown = (event: KeyboardEvent) => {\n if (!this.isActive) return\n\n if (this.shouldHandleEscape(event)) {\n this.handleOpenChange(false)\n return\n }\n\n if (event.key === 'Tab') {\n this.handleTabNavigation(event)\n }\n }\n\n private shouldHandleEscape(event: KeyboardEvent): boolean {\n return (event.key === 'Escape' || event.key === 'Esc') && this.isActive && !this.disableCloseOnClick\n }\n\n private handleTabNavigation(event: KeyboardEvent): void {\n const focusableElements = this.getFocusableElements()\n if (focusableElements.length === 0) {\n event.preventDefault()\n return\n }\n\n const firstElement = focusableElements[0]\n const lastElement = focusableElements[focusableElements.length - 1]\n const isTabForward = !event.shiftKey\n\n if (this.shouldTrapFocus(isTabForward, firstElement, lastElement)) {\n event.preventDefault()\n this.wrapFocus(isTabForward, firstElement, lastElement)\n }\n }\n\n private shouldTrapFocus(isTabForward: boolean, firstElement: HTMLElement, lastElement: HTMLElement): boolean {\n return (\n (isTabForward && document.activeElement === lastElement) ||\n (!isTabForward && document.activeElement === firstElement)\n )\n }\n\n private wrapFocus(isTabForward: boolean, firstElement: HTMLElement, lastElement: HTMLElement): void {\n ;(isTabForward ? firstElement : lastElement).focus()\n }\n\n // ======================================================================\n // MANIPULAÇÃO DE EVENTOS E UTILITÁRIOS\n // ======================================================================\n private handleMaskClick = (_event: MouseEvent) => {\n if (!this.disableCloseOnClick) {\n this.close()\n }\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-scrim': true,\n opened: this.isActive,\n 'scroll-block': this.scrollStrategy === 'block',\n 'position-top': this.positionContent === 'top',\n 'position-bottom': this.positionContent === 'bottom',\n 'position-left': this.positionContent === 'left',\n 'position-right': this.positionContent === 'right',\n 'position-center': this.positionContent === 'center',\n 'mode-fullscreen': this.displayMode === 'fullscreen',\n 'mode-parent': this.displayMode === 'parent',\n }\n }\n\n // ======================================================================\n // MÉTODOS PÚBLICOS (API)\n // ======================================================================\n /**\n * Define o limite de rolagem para o fechamento automático do scrim.\n */\n @Method()\n async setScrollThreshold(threshold: number) {\n this.scrollThreshold = threshold\n }\n\n /**\n * Método público para exibir o scrim\n */\n @Method()\n async open() {\n this.handleOpenChange(true)\n }\n\n /**\n * Método público para esconder o scrim\n */\n @Method()\n async close() {\n this.handleOpenChange(false)\n }\n\n /**\n * Método público para alternar o estado de exibição do scrim\n */\n @Method()\n async toggle() {\n this.handleOpenChange(!this.isActive)\n }\n\n render() {\n return (\n <Host>\n <slot name=\"activator\"></slot>\n <div\n class={this.getCssClassMap()}\n id={this.customId}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={this.isActive ? 'false' : 'true'}\n data-visible={this.isActive ? 'true' : 'false'}\n >\n <div class=\"mask\" onClick={this.handleMaskClick}></div>\n <div\n ref={(el) => (this.contentRef = el)}\n class=\"content\"\n tabIndex={-1}\n onKeyDown={this.handleKeyDown}\n aria-label=\"Conteúdo do diálogo\"\n >\n <slot></slot>\n </div>\n </div>\n </Host>\n )\n }\n}\n\nlet ScrimId = 0\n"],"names":["h","Host"],"mappings":"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"}
@@ -10,7 +10,7 @@ var appGlobals = require('./app-globals-DcqHuMBv.js');
10
10
  const defineCustomElements = async (win, options) => {
11
11
  if (typeof window === 'undefined') return undefined;
12
12
  await appGlobals.globalScripts();
13
- return index.bootstrapLazy([["br-select.cjs",[[65,"br-select",{"label":[513],"placeholder":[513],"isMultiple":[516,"is-multiple"],"options":[513],"selectAllLabel":[513,"select-all-label"],"unselectAllLabel":[513,"unselect-all-label"],"showSearchIcon":[516,"show-search-icon"],"isOpen":[516,"is-open"],"customId":[513,"custom-id"],"parsedOptions":[32],"inputValue":[32],"isAllSelected":[32],"isExpanded":[32],"focusedIndex":[32],"toggleOpen":[64]},null,{"options":["synchronizeSelect"]}]]],["br-breadcrumb.cjs",[[1,"br-breadcrumb",{"customId":[513,"custom-id"],"homeUrl":[1,"home-url"],"crumbs":[1],"showTooltip":[32],"tooltipPosition":[32],"tooltipText":[32],"isSmallScreen":[32],"isTruncate":[32],"larguraInterna":[32],"larguraPai":[32],"isFolderOpen":[32]}]]],["br-footer-category.cjs",[[1,"br-footer-category",{"customId":[513,"custom-id"],"label":[513],"isDesktop":[32],"accordionGroup":[32]}]]],["br-footer-social.cjs",[[1,"br-footer-social",{"customId":[513,"custom-id"],"icon":[513],"description":[513],"href":[513]}]]],["br-message.cjs",[[65,"br-message",{"messageTitle":[513,"message-title"],"customId":[513,"custom-id"],"message":[513],"isInline":[516,"is-inline"],"isClosable":[516,"is-closable"],"autoRemove":[516,"auto-remove"],"showIcon":[516,"show-icon"],"isFeedback":[516,"is-feedback"],"state":[513]}]]],["br-step-item.cjs",[[65,"br-step-item",{"label":[513],"highlight":[513],"active":[516],"disabled":[516],"brIconName":[513,"br-icon-name"],"brIconAria":[513,"br-icon-aria"],"showTimeLine":[32],"stepItemPositionStatus":[32],"stepLayout":[32],"labelPosition":[32],"contentType":[32],"mode":[32],"content":[32],"ariaLabelContent":[32],"setStepItemPositionStatus":[64],"handleShowTimeLine":[64],"setLabelPosition":[64],"setContentType":[64],"setMode":[64],"setContent":[64]},null,{"active":["watchItemIsActive"]}]]],["br-tag.cjs",[[65,"br-tag",{"label":[513],"iconName":[513,"icon-name"],"name":[513],"multiple":[516],"selected":[1540],"customId":[513,"custom-id"],"color":[513],"density":[513],"shape":[513],"status":[516],"interaction":[1540],"interactionSelect":[516,"interaction-select"],"disabled":[516],"selectedClassValue":[32]},[[4,"radioSelected","handleCheckedChange"]],{"interaction":["handleInteractionChange"],"interactionSelect":["handleInteractionSelectChange"],"selected":["handleSelectedChange"]}]]],["br-upload.cjs",[[65,"br-upload",{"accept":[1],"label":[1],"disabled":[516],"state":[513],"multiple":[4],"filesSelected":[32],"file":[32]}]]],["br-avatar.cjs",[[1,"br-avatar",{"density":[1025],"customId":[513,"custom-id"],"src":[1],"alt":[1],"isIconic":[4,"is-iconic"],"text":[1],"iconWidth":[1,"icon-width"],"iconHeight":[1,"icon-height"],"iconMarginTop":[1,"icon-margin-top"],"disabled":[4],"hasError":[32]},null,{"density":["handleDensityChange"]}]]],["br-checkgroup.cjs",[[65,"br-checkgroup",{"label":[1],"labelSelecionado":[513,"label-selecionado"],"labelDesselecionado":[513,"label-desselecionado"],"indeterminate":[516],"customId":[513,"custom-id"],"checked":[32],"isIndeterminate":[32]},[[4,"checkedChange","handleChange"]]]]],["br-footer-item.cjs",[[1,"br-footer-item",{"customId":[513,"custom-id"],"href":[513]}]]],["br-footer-legal.cjs",[[1,"br-footer-legal",{"customId":[513,"custom-id"]}]]],["br-tab-item.cjs",[[65,"br-tab-item",{"TabItemId":[513,"tab-item-id"],"icon":[513],"tabItemTitle":[513,"tab-item-title"],"onlyIcon":[516,"only-icon"],"isActive":[516,"is-active"],"counter":[513],"colorMode":[513,"color-mode"]}]]],["br-dropdown.cjs",[[65,"br-dropdown",{"isOpen":[1540,"is-open"],"customId":[513,"custom-id"],"open":[64],"hide":[64]},null,{"isOpen":["isOpenChanged"]}]]],["br-footer.cjs",[[1,"br-footer",{"customId":[513,"custom-id"],"theme":[513],"socialNetworkTitle":[513,"social-network-title"]}]]],["br-footer-logo.cjs",[[1,"br-footer-logo",{"customId":[513,"custom-id"],"src":[513],"description":[513],"position":[513],"isPartner":[516,"is-partner"]}]]],["br-loading.cjs",[[65,"br-loading",{"isProgress":[516,"is-progress"],"customId":[513,"custom-id"],"progressPercent":[514,"progress-percent"],"isMedium":[516,"is-medium"],"label":[513]}]]],["br-scrim.cjs",[[65,"br-scrim",{"customId":[513,"custom-id"],"isOpen":[516,"is-open"],"positionContent":[1,"position-content"],"disableCloseOnClick":[4,"disable-close-on-click"],"zIndex":[2,"z-index"],"customBackground":[1,"custom-background"],"customOpacity":[2,"custom-opacity"],"displayMode":[1,"display-mode"],"scrollStrategy":[1,"scroll-strategy"],"scrollThreshold":[2,"scroll-threshold"],"activator":[1],"isActive":[32],"hasActivatorSlot":[32],"setScrollThreshold":[64],"open":[64],"close":[64],"toggle":[64]},null,{"isOpen":["handleOpenChange"],"zIndex":["updateStyles"],"customBackground":["updateStyles"],"customOpacity":["updateStyles"],"activator":["handleActivatorChange"]}]]],["br-step.cjs",[[65,"br-step",{"layout":[513],"initialStep":[513,"initial-step"],"labelPosition":[513,"label-position"],"contentType":[513,"content-type"],"mode":[513],"progressionType":[513,"progression-type"],"activeStep":[32],"stepItems":[32],"ProceedToNextStep":[64],"BackToPreviousStep":[64],"StepValidation":[64],"GetActiveStep":[64]},[[2,"click","handleClick"]]]]],["br-switch.cjs",[[65,"br-switch",{"disabled":[516],"checked":[1540],"customId":[513,"custom-id"],"label":[1],"labelPosition":[513,"label-position"],"labelOn":[513,"label-on"],"labelOff":[513,"label-off"],"hasIcon":[516,"has-icon"],"name":[513],"value":[513],"density":[513],"_slotDefault":[32],"toggleChecked":[64]}]]],["br-tab.cjs",[[65,"br-tab",{"density":[513],"colorMode":[513,"color-mode"],"activeTab":[32],"tabItems":[32],"tabContent":[32]},null,{"activeTab":["activeTabChanged"]}]]],["br-table.cjs",[[1,"br-table",{"customId":[513,"custom-id"]}]]],["br-table-cell.cjs",[[1,"br-table-cell",{"customId":[513,"custom-id"],"hasVerticalBorder":[516,"has-vertical-border"],"horizontalAlign":[513,"horizontal-align"]},[[4,"brHorizontalAlignDidChange","handleHorizontalAlignDidChange"]],{"horizontalAlign":["handleHorizontalAlignChange"]}]]],["br-table-header-cell.cjs",[[1,"br-table-header-cell",{"customId":[513,"custom-id"],"hasVerticalBorder":[516,"has-vertical-border"],"horizontalAlign":[513,"horizontal-align"]},null,{"horizontalAlign":["handleHorizontalAlignChange"]}]]],["br-table-header-row.cjs",[[1,"br-table-header-row",{"customId":[513,"custom-id"]}]]],["br-table-row.cjs",[[1,"br-table-row",{"customId":[513,"custom-id"]}]]],["br-textarea.cjs",[[65,"br-textarea",{"value":[1537],"label":[513],"placeholder":[513],"customId":[513,"custom-id"],"disabled":[516],"maxlength":[514],"showCounter":[516,"show-counter"],"state":[513],"density":[513],"isInline":[516,"is-inline"],"currentLength":[32],"setValue":[64]},null,{"value":["valueChanged"]}]]],["br-divider.cjs",[[1,"br-divider",{"customId":[513,"custom-id"],"orientation":[513],"thickness":[513],"borderStyle":[513,"border-style"],"isDarkMode":[516,"is-dark-mode"],"color":[513],"align":[1],"bleed":[4],"slotDefault":[32]},null,{"color":["updateColor"]}]]],["br-button_2.cjs",[[65,"br-button",{"colorMode":[513,"color-mode"],"customId":[513,"custom-id"],"density":[513],"disabled":[516],"emphasis":[513],"isActive":[516,"is-active"],"isLoading":[516,"is-loading"],"shape":[513],"type":[513],"value":[513]}],[1,"br-icon",{"iconName":[513,"icon-name"],"height":[513],"customId":[513,"custom-id"],"width":[513],"cssClasses":[513,"css-classes"],"isInline":[516,"is-inline"],"rotate":[513],"flip":[513]}]]],["br-input_2.cjs",[[65,"br-input",{"type":[513],"autocomplete":[513],"density":[513],"disabled":[516],"isInline":[516,"is-inline"],"isHighlight":[516,"is-highlight"],"state":[513],"label":[513],"customId":[513,"custom-id"],"name":[513],"placeholder":[513],"readonly":[516],"required":[516],"value":[1537],"helpText":[513,"help-text"],"autocorrect":[513],"min":[514],"max":[514],"minlength":[514],"maxlength":[514],"multiple":[516],"pattern":[513],"step":[514],"isPasswordVisible":[32],"internalState":[32],"hasIconSlot":[32],"hasActionSlot":[32],"hasFeedbackSlot":[32]}],[65,"br-radio",{"checked":[1540],"disabled":[516],"state":[513],"hasHiddenLabel":[516,"has-hidden-label"],"customId":[513,"custom-id"],"name":[513],"label":[513],"value":[513],"toggleChecked":[64]},[[8,"checkedChange","handleCheckedChange"],[0,"keydown","handleKeyDown"]]]]],["br-checkbox.cjs",[[65,"br-checkbox",{"indeterminate":[1540],"checked":[1540],"customId":[513,"custom-id"],"disabled":[516],"hasHiddenLabel":[516,"has-hidden-label"],"label":[513],"name":[513],"state":[513],"value":[513],"slotDefault":[32],"setIndeterminate":[64],"toggleChecked":[64]},null,{"indeterminate":["updateIndeterminate"]}]]],["br-item.cjs",[[65,"br-item",{"disabled":[516],"customId":[513,"custom-id"],"isActive":[516,"is-active"],"isSelected":[516,"is-selected"],"isInteractive":[516,"is-interactive"],"href":[513],"target":[513],"isButton":[516,"is-button"],"type":[1537],"value":[513],"density":[513],"hasSlotDefault":[32],"hasSlotStart":[32],"hasSlotEnd":[32],"selectedValue":[32],"setFocus":[64]},[[4,"checkedChange","handleRadioChange"],[4,"checkedChange","handleCheckboxChange"]]]]],["br-collapse_2.cjs",[[65,"br-list",{"header":[513],"isHorizontal":[516,"is-horizontal"],"customId":[513,"custom-id"],"hideHeaderDivider":[516,"hide-header-divider"],"collapse":[516],"accordion":[513]}],[65,"br-collapse",{"customId":[513,"custom-id"],"open":[1540],"accordionGroup":[1,"accordion-group"],"iconToShow":[1,"icon-to-show"],"iconToHide":[1,"icon-to-hide"],"iconPosition":[1,"icon-position"],"openCollapse":[64],"closeCollapse":[64]},[[4,"brDidOpen","handleOpen"]]]]]], options);
13
+ return index.bootstrapLazy([["br-select.cjs",[[65,"br-select",{"label":[513],"placeholder":[513],"isMultiple":[516,"is-multiple"],"options":[513],"selectAllLabel":[513,"select-all-label"],"unselectAllLabel":[513,"unselect-all-label"],"showSearchIcon":[516,"show-search-icon"],"isOpen":[516,"is-open"],"customId":[513,"custom-id"],"parsedOptions":[32],"inputValue":[32],"isAllSelected":[32],"isExpanded":[32],"focusedIndex":[32],"toggleOpen":[64]},null,{"options":["synchronizeSelect"]}]]],["br-breadcrumb.cjs",[[1,"br-breadcrumb",{"customId":[513,"custom-id"],"homeUrl":[1,"home-url"],"crumbs":[1],"showTooltip":[32],"tooltipPosition":[32],"tooltipText":[32],"isSmallScreen":[32],"isTruncate":[32],"larguraInterna":[32],"larguraPai":[32],"isFolderOpen":[32]}]]],["br-footer-category.cjs",[[1,"br-footer-category",{"customId":[513,"custom-id"],"label":[513],"isDesktop":[32],"accordionGroup":[32]}]]],["br-footer-social.cjs",[[1,"br-footer-social",{"customId":[513,"custom-id"],"icon":[513],"description":[513],"href":[513]}]]],["br-message.cjs",[[65,"br-message",{"messageTitle":[513,"message-title"],"customId":[513,"custom-id"],"message":[513],"isInline":[516,"is-inline"],"isClosable":[516,"is-closable"],"autoRemove":[516,"auto-remove"],"showIcon":[516,"show-icon"],"isFeedback":[516,"is-feedback"],"state":[513]}]]],["br-step-item.cjs",[[65,"br-step-item",{"label":[513],"highlight":[513],"active":[516],"disabled":[516],"brIconName":[513,"br-icon-name"],"brIconAria":[513,"br-icon-aria"],"showTimeLine":[32],"stepItemPositionStatus":[32],"stepLayout":[32],"labelPosition":[32],"contentType":[32],"mode":[32],"content":[32],"ariaLabelContent":[32],"setStepItemPositionStatus":[64],"handleShowTimeLine":[64],"setLabelPosition":[64],"setContentType":[64],"setMode":[64],"setContent":[64]},null,{"active":["watchItemIsActive"]}]]],["br-tag.cjs",[[65,"br-tag",{"label":[513],"iconName":[513,"icon-name"],"name":[513],"multiple":[516],"selected":[1540],"customId":[513,"custom-id"],"color":[513],"density":[513],"shape":[513],"status":[516],"interaction":[1540],"interactionSelect":[516,"interaction-select"],"disabled":[516],"selectedClassValue":[32]},[[4,"radioSelected","handleCheckedChange"]],{"interaction":["handleInteractionChange"],"interactionSelect":["handleInteractionSelectChange"],"selected":["handleSelectedChange"]}]]],["br-upload.cjs",[[65,"br-upload",{"accept":[1],"label":[1],"disabled":[516],"state":[513],"multiple":[4],"filesSelected":[32],"file":[32]}]]],["br-avatar.cjs",[[1,"br-avatar",{"density":[1025],"customId":[513,"custom-id"],"src":[1],"alt":[1],"isIconic":[4,"is-iconic"],"text":[1],"iconWidth":[1,"icon-width"],"iconHeight":[1,"icon-height"],"iconMarginTop":[1,"icon-margin-top"],"disabled":[4],"hasError":[32]},null,{"density":["handleDensityChange"]}]]],["br-checkgroup.cjs",[[65,"br-checkgroup",{"label":[1],"labelSelecionado":[513,"label-selecionado"],"labelDesselecionado":[513,"label-desselecionado"],"indeterminate":[516],"customId":[513,"custom-id"],"checked":[32],"isIndeterminate":[32]},[[4,"checkedChange","handleChange"]]]]],["br-footer-item.cjs",[[1,"br-footer-item",{"customId":[513,"custom-id"],"href":[513]}]]],["br-footer-legal.cjs",[[1,"br-footer-legal",{"customId":[513,"custom-id"]}]]],["br-tab-item.cjs",[[65,"br-tab-item",{"TabItemId":[513,"tab-item-id"],"icon":[513],"tabItemTitle":[513,"tab-item-title"],"onlyIcon":[516,"only-icon"],"isActive":[516,"is-active"],"counter":[513],"colorMode":[513,"color-mode"]}]]],["br-dropdown.cjs",[[65,"br-dropdown",{"isOpen":[1540,"is-open"],"customId":[513,"custom-id"],"open":[64],"hide":[64],"setFocus":[64]},null,{"isOpen":["isOpenChanged"]}]]],["br-footer.cjs",[[1,"br-footer",{"customId":[513,"custom-id"],"theme":[513],"socialNetworkTitle":[513,"social-network-title"]}]]],["br-footer-logo.cjs",[[1,"br-footer-logo",{"customId":[513,"custom-id"],"src":[513],"description":[513],"position":[513],"isPartner":[516,"is-partner"]}]]],["br-loading.cjs",[[65,"br-loading",{"isProgress":[516,"is-progress"],"customId":[513,"custom-id"],"progressPercent":[514,"progress-percent"],"isMedium":[516,"is-medium"],"label":[513]}]]],["br-scrim.cjs",[[65,"br-scrim",{"customId":[513,"custom-id"],"isOpen":[516,"is-open"],"positionContent":[1,"position-content"],"disableCloseOnClick":[4,"disable-close-on-click"],"zIndex":[2,"z-index"],"customBackground":[1,"custom-background"],"customOpacity":[2,"custom-opacity"],"displayMode":[1,"display-mode"],"scrollStrategy":[1,"scroll-strategy"],"scrollThreshold":[2,"scroll-threshold"],"activator":[1],"isActive":[32],"hasActivatorSlot":[32],"setScrollThreshold":[64],"open":[64],"close":[64],"toggle":[64]},null,{"isOpen":["handleOpenChange"],"zIndex":["updateStyles"],"customBackground":["updateStyles"],"customOpacity":["updateStyles"],"activator":["handleActivatorChange"]}]]],["br-step.cjs",[[65,"br-step",{"layout":[513],"initialStep":[513,"initial-step"],"labelPosition":[513,"label-position"],"contentType":[513,"content-type"],"mode":[513],"progressionType":[513,"progression-type"],"activeStep":[32],"stepItems":[32],"ProceedToNextStep":[64],"BackToPreviousStep":[64],"StepValidation":[64],"GetActiveStep":[64]},[[2,"click","handleClick"]]]]],["br-switch.cjs",[[65,"br-switch",{"disabled":[516],"checked":[1540],"customId":[513,"custom-id"],"label":[1],"labelPosition":[513,"label-position"],"labelOn":[513,"label-on"],"labelOff":[513,"label-off"],"hasIcon":[516,"has-icon"],"name":[513],"value":[513],"density":[513],"_slotDefault":[32],"toggleChecked":[64]}]]],["br-tab.cjs",[[65,"br-tab",{"density":[513],"colorMode":[513,"color-mode"],"activeTab":[32],"tabItems":[32],"tabContent":[32]},null,{"activeTab":["activeTabChanged"]}]]],["br-table.cjs",[[1,"br-table",{"customId":[513,"custom-id"]}]]],["br-table-cell.cjs",[[1,"br-table-cell",{"customId":[513,"custom-id"],"hasVerticalBorder":[516,"has-vertical-border"],"horizontalAlign":[513,"horizontal-align"]},[[4,"brHorizontalAlignDidChange","handleHorizontalAlignDidChange"]],{"horizontalAlign":["handleHorizontalAlignChange"]}]]],["br-table-header-cell.cjs",[[1,"br-table-header-cell",{"customId":[513,"custom-id"],"hasVerticalBorder":[516,"has-vertical-border"],"horizontalAlign":[513,"horizontal-align"]},null,{"horizontalAlign":["handleHorizontalAlignChange"]}]]],["br-table-header-row.cjs",[[1,"br-table-header-row",{"customId":[513,"custom-id"]}]]],["br-table-row.cjs",[[1,"br-table-row",{"customId":[513,"custom-id"]}]]],["br-textarea.cjs",[[65,"br-textarea",{"value":[1537],"label":[513],"placeholder":[513],"customId":[513,"custom-id"],"disabled":[516],"maxlength":[514],"showCounter":[516,"show-counter"],"state":[513],"density":[513],"isInline":[516,"is-inline"],"currentLength":[32],"setValue":[64]},null,{"value":["valueChanged"]}]]],["br-divider.cjs",[[1,"br-divider",{"customId":[513,"custom-id"],"orientation":[513],"thickness":[513],"borderStyle":[513,"border-style"],"isDarkMode":[516,"is-dark-mode"],"color":[513],"align":[1],"bleed":[4],"slotDefault":[32]},null,{"color":["updateColor"]}]]],["br-button_2.cjs",[[65,"br-button",{"colorMode":[513,"color-mode"],"customId":[513,"custom-id"],"density":[513],"disabled":[516],"emphasis":[513],"isActive":[516,"is-active"],"isLoading":[516,"is-loading"],"shape":[513],"type":[513],"value":[513],"ariaLabel":[513,"aria-label"],"ariaPressed":[513,"aria-pressed"]}],[1,"br-icon",{"iconName":[513,"icon-name"],"height":[513],"customId":[513,"custom-id"],"width":[513],"cssClasses":[513,"css-classes"],"isInline":[516,"is-inline"],"rotate":[513],"flip":[513],"isFocusable":[516,"is-focusable"]}]]],["br-input_2.cjs",[[65,"br-input",{"type":[513],"autocomplete":[513],"density":[513],"disabled":[516],"isInline":[516,"is-inline"],"isHighlight":[516,"is-highlight"],"state":[513],"label":[513],"customId":[513,"custom-id"],"name":[513],"placeholder":[513],"readonly":[516],"required":[516],"value":[1537],"helpText":[513,"help-text"],"autocorrect":[513],"min":[514],"max":[514],"minlength":[514],"maxlength":[514],"multiple":[516],"pattern":[513],"step":[514],"actionLabel":[513,"action-label"],"isPasswordVisible":[32],"internalState":[32],"hasIconSlot":[32],"hasActionSlot":[32],"hasFeedbackSlot":[32]}],[65,"br-radio",{"checked":[1540],"disabled":[516],"state":[513],"hasHiddenLabel":[516,"has-hidden-label"],"customId":[513,"custom-id"],"name":[513],"label":[513],"value":[513],"toggleChecked":[64]},[[8,"checkedChange","handleCheckedChange"],[0,"keydown","handleKeyDown"]]]]],["br-checkbox.cjs",[[65,"br-checkbox",{"indeterminate":[1540],"checked":[1540],"customId":[513,"custom-id"],"disabled":[516],"hasHiddenLabel":[516,"has-hidden-label"],"label":[513],"name":[513],"state":[513],"value":[513],"slotDefault":[32],"setIndeterminate":[64],"toggleChecked":[64]},null,{"indeterminate":["updateIndeterminate"]}]]],["br-item.cjs",[[65,"br-item",{"disabled":[516],"customId":[513,"custom-id"],"isActive":[516,"is-active"],"isSelected":[516,"is-selected"],"isInteractive":[516,"is-interactive"],"href":[513],"target":[513],"isButton":[516,"is-button"],"type":[1537],"value":[513],"density":[513],"hasSlotDefault":[32],"hasSlotStart":[32],"hasSlotEnd":[32],"selectedValue":[32],"setFocus":[64]},[[4,"checkedChange","handleRadioChange"],[4,"checkedChange","handleCheckboxChange"]]]]],["br-collapse_2.cjs",[[65,"br-list",{"header":[513],"isHorizontal":[516,"is-horizontal"],"customId":[513,"custom-id"],"hideHeaderDivider":[516,"hide-header-divider"],"collapse":[516],"accordion":[513]}],[65,"br-collapse",{"customId":[513,"custom-id"],"open":[1540],"accordionGroup":[1,"accordion-group"],"iconToShow":[1,"icon-to-show"],"iconToHide":[1,"icon-to-hide"],"iconPosition":[1,"icon-position"],"openCollapse":[64],"closeCollapse":[64]},[[4,"brDidOpen","handleOpen"]]]]]], options);
14
14
  };
15
15
 
16
16
  exports.setNonce = index.setNonce;
@@ -44,7 +44,7 @@ var patchCloneNodeFix = (HTMLElementPrototype) => {
44
44
 
45
45
  patchBrowser().then(async (options) => {
46
46
  await appGlobals.globalScripts();
47
- return index.bootstrapLazy([["br-select.cjs",[[65,"br-select",{"label":[513],"placeholder":[513],"isMultiple":[516,"is-multiple"],"options":[513],"selectAllLabel":[513,"select-all-label"],"unselectAllLabel":[513,"unselect-all-label"],"showSearchIcon":[516,"show-search-icon"],"isOpen":[516,"is-open"],"customId":[513,"custom-id"],"parsedOptions":[32],"inputValue":[32],"isAllSelected":[32],"isExpanded":[32],"focusedIndex":[32],"toggleOpen":[64]},null,{"options":["synchronizeSelect"]}]]],["br-breadcrumb.cjs",[[1,"br-breadcrumb",{"customId":[513,"custom-id"],"homeUrl":[1,"home-url"],"crumbs":[1],"showTooltip":[32],"tooltipPosition":[32],"tooltipText":[32],"isSmallScreen":[32],"isTruncate":[32],"larguraInterna":[32],"larguraPai":[32],"isFolderOpen":[32]}]]],["br-footer-category.cjs",[[1,"br-footer-category",{"customId":[513,"custom-id"],"label":[513],"isDesktop":[32],"accordionGroup":[32]}]]],["br-footer-social.cjs",[[1,"br-footer-social",{"customId":[513,"custom-id"],"icon":[513],"description":[513],"href":[513]}]]],["br-message.cjs",[[65,"br-message",{"messageTitle":[513,"message-title"],"customId":[513,"custom-id"],"message":[513],"isInline":[516,"is-inline"],"isClosable":[516,"is-closable"],"autoRemove":[516,"auto-remove"],"showIcon":[516,"show-icon"],"isFeedback":[516,"is-feedback"],"state":[513]}]]],["br-step-item.cjs",[[65,"br-step-item",{"label":[513],"highlight":[513],"active":[516],"disabled":[516],"brIconName":[513,"br-icon-name"],"brIconAria":[513,"br-icon-aria"],"showTimeLine":[32],"stepItemPositionStatus":[32],"stepLayout":[32],"labelPosition":[32],"contentType":[32],"mode":[32],"content":[32],"ariaLabelContent":[32],"setStepItemPositionStatus":[64],"handleShowTimeLine":[64],"setLabelPosition":[64],"setContentType":[64],"setMode":[64],"setContent":[64]},null,{"active":["watchItemIsActive"]}]]],["br-tag.cjs",[[65,"br-tag",{"label":[513],"iconName":[513,"icon-name"],"name":[513],"multiple":[516],"selected":[1540],"customId":[513,"custom-id"],"color":[513],"density":[513],"shape":[513],"status":[516],"interaction":[1540],"interactionSelect":[516,"interaction-select"],"disabled":[516],"selectedClassValue":[32]},[[4,"radioSelected","handleCheckedChange"]],{"interaction":["handleInteractionChange"],"interactionSelect":["handleInteractionSelectChange"],"selected":["handleSelectedChange"]}]]],["br-upload.cjs",[[65,"br-upload",{"accept":[1],"label":[1],"disabled":[516],"state":[513],"multiple":[4],"filesSelected":[32],"file":[32]}]]],["br-avatar.cjs",[[1,"br-avatar",{"density":[1025],"customId":[513,"custom-id"],"src":[1],"alt":[1],"isIconic":[4,"is-iconic"],"text":[1],"iconWidth":[1,"icon-width"],"iconHeight":[1,"icon-height"],"iconMarginTop":[1,"icon-margin-top"],"disabled":[4],"hasError":[32]},null,{"density":["handleDensityChange"]}]]],["br-checkgroup.cjs",[[65,"br-checkgroup",{"label":[1],"labelSelecionado":[513,"label-selecionado"],"labelDesselecionado":[513,"label-desselecionado"],"indeterminate":[516],"customId":[513,"custom-id"],"checked":[32],"isIndeterminate":[32]},[[4,"checkedChange","handleChange"]]]]],["br-footer-item.cjs",[[1,"br-footer-item",{"customId":[513,"custom-id"],"href":[513]}]]],["br-footer-legal.cjs",[[1,"br-footer-legal",{"customId":[513,"custom-id"]}]]],["br-tab-item.cjs",[[65,"br-tab-item",{"TabItemId":[513,"tab-item-id"],"icon":[513],"tabItemTitle":[513,"tab-item-title"],"onlyIcon":[516,"only-icon"],"isActive":[516,"is-active"],"counter":[513],"colorMode":[513,"color-mode"]}]]],["br-dropdown.cjs",[[65,"br-dropdown",{"isOpen":[1540,"is-open"],"customId":[513,"custom-id"],"open":[64],"hide":[64]},null,{"isOpen":["isOpenChanged"]}]]],["br-footer.cjs",[[1,"br-footer",{"customId":[513,"custom-id"],"theme":[513],"socialNetworkTitle":[513,"social-network-title"]}]]],["br-footer-logo.cjs",[[1,"br-footer-logo",{"customId":[513,"custom-id"],"src":[513],"description":[513],"position":[513],"isPartner":[516,"is-partner"]}]]],["br-loading.cjs",[[65,"br-loading",{"isProgress":[516,"is-progress"],"customId":[513,"custom-id"],"progressPercent":[514,"progress-percent"],"isMedium":[516,"is-medium"],"label":[513]}]]],["br-scrim.cjs",[[65,"br-scrim",{"customId":[513,"custom-id"],"isOpen":[516,"is-open"],"positionContent":[1,"position-content"],"disableCloseOnClick":[4,"disable-close-on-click"],"zIndex":[2,"z-index"],"customBackground":[1,"custom-background"],"customOpacity":[2,"custom-opacity"],"displayMode":[1,"display-mode"],"scrollStrategy":[1,"scroll-strategy"],"scrollThreshold":[2,"scroll-threshold"],"activator":[1],"isActive":[32],"hasActivatorSlot":[32],"setScrollThreshold":[64],"open":[64],"close":[64],"toggle":[64]},null,{"isOpen":["handleOpenChange"],"zIndex":["updateStyles"],"customBackground":["updateStyles"],"customOpacity":["updateStyles"],"activator":["handleActivatorChange"]}]]],["br-step.cjs",[[65,"br-step",{"layout":[513],"initialStep":[513,"initial-step"],"labelPosition":[513,"label-position"],"contentType":[513,"content-type"],"mode":[513],"progressionType":[513,"progression-type"],"activeStep":[32],"stepItems":[32],"ProceedToNextStep":[64],"BackToPreviousStep":[64],"StepValidation":[64],"GetActiveStep":[64]},[[2,"click","handleClick"]]]]],["br-switch.cjs",[[65,"br-switch",{"disabled":[516],"checked":[1540],"customId":[513,"custom-id"],"label":[1],"labelPosition":[513,"label-position"],"labelOn":[513,"label-on"],"labelOff":[513,"label-off"],"hasIcon":[516,"has-icon"],"name":[513],"value":[513],"density":[513],"_slotDefault":[32],"toggleChecked":[64]}]]],["br-tab.cjs",[[65,"br-tab",{"density":[513],"colorMode":[513,"color-mode"],"activeTab":[32],"tabItems":[32],"tabContent":[32]},null,{"activeTab":["activeTabChanged"]}]]],["br-table.cjs",[[1,"br-table",{"customId":[513,"custom-id"]}]]],["br-table-cell.cjs",[[1,"br-table-cell",{"customId":[513,"custom-id"],"hasVerticalBorder":[516,"has-vertical-border"],"horizontalAlign":[513,"horizontal-align"]},[[4,"brHorizontalAlignDidChange","handleHorizontalAlignDidChange"]],{"horizontalAlign":["handleHorizontalAlignChange"]}]]],["br-table-header-cell.cjs",[[1,"br-table-header-cell",{"customId":[513,"custom-id"],"hasVerticalBorder":[516,"has-vertical-border"],"horizontalAlign":[513,"horizontal-align"]},null,{"horizontalAlign":["handleHorizontalAlignChange"]}]]],["br-table-header-row.cjs",[[1,"br-table-header-row",{"customId":[513,"custom-id"]}]]],["br-table-row.cjs",[[1,"br-table-row",{"customId":[513,"custom-id"]}]]],["br-textarea.cjs",[[65,"br-textarea",{"value":[1537],"label":[513],"placeholder":[513],"customId":[513,"custom-id"],"disabled":[516],"maxlength":[514],"showCounter":[516,"show-counter"],"state":[513],"density":[513],"isInline":[516,"is-inline"],"currentLength":[32],"setValue":[64]},null,{"value":["valueChanged"]}]]],["br-divider.cjs",[[1,"br-divider",{"customId":[513,"custom-id"],"orientation":[513],"thickness":[513],"borderStyle":[513,"border-style"],"isDarkMode":[516,"is-dark-mode"],"color":[513],"align":[1],"bleed":[4],"slotDefault":[32]},null,{"color":["updateColor"]}]]],["br-button_2.cjs",[[65,"br-button",{"colorMode":[513,"color-mode"],"customId":[513,"custom-id"],"density":[513],"disabled":[516],"emphasis":[513],"isActive":[516,"is-active"],"isLoading":[516,"is-loading"],"shape":[513],"type":[513],"value":[513]}],[1,"br-icon",{"iconName":[513,"icon-name"],"height":[513],"customId":[513,"custom-id"],"width":[513],"cssClasses":[513,"css-classes"],"isInline":[516,"is-inline"],"rotate":[513],"flip":[513]}]]],["br-input_2.cjs",[[65,"br-input",{"type":[513],"autocomplete":[513],"density":[513],"disabled":[516],"isInline":[516,"is-inline"],"isHighlight":[516,"is-highlight"],"state":[513],"label":[513],"customId":[513,"custom-id"],"name":[513],"placeholder":[513],"readonly":[516],"required":[516],"value":[1537],"helpText":[513,"help-text"],"autocorrect":[513],"min":[514],"max":[514],"minlength":[514],"maxlength":[514],"multiple":[516],"pattern":[513],"step":[514],"isPasswordVisible":[32],"internalState":[32],"hasIconSlot":[32],"hasActionSlot":[32],"hasFeedbackSlot":[32]}],[65,"br-radio",{"checked":[1540],"disabled":[516],"state":[513],"hasHiddenLabel":[516,"has-hidden-label"],"customId":[513,"custom-id"],"name":[513],"label":[513],"value":[513],"toggleChecked":[64]},[[8,"checkedChange","handleCheckedChange"],[0,"keydown","handleKeyDown"]]]]],["br-checkbox.cjs",[[65,"br-checkbox",{"indeterminate":[1540],"checked":[1540],"customId":[513,"custom-id"],"disabled":[516],"hasHiddenLabel":[516,"has-hidden-label"],"label":[513],"name":[513],"state":[513],"value":[513],"slotDefault":[32],"setIndeterminate":[64],"toggleChecked":[64]},null,{"indeterminate":["updateIndeterminate"]}]]],["br-item.cjs",[[65,"br-item",{"disabled":[516],"customId":[513,"custom-id"],"isActive":[516,"is-active"],"isSelected":[516,"is-selected"],"isInteractive":[516,"is-interactive"],"href":[513],"target":[513],"isButton":[516,"is-button"],"type":[1537],"value":[513],"density":[513],"hasSlotDefault":[32],"hasSlotStart":[32],"hasSlotEnd":[32],"selectedValue":[32],"setFocus":[64]},[[4,"checkedChange","handleRadioChange"],[4,"checkedChange","handleCheckboxChange"]]]]],["br-collapse_2.cjs",[[65,"br-list",{"header":[513],"isHorizontal":[516,"is-horizontal"],"customId":[513,"custom-id"],"hideHeaderDivider":[516,"hide-header-divider"],"collapse":[516],"accordion":[513]}],[65,"br-collapse",{"customId":[513,"custom-id"],"open":[1540],"accordionGroup":[1,"accordion-group"],"iconToShow":[1,"icon-to-show"],"iconToHide":[1,"icon-to-hide"],"iconPosition":[1,"icon-position"],"openCollapse":[64],"closeCollapse":[64]},[[4,"brDidOpen","handleOpen"]]]]]], options);
47
+ return index.bootstrapLazy([["br-select.cjs",[[65,"br-select",{"label":[513],"placeholder":[513],"isMultiple":[516,"is-multiple"],"options":[513],"selectAllLabel":[513,"select-all-label"],"unselectAllLabel":[513,"unselect-all-label"],"showSearchIcon":[516,"show-search-icon"],"isOpen":[516,"is-open"],"customId":[513,"custom-id"],"parsedOptions":[32],"inputValue":[32],"isAllSelected":[32],"isExpanded":[32],"focusedIndex":[32],"toggleOpen":[64]},null,{"options":["synchronizeSelect"]}]]],["br-breadcrumb.cjs",[[1,"br-breadcrumb",{"customId":[513,"custom-id"],"homeUrl":[1,"home-url"],"crumbs":[1],"showTooltip":[32],"tooltipPosition":[32],"tooltipText":[32],"isSmallScreen":[32],"isTruncate":[32],"larguraInterna":[32],"larguraPai":[32],"isFolderOpen":[32]}]]],["br-footer-category.cjs",[[1,"br-footer-category",{"customId":[513,"custom-id"],"label":[513],"isDesktop":[32],"accordionGroup":[32]}]]],["br-footer-social.cjs",[[1,"br-footer-social",{"customId":[513,"custom-id"],"icon":[513],"description":[513],"href":[513]}]]],["br-message.cjs",[[65,"br-message",{"messageTitle":[513,"message-title"],"customId":[513,"custom-id"],"message":[513],"isInline":[516,"is-inline"],"isClosable":[516,"is-closable"],"autoRemove":[516,"auto-remove"],"showIcon":[516,"show-icon"],"isFeedback":[516,"is-feedback"],"state":[513]}]]],["br-step-item.cjs",[[65,"br-step-item",{"label":[513],"highlight":[513],"active":[516],"disabled":[516],"brIconName":[513,"br-icon-name"],"brIconAria":[513,"br-icon-aria"],"showTimeLine":[32],"stepItemPositionStatus":[32],"stepLayout":[32],"labelPosition":[32],"contentType":[32],"mode":[32],"content":[32],"ariaLabelContent":[32],"setStepItemPositionStatus":[64],"handleShowTimeLine":[64],"setLabelPosition":[64],"setContentType":[64],"setMode":[64],"setContent":[64]},null,{"active":["watchItemIsActive"]}]]],["br-tag.cjs",[[65,"br-tag",{"label":[513],"iconName":[513,"icon-name"],"name":[513],"multiple":[516],"selected":[1540],"customId":[513,"custom-id"],"color":[513],"density":[513],"shape":[513],"status":[516],"interaction":[1540],"interactionSelect":[516,"interaction-select"],"disabled":[516],"selectedClassValue":[32]},[[4,"radioSelected","handleCheckedChange"]],{"interaction":["handleInteractionChange"],"interactionSelect":["handleInteractionSelectChange"],"selected":["handleSelectedChange"]}]]],["br-upload.cjs",[[65,"br-upload",{"accept":[1],"label":[1],"disabled":[516],"state":[513],"multiple":[4],"filesSelected":[32],"file":[32]}]]],["br-avatar.cjs",[[1,"br-avatar",{"density":[1025],"customId":[513,"custom-id"],"src":[1],"alt":[1],"isIconic":[4,"is-iconic"],"text":[1],"iconWidth":[1,"icon-width"],"iconHeight":[1,"icon-height"],"iconMarginTop":[1,"icon-margin-top"],"disabled":[4],"hasError":[32]},null,{"density":["handleDensityChange"]}]]],["br-checkgroup.cjs",[[65,"br-checkgroup",{"label":[1],"labelSelecionado":[513,"label-selecionado"],"labelDesselecionado":[513,"label-desselecionado"],"indeterminate":[516],"customId":[513,"custom-id"],"checked":[32],"isIndeterminate":[32]},[[4,"checkedChange","handleChange"]]]]],["br-footer-item.cjs",[[1,"br-footer-item",{"customId":[513,"custom-id"],"href":[513]}]]],["br-footer-legal.cjs",[[1,"br-footer-legal",{"customId":[513,"custom-id"]}]]],["br-tab-item.cjs",[[65,"br-tab-item",{"TabItemId":[513,"tab-item-id"],"icon":[513],"tabItemTitle":[513,"tab-item-title"],"onlyIcon":[516,"only-icon"],"isActive":[516,"is-active"],"counter":[513],"colorMode":[513,"color-mode"]}]]],["br-dropdown.cjs",[[65,"br-dropdown",{"isOpen":[1540,"is-open"],"customId":[513,"custom-id"],"open":[64],"hide":[64],"setFocus":[64]},null,{"isOpen":["isOpenChanged"]}]]],["br-footer.cjs",[[1,"br-footer",{"customId":[513,"custom-id"],"theme":[513],"socialNetworkTitle":[513,"social-network-title"]}]]],["br-footer-logo.cjs",[[1,"br-footer-logo",{"customId":[513,"custom-id"],"src":[513],"description":[513],"position":[513],"isPartner":[516,"is-partner"]}]]],["br-loading.cjs",[[65,"br-loading",{"isProgress":[516,"is-progress"],"customId":[513,"custom-id"],"progressPercent":[514,"progress-percent"],"isMedium":[516,"is-medium"],"label":[513]}]]],["br-scrim.cjs",[[65,"br-scrim",{"customId":[513,"custom-id"],"isOpen":[516,"is-open"],"positionContent":[1,"position-content"],"disableCloseOnClick":[4,"disable-close-on-click"],"zIndex":[2,"z-index"],"customBackground":[1,"custom-background"],"customOpacity":[2,"custom-opacity"],"displayMode":[1,"display-mode"],"scrollStrategy":[1,"scroll-strategy"],"scrollThreshold":[2,"scroll-threshold"],"activator":[1],"isActive":[32],"hasActivatorSlot":[32],"setScrollThreshold":[64],"open":[64],"close":[64],"toggle":[64]},null,{"isOpen":["handleOpenChange"],"zIndex":["updateStyles"],"customBackground":["updateStyles"],"customOpacity":["updateStyles"],"activator":["handleActivatorChange"]}]]],["br-step.cjs",[[65,"br-step",{"layout":[513],"initialStep":[513,"initial-step"],"labelPosition":[513,"label-position"],"contentType":[513,"content-type"],"mode":[513],"progressionType":[513,"progression-type"],"activeStep":[32],"stepItems":[32],"ProceedToNextStep":[64],"BackToPreviousStep":[64],"StepValidation":[64],"GetActiveStep":[64]},[[2,"click","handleClick"]]]]],["br-switch.cjs",[[65,"br-switch",{"disabled":[516],"checked":[1540],"customId":[513,"custom-id"],"label":[1],"labelPosition":[513,"label-position"],"labelOn":[513,"label-on"],"labelOff":[513,"label-off"],"hasIcon":[516,"has-icon"],"name":[513],"value":[513],"density":[513],"_slotDefault":[32],"toggleChecked":[64]}]]],["br-tab.cjs",[[65,"br-tab",{"density":[513],"colorMode":[513,"color-mode"],"activeTab":[32],"tabItems":[32],"tabContent":[32]},null,{"activeTab":["activeTabChanged"]}]]],["br-table.cjs",[[1,"br-table",{"customId":[513,"custom-id"]}]]],["br-table-cell.cjs",[[1,"br-table-cell",{"customId":[513,"custom-id"],"hasVerticalBorder":[516,"has-vertical-border"],"horizontalAlign":[513,"horizontal-align"]},[[4,"brHorizontalAlignDidChange","handleHorizontalAlignDidChange"]],{"horizontalAlign":["handleHorizontalAlignChange"]}]]],["br-table-header-cell.cjs",[[1,"br-table-header-cell",{"customId":[513,"custom-id"],"hasVerticalBorder":[516,"has-vertical-border"],"horizontalAlign":[513,"horizontal-align"]},null,{"horizontalAlign":["handleHorizontalAlignChange"]}]]],["br-table-header-row.cjs",[[1,"br-table-header-row",{"customId":[513,"custom-id"]}]]],["br-table-row.cjs",[[1,"br-table-row",{"customId":[513,"custom-id"]}]]],["br-textarea.cjs",[[65,"br-textarea",{"value":[1537],"label":[513],"placeholder":[513],"customId":[513,"custom-id"],"disabled":[516],"maxlength":[514],"showCounter":[516,"show-counter"],"state":[513],"density":[513],"isInline":[516,"is-inline"],"currentLength":[32],"setValue":[64]},null,{"value":["valueChanged"]}]]],["br-divider.cjs",[[1,"br-divider",{"customId":[513,"custom-id"],"orientation":[513],"thickness":[513],"borderStyle":[513,"border-style"],"isDarkMode":[516,"is-dark-mode"],"color":[513],"align":[1],"bleed":[4],"slotDefault":[32]},null,{"color":["updateColor"]}]]],["br-button_2.cjs",[[65,"br-button",{"colorMode":[513,"color-mode"],"customId":[513,"custom-id"],"density":[513],"disabled":[516],"emphasis":[513],"isActive":[516,"is-active"],"isLoading":[516,"is-loading"],"shape":[513],"type":[513],"value":[513],"ariaLabel":[513,"aria-label"],"ariaPressed":[513,"aria-pressed"]}],[1,"br-icon",{"iconName":[513,"icon-name"],"height":[513],"customId":[513,"custom-id"],"width":[513],"cssClasses":[513,"css-classes"],"isInline":[516,"is-inline"],"rotate":[513],"flip":[513],"isFocusable":[516,"is-focusable"]}]]],["br-input_2.cjs",[[65,"br-input",{"type":[513],"autocomplete":[513],"density":[513],"disabled":[516],"isInline":[516,"is-inline"],"isHighlight":[516,"is-highlight"],"state":[513],"label":[513],"customId":[513,"custom-id"],"name":[513],"placeholder":[513],"readonly":[516],"required":[516],"value":[1537],"helpText":[513,"help-text"],"autocorrect":[513],"min":[514],"max":[514],"minlength":[514],"maxlength":[514],"multiple":[516],"pattern":[513],"step":[514],"actionLabel":[513,"action-label"],"isPasswordVisible":[32],"internalState":[32],"hasIconSlot":[32],"hasActionSlot":[32],"hasFeedbackSlot":[32]}],[65,"br-radio",{"checked":[1540],"disabled":[516],"state":[513],"hasHiddenLabel":[516,"has-hidden-label"],"customId":[513,"custom-id"],"name":[513],"label":[513],"value":[513],"toggleChecked":[64]},[[8,"checkedChange","handleCheckedChange"],[0,"keydown","handleKeyDown"]]]]],["br-checkbox.cjs",[[65,"br-checkbox",{"indeterminate":[1540],"checked":[1540],"customId":[513,"custom-id"],"disabled":[516],"hasHiddenLabel":[516,"has-hidden-label"],"label":[513],"name":[513],"state":[513],"value":[513],"slotDefault":[32],"setIndeterminate":[64],"toggleChecked":[64]},null,{"indeterminate":["updateIndeterminate"]}]]],["br-item.cjs",[[65,"br-item",{"disabled":[516],"customId":[513,"custom-id"],"isActive":[516,"is-active"],"isSelected":[516,"is-selected"],"isInteractive":[516,"is-interactive"],"href":[513],"target":[513],"isButton":[516,"is-button"],"type":[1537],"value":[513],"density":[513],"hasSlotDefault":[32],"hasSlotStart":[32],"hasSlotEnd":[32],"selectedValue":[32],"setFocus":[64]},[[4,"checkedChange","handleRadioChange"],[4,"checkedChange","handleCheckboxChange"]]]]],["br-collapse_2.cjs",[[65,"br-list",{"header":[513],"isHorizontal":[516,"is-horizontal"],"customId":[513,"custom-id"],"hideHeaderDivider":[516,"hide-header-divider"],"collapse":[516],"accordion":[513]}],[65,"br-collapse",{"customId":[513,"custom-id"],"open":[1540],"accordionGroup":[1,"accordion-group"],"iconToShow":[1,"icon-to-show"],"iconToHide":[1,"icon-to-hide"],"iconPosition":[1,"icon-position"],"openCollapse":[64],"closeCollapse":[64]},[[4,"brDidOpen","handleOpen"]]]]]], options);
48
48
  });
49
49
 
50
50
  exports.setNonce = index.setNonce;
@@ -66,6 +66,20 @@ export class Button {
66
66
  * Define o valor inicial do botão em um formulário.
67
67
  */
68
68
  value;
69
+ /**
70
+ * Define o rótulo acessível do botão.
71
+ * Este rótulo é usado por tecnologias assistivas para descrever a função do botão.
72
+ * É especialmente importante para botões com formato circular, onde o texto pode não ser visível.
73
+ * Se o botão não tiver um rótulo acessível, uma mensagem de aviso será exibida no console.
74
+ */
75
+ ariaLabel;
76
+ /**
77
+ * Define o estado de pressionado do botão.
78
+ * Este atributo é usado para indicar se o botão está atualmente pressionado ou não.
79
+ * É especialmente útil para botões que podem ser alternados entre os estados pressionado e não pressionado.
80
+ * O valor deve ser 'true' ou 'false'.
81
+ */
82
+ ariaPressed;
69
83
  handleClick = () => {
70
84
  if (this.type === 'submit') {
71
85
  const submitEvent = new SubmitEvent('submit', {
@@ -82,7 +96,7 @@ export class Button {
82
96
  };
83
97
  componentDidLoad() {
84
98
  const ariaLabelValue = this.el.getAttribute('aria-label');
85
- if (!ariaLabelValue || ariaLabelValue.trim() === '') {
99
+ if (ariaLabelValue === null || ariaLabelValue === undefined || ariaLabelValue.trim() === '') {
86
100
  console.warn('[br-button]: Botões circulares devem conter um aria-label.');
87
101
  }
88
102
  }
@@ -101,7 +115,7 @@ export class Button {
101
115
  };
102
116
  }
103
117
  render() {
104
- return (h(Host, { key: '87611f126b92c63a2333bdee46eed54c4b9a831d', "aria-disabled": this.disabled ? 'true' : null }, h("button", { key: '28889c9e74c2bf43667278898a860282582a04fb', "aria-label": this.shape === 'circle' ? this.el.getAttribute('aria-label') : null, class: this.getCssClassMap(), type: this.type, id: this.customId, disabled: this.disabled, value: this.value, onClick: this.handleClick }, h("slot", { key: 'acc285d2c24c261621da097c5f69dcbb4ecb15cf' }))));
118
+ return (h(Host, { key: '130f5a55bdd813a7fd11b66263f2133650cf67e4', "aria-disabled": this.disabled ? 'true' : null, role: "button" }, h("button", { key: '324ec22f391ff95a252308a27be24fb767e5fe13', "aria-label": this.shape === 'circle' ? this.ariaLabel : null, "aria-pressed": this.ariaPressed, class: this.getCssClassMap(), type: this.type, id: this.customId, disabled: this.disabled, value: this.value, onClick: this.handleClick }, h("slot", { key: 'a7da6f00d15d37707f18bc885676213c097a8de1' }))));
105
119
  }
106
120
  static get is() { return "br-button"; }
107
121
  static get encapsulation() { return "shadow"; }
@@ -312,6 +326,44 @@ export class Button {
312
326
  "setter": false,
313
327
  "attribute": "value",
314
328
  "reflect": true
329
+ },
330
+ "ariaLabel": {
331
+ "type": "string",
332
+ "mutable": false,
333
+ "complexType": {
334
+ "original": "string",
335
+ "resolved": "string",
336
+ "references": {}
337
+ },
338
+ "required": false,
339
+ "optional": false,
340
+ "docs": {
341
+ "tags": [],
342
+ "text": "Define o r\u00F3tulo acess\u00EDvel do bot\u00E3o.\nEste r\u00F3tulo \u00E9 usado por tecnologias assistivas para descrever a fun\u00E7\u00E3o do bot\u00E3o.\n\u00C9 especialmente importante para bot\u00F5es com formato circular, onde o texto pode n\u00E3o ser vis\u00EDvel.\nSe o bot\u00E3o n\u00E3o tiver um r\u00F3tulo acess\u00EDvel, uma mensagem de aviso ser\u00E1 exibida no console."
343
+ },
344
+ "getter": false,
345
+ "setter": false,
346
+ "attribute": "aria-label",
347
+ "reflect": true
348
+ },
349
+ "ariaPressed": {
350
+ "type": "string",
351
+ "mutable": false,
352
+ "complexType": {
353
+ "original": "string",
354
+ "resolved": "string",
355
+ "references": {}
356
+ },
357
+ "required": false,
358
+ "optional": false,
359
+ "docs": {
360
+ "tags": [],
361
+ "text": "Define o estado de pressionado do bot\u00E3o.\nEste atributo \u00E9 usado para indicar se o bot\u00E3o est\u00E1 atualmente pressionado ou n\u00E3o.\n\u00C9 especialmente \u00FAtil para bot\u00F5es que podem ser alternados entre os estados pressionado e n\u00E3o pressionado.\nO valor deve ser 'true' ou 'false'."
362
+ },
363
+ "getter": false,
364
+ "setter": false,
365
+ "attribute": "aria-pressed",
366
+ "reflect": true
315
367
  }
316
368
  };
317
369
  }
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../../../packages/webcomponents/src/components/button/button.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, h, Host, Prop } from '@stencil/core'\n\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/button?tab=designer).\n *\n * @slot default - Espaço de conteúdo do button. Geralmente usado para incluir o rótulo.\n */\n@Component({\n tag: 'br-button',\n styleUrl: 'button.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Button {\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: HTMLBrButtonElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define se o botão usará um esquema de cores escuro.\n */\n @Prop({ reflect: true }) readonly colorMode: 'dark'\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-button-${buttonId++}`\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Desativa o botão, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Define a ênfase do botão, alterando sua aparência para criar hierarquia visual e destacar ações importantes.\n */\n @Prop({ reflect: true }) readonly emphasis: 'primary' | 'secondary' | 'tertiary'\n\n /**\n * Indica se o botão está no estado ativo.\n * Se definido como verdadeiro, o botão será exibido como ativo.\n */\n @Prop({ reflect: true }) readonly isActive: boolean = false\n\n /**\n * Aplica o estado de \"progresso\" ao botão.\n * O botão exibirá um indicador de carregamento ou progresso.\n */\n @Prop({ reflect: true }) readonly isLoading: boolean = false\n\n /**\n * Define o formato do botão.\n * Valores possíveis:\n * - 'circle': Botão com formato circular.\n * - 'block': Botão com formato ovalado ocupando toda a largura disponível.\n * - 'pill': Botão com formato ovalado, com bordas arredondadas.\n */\n @Prop({ reflect: true }) readonly shape: 'circle' | 'block' | 'pill'\n\n /**\n * Define o tipo de botão, especificando seu comportamento padrão.\n * Valores possíveis:\n * - 'button': Um botão padrão.\n * - 'reset': Um botão para redefinir o formulário.\n * - 'submit': Um botão para enviar o formulário.\n */\n @Prop({ reflect: true }) readonly type: 'button' | 'reset' | 'submit'\n\n /**\n * Define o valor inicial do botão em um formulário.\n */\n @Prop({ reflect: true }) readonly value: string\n private readonly handleClick = () => {\n if (this.type === 'submit') {\n const submitEvent = new SubmitEvent('submit', {\n submitter: this.elementInternals.form,\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n this.elementInternals.form.dispatchEvent(submitEvent)\n }\n\n if (this.type === 'reset') {\n this.elementInternals.form.reset()\n }\n }\n\n componentDidLoad() {\n const ariaLabelValue = this.el.getAttribute('aria-label')\n if (!ariaLabelValue || ariaLabelValue.trim() === '') {\n console.warn('[br-button]: Botões circulares devem conter um aria-label.')\n }\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-button': true,\n primary: this.emphasis === 'primary',\n secondary: this.emphasis === 'secondary',\n large: this.density === 'large',\n small: this.density === 'small',\n block: this.shape === 'block',\n circle: this.shape === 'circle',\n active: this.isActive,\n loading: this.isLoading,\n 'dark-mode': this.colorMode === 'dark',\n }\n }\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null}>\n <button\n aria-label={this.shape === 'circle' ? this.el.getAttribute('aria-label') : null}\n class={this.getCssClassMap()}\n type={this.type}\n id={this.customId}\n disabled={this.disabled}\n value={this.value}\n onClick={this.handleClick}\n >\n <slot></slot>\n </button>\n </Host>\n )\n }\n}\n\nlet buttonId = 0\n"]}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../../../packages/webcomponents/src/components/button/button.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Component, Element, h, Host, Prop } from '@stencil/core'\n\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/button?tab=designer).\n *\n * @slot default - Espaço de conteúdo do button. Geralmente usado para incluir o rótulo.\n */\n@Component({\n tag: 'br-button',\n styleUrl: 'button.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Button {\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: HTMLBrButtonElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define se o botão usará um esquema de cores escuro.\n */\n @Prop({ reflect: true }) readonly colorMode: 'dark'\n\n /**\n * Identificador único.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) readonly customId: string = `br-button-${buttonId++}`\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) readonly density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Desativa o botão, tornando-o não interativo.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false\n\n /**\n * Define a ênfase do botão, alterando sua aparência para criar hierarquia visual e destacar ações importantes.\n */\n @Prop({ reflect: true }) readonly emphasis: 'primary' | 'secondary' | 'tertiary'\n\n /**\n * Indica se o botão está no estado ativo.\n * Se definido como verdadeiro, o botão será exibido como ativo.\n */\n @Prop({ reflect: true }) readonly isActive: boolean = false\n\n /**\n * Aplica o estado de \"progresso\" ao botão.\n * O botão exibirá um indicador de carregamento ou progresso.\n */\n @Prop({ reflect: true }) readonly isLoading: boolean = false\n\n /**\n * Define o formato do botão.\n * Valores possíveis:\n * - 'circle': Botão com formato circular.\n * - 'block': Botão com formato ovalado ocupando toda a largura disponível.\n * - 'pill': Botão com formato ovalado, com bordas arredondadas.\n */\n @Prop({ reflect: true }) readonly shape: 'circle' | 'block' | 'pill'\n\n /**\n * Define o tipo de botão, especificando seu comportamento padrão.\n * Valores possíveis:\n * - 'button': Um botão padrão.\n * - 'reset': Um botão para redefinir o formulário.\n * - 'submit': Um botão para enviar o formulário.\n */\n @Prop({ reflect: true }) readonly type: 'button' | 'reset' | 'submit'\n\n /**\n * Define o valor inicial do botão em um formulário.\n */\n @Prop({ reflect: true }) readonly value: string\n\n /**\n * Define o rótulo acessível do botão.\n * Este rótulo é usado por tecnologias assistivas para descrever a função do botão.\n * É especialmente importante para botões com formato circular, onde o texto pode não ser visível.\n * Se o botão não tiver um rótulo acessível, uma mensagem de aviso será exibida no console.\n */\n @Prop({ reflect: true }) readonly ariaLabel: string\n\n /**\n * Define o estado de pressionado do botão.\n * Este atributo é usado para indicar se o botão está atualmente pressionado ou não.\n * É especialmente útil para botões que podem ser alternados entre os estados pressionado e não pressionado.\n * O valor deve ser 'true' ou 'false'.\n */\n @Prop({ reflect: true }) readonly ariaPressed: string\n\n private readonly handleClick = () => {\n if (this.type === 'submit') {\n const submitEvent = new SubmitEvent('submit', {\n submitter: this.elementInternals.form,\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n this.elementInternals.form.dispatchEvent(submitEvent)\n }\n\n if (this.type === 'reset') {\n this.elementInternals.form.reset()\n }\n }\n\n componentDidLoad() {\n const ariaLabelValue = this.el.getAttribute('aria-label')\n if (ariaLabelValue === null || ariaLabelValue === undefined || ariaLabelValue.trim() === '') {\n console.warn('[br-button]: Botões circulares devem conter um aria-label.')\n }\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-button': true,\n primary: this.emphasis === 'primary',\n secondary: this.emphasis === 'secondary',\n large: this.density === 'large',\n small: this.density === 'small',\n block: this.shape === 'block',\n circle: this.shape === 'circle',\n active: this.isActive,\n loading: this.isLoading,\n 'dark-mode': this.colorMode === 'dark',\n }\n }\n\n render() {\n return (\n <Host aria-disabled={this.disabled ? 'true' : null} role=\"button\">\n <button\n aria-label={this.shape === 'circle' ? this.ariaLabel : null}\n aria-pressed={this.ariaPressed}\n class={this.getCssClassMap()}\n type={this.type}\n id={this.customId}\n disabled={this.disabled}\n value={this.value}\n onClick={this.handleClick}\n >\n <slot></slot>\n </button>\n </Host>\n )\n }\n}\n\nlet buttonId = 0\n"]}