@govbr-ds/webcomponents 2.0.0-next.41 → 2.0.0-next.43

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 (161) hide show
  1. package/dist/cjs/br-breadcrumb.cjs.entry.js +1 -1
  2. package/dist/cjs/br-breadcrumb.cjs.entry.js.map +1 -1
  3. package/dist/cjs/br-breadcrumb.entry.cjs.js.map +1 -1
  4. package/dist/cjs/br-button.br-icon.entry.cjs.js.map +1 -1
  5. package/dist/cjs/br-button_2.cjs.entry.js +22 -3
  6. package/dist/cjs/br-button_2.cjs.entry.js.map +1 -1
  7. package/dist/cjs/br-collapse.br-list.entry.cjs.js.map +1 -1
  8. package/dist/cjs/br-collapse_2.cjs.entry.js +2 -2
  9. package/dist/cjs/br-collapse_2.cjs.entry.js.map +1 -1
  10. package/dist/cjs/br-dropdown.cjs.entry.js +324 -10
  11. package/dist/cjs/br-dropdown.cjs.entry.js.map +1 -1
  12. package/dist/cjs/br-dropdown.entry.cjs.js.map +1 -1
  13. package/dist/cjs/br-footer.cjs.entry.js +1 -1
  14. package/dist/cjs/br-footer.cjs.entry.js.map +1 -1
  15. package/dist/cjs/br-footer.entry.cjs.js.map +1 -1
  16. package/dist/cjs/br-item.cjs.entry.js +1 -1
  17. package/dist/cjs/br-item.cjs.entry.js.map +1 -1
  18. package/dist/cjs/br-item.entry.cjs.js.map +1 -1
  19. package/dist/cjs/br-scrim.cjs.entry.js +1 -1
  20. package/dist/cjs/br-scrim.cjs.entry.js.map +1 -1
  21. package/dist/cjs/br-scrim.entry.cjs.js.map +1 -1
  22. package/dist/cjs/br-tooltip.cjs.entry.js +2187 -0
  23. package/dist/cjs/br-tooltip.cjs.entry.js.map +1 -0
  24. package/dist/cjs/br-tooltip.entry.cjs.js.map +1 -0
  25. package/dist/cjs/br-upload.cjs.entry.js +1 -1
  26. package/dist/cjs/index-DAOr34NM.js +4 -0
  27. package/dist/cjs/loader.cjs.js +1 -1
  28. package/dist/cjs/webcomponents.cjs.js +1 -1
  29. package/dist/collection/collection-manifest.json +1 -0
  30. package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
  31. package/dist/collection/components/button/button.js +2 -1
  32. package/dist/collection/components/button/button.js.map +1 -1
  33. package/dist/collection/components/dropdown/dropdown.css +1 -1
  34. package/dist/collection/components/dropdown/dropdown.js +346 -9
  35. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  36. package/dist/collection/components/footer/footer.css +1 -1
  37. package/dist/collection/components/icon/icon.css +1 -1
  38. package/dist/collection/components/icon/icon.js +40 -1
  39. package/dist/collection/components/icon/icon.js.map +1 -1
  40. package/dist/collection/components/item/item.css +1 -1
  41. package/dist/collection/components/list/list.css +1 -1
  42. package/dist/collection/components/list/list.js +1 -1
  43. package/dist/collection/components/list/list.js.map +1 -1
  44. package/dist/collection/components/scrim/scrim.css +1 -1
  45. package/dist/collection/components/step-item/step-item.js +1 -1
  46. package/dist/collection/components/tooltip/tooltip.css +1 -0
  47. package/dist/collection/components/tooltip/tooltip.js +683 -0
  48. package/dist/collection/components/tooltip/tooltip.js.map +1 -0
  49. package/dist/collection/components/upload/upload.js +1 -1
  50. package/dist/collection/pages/components/tooltip/index.js +18 -0
  51. package/dist/collection/pages/scripts/menu.js +14 -1
  52. package/dist/collection/utils/floating-ui.js +119 -0
  53. package/dist/collection/utils/floating-ui.js.map +1 -0
  54. package/dist/components/br-avatar.js +1 -1
  55. package/dist/components/br-breadcrumb.js +6 -6
  56. package/dist/components/br-button.js +3 -3
  57. package/dist/components/br-collapse.js +4 -4
  58. package/dist/components/br-dropdown.js +332 -25
  59. package/dist/components/br-dropdown.js.map +1 -1
  60. package/dist/components/br-footer-category.js +3 -3
  61. package/dist/components/br-footer-item.js +1 -1
  62. package/dist/components/br-footer-social.js +2 -2
  63. package/dist/components/br-footer.js +1 -1
  64. package/dist/components/br-icon.js +4 -4
  65. package/dist/components/br-input.js +4 -4
  66. package/dist/components/br-item.js +4 -4
  67. package/dist/components/br-list.js +1 -1
  68. package/dist/components/br-message.js +2 -2
  69. package/dist/components/br-scrim.js +1 -1
  70. package/dist/components/br-scrim.js.map +1 -1
  71. package/dist/components/br-select.js +5 -5
  72. package/dist/components/br-step-item.js +2 -2
  73. package/dist/components/br-tab-item.js +1 -1
  74. package/dist/components/br-tag.js +7 -7
  75. package/dist/components/br-tooltip.d.ts +11 -0
  76. package/dist/components/br-tooltip.js +2144 -0
  77. package/dist/components/br-tooltip.js.map +1 -0
  78. package/dist/components/br-upload.js +11 -11
  79. package/dist/components/index.d.ts +2 -0
  80. package/dist/components/index.js +2 -0
  81. package/dist/components/{p-pq3SZemh.js → p-CIINlcIu.js} +3 -3
  82. package/dist/components/{p-brOPUYUL.js → p-DJtFpYiN.js} +3 -3
  83. package/dist/components/p-DJtFpYiN.js.map +1 -0
  84. package/dist/components/{p-DlMJ2wZW.js → p-DLL8l_-5.js} +7 -7
  85. package/dist/components/{p-DlMJ2wZW.js.map → p-DLL8l_-5.js.map} +1 -1
  86. package/dist/components/{p-BxU9TOn1.js → p-DuPFr2fm.js} +4 -4
  87. package/dist/components/{p-COPEUBKR.js → p-Dxc2AzjS.js} +6 -5
  88. package/dist/components/p-Dxc2AzjS.js.map +1 -0
  89. package/dist/components/{p-jx7aLpDh.js → p-vi3ehOfu.js} +40 -23
  90. package/dist/components/p-vi3ehOfu.js.map +1 -0
  91. package/dist/custom-docs/markdown-methods.js +2 -0
  92. package/dist/custom-docs/markdown-methods.js.map +1 -1
  93. package/dist/custom-elements.json +745 -76
  94. package/dist/esm/br-breadcrumb.entry.js +1 -1
  95. package/dist/esm/br-breadcrumb.entry.js.map +1 -1
  96. package/dist/esm/br-button.br-icon.entry.js.map +1 -1
  97. package/dist/esm/br-button_2.entry.js +22 -3
  98. package/dist/esm/br-button_2.entry.js.map +1 -1
  99. package/dist/esm/br-collapse.br-list.entry.js.map +1 -1
  100. package/dist/esm/br-collapse_2.entry.js +2 -2
  101. package/dist/esm/br-collapse_2.entry.js.map +1 -1
  102. package/dist/esm/br-dropdown.entry.js +324 -10
  103. package/dist/esm/br-dropdown.entry.js.map +1 -1
  104. package/dist/esm/br-footer.entry.js +1 -1
  105. package/dist/esm/br-footer.entry.js.map +1 -1
  106. package/dist/esm/br-item.entry.js +1 -1
  107. package/dist/esm/br-item.entry.js.map +1 -1
  108. package/dist/esm/br-scrim.entry.js +1 -1
  109. package/dist/esm/br-scrim.entry.js.map +1 -1
  110. package/dist/esm/br-tooltip.entry.js +2185 -0
  111. package/dist/esm/br-tooltip.entry.js.map +1 -0
  112. package/dist/esm/br-upload.entry.js +1 -1
  113. package/dist/esm/index-ClsF4De3.js +4 -0
  114. package/dist/esm/loader.js +1 -1
  115. package/dist/esm/webcomponents.js +1 -1
  116. package/dist/hydrate/index.js +2558 -23
  117. package/dist/hydrate/index.mjs +2558 -23
  118. package/dist/types/components/button/button.d.ts +1 -0
  119. package/dist/types/components/dropdown/dropdown.d.ts +48 -1
  120. package/dist/types/components/icon/icon.d.ts +7 -0
  121. package/dist/types/components/tooltip/tooltip.d.ts +238 -0
  122. package/dist/types/components.d.ts +139 -0
  123. package/dist/types/utils/floating-ui.d.ts +78 -0
  124. package/dist/webcomponents/br-breadcrumb.entry.esm.js.map +1 -1
  125. package/dist/webcomponents/br-button.br-icon.entry.esm.js.map +1 -1
  126. package/dist/webcomponents/br-collapse.br-list.entry.esm.js.map +1 -1
  127. package/dist/webcomponents/br-dropdown.entry.esm.js.map +1 -1
  128. package/dist/webcomponents/br-footer.entry.esm.js.map +1 -1
  129. package/dist/webcomponents/br-item.entry.esm.js.map +1 -1
  130. package/dist/webcomponents/br-scrim.entry.esm.js.map +1 -1
  131. package/dist/webcomponents/br-tooltip.entry.esm.js.map +1 -0
  132. package/dist/webcomponents/{p-c3267481.entry.js → p-3d5600cb.entry.js} +2 -2
  133. package/dist/webcomponents/p-3d5600cb.entry.js.map +1 -0
  134. package/dist/webcomponents/{p-713035b5.entry.js → p-5c638bff.entry.js} +4 -4
  135. package/dist/webcomponents/{p-713035b5.entry.js.map → p-5c638bff.entry.js.map} +1 -1
  136. package/dist/webcomponents/{p-5a36e6be.entry.js → p-83fd1103.entry.js} +2 -2
  137. package/dist/webcomponents/{p-ab251560.entry.js → p-8ac9dcff.entry.js} +329 -23
  138. package/dist/webcomponents/p-8ac9dcff.entry.js.map +1 -0
  139. package/dist/webcomponents/{p-dbfc2a44.entry.js → p-c25d500c.entry.js} +2 -2
  140. package/dist/webcomponents/p-c25d500c.entry.js.map +1 -0
  141. package/dist/webcomponents/{p-383a4240.entry.js → p-d01d51a9.entry.js} +27 -10
  142. package/dist/webcomponents/p-d01d51a9.entry.js.map +1 -0
  143. package/dist/webcomponents/{p-1cf7cc9c.entry.js → p-d1bc7827.entry.js} +2 -2
  144. package/dist/webcomponents/p-e15ccd94.entry.js +2098 -0
  145. package/dist/webcomponents/p-e15ccd94.entry.js.map +1 -0
  146. package/dist/webcomponents/{p-ad8edd59.entry.js → p-f3ab9e06.entry.js} +10 -10
  147. package/dist/webcomponents/webcomponents.esm.js +24 -10
  148. package/dist/webcomponents.html-custom-data.json +18 -2
  149. package/package.json +1 -1
  150. package/dist/components/p-COPEUBKR.js.map +0 -1
  151. package/dist/components/p-brOPUYUL.js.map +0 -1
  152. package/dist/components/p-jx7aLpDh.js.map +0 -1
  153. package/dist/webcomponents/p-383a4240.entry.js.map +0 -1
  154. package/dist/webcomponents/p-ab251560.entry.js.map +0 -1
  155. package/dist/webcomponents/p-c3267481.entry.js.map +0 -1
  156. package/dist/webcomponents/p-dbfc2a44.entry.js.map +0 -1
  157. /package/dist/components/{p-pq3SZemh.js.map → p-CIINlcIu.js.map} +0 -0
  158. /package/dist/components/{p-BxU9TOn1.js.map → p-DuPFr2fm.js.map} +0 -0
  159. /package/dist/webcomponents/{p-5a36e6be.entry.js.map → p-83fd1103.entry.js.map} +0 -0
  160. /package/dist/webcomponents/{p-1cf7cc9c.entry.js.map → p-d1bc7827.entry.js.map} +0 -0
  161. /package/dist/webcomponents/{p-ad8edd59.entry.js.map → p-f3ab9e06.entry.js.map} +0 -0
@@ -868,6 +868,10 @@
868
868
  }
869
869
  ],
870
870
  "tagName": "br-button",
871
+ "csspart": {
872
+ "name": "slot-content",
873
+ "description": "Espaço de conteúdo do botão. Geralmente usado para incluir o rótulo."
874
+ },
871
875
  "events": [],
872
876
  "customElement": true
873
877
  }
@@ -1892,11 +1896,130 @@
1892
1896
  "default": "`br-dropdown-${dropdownId++}`",
1893
1897
  "description": "Identificador único.\nCaso não seja fornecido, um ID gerado automaticamente será usado."
1894
1898
  },
1899
+ {
1900
+ "kind": "field",
1901
+ "name": "triggerElement",
1902
+ "type": {
1903
+ "text": "HTMLElement"
1904
+ },
1905
+ "privacy": "private"
1906
+ },
1907
+ {
1908
+ "kind": "field",
1909
+ "name": "targetElement",
1910
+ "type": {
1911
+ "text": "HTMLElement | null"
1912
+ },
1913
+ "privacy": "private",
1914
+ "default": "null"
1915
+ },
1916
+ {
1917
+ "kind": "field",
1918
+ "name": "dropdownItems",
1919
+ "type": {
1920
+ "text": "HTMLElement[]"
1921
+ },
1922
+ "privacy": "private",
1923
+ "default": "[]"
1924
+ },
1925
+ {
1926
+ "kind": "field",
1927
+ "name": "dropdownLinks",
1928
+ "type": {
1929
+ "text": "HTMLElement[]"
1930
+ },
1931
+ "privacy": "private",
1932
+ "default": "[]"
1933
+ },
1934
+ {
1935
+ "kind": "field",
1936
+ "name": "focusableElement",
1937
+ "type": {
1938
+ "text": "HTMLElement | null | undefined"
1939
+ },
1940
+ "privacy": "private",
1941
+ "default": "null"
1942
+ },
1943
+ {
1944
+ "kind": "field",
1945
+ "name": "clickHandler",
1946
+ "type": {
1947
+ "text": "(event: MouseEvent) => void"
1948
+ },
1949
+ "privacy": "private"
1950
+ },
1951
+ {
1952
+ "kind": "field",
1953
+ "name": "triggerKeydownHandler",
1954
+ "type": {
1955
+ "text": "(event: KeyboardEvent) => void"
1956
+ },
1957
+ "privacy": "private"
1958
+ },
1959
+ {
1960
+ "kind": "field",
1961
+ "name": "targetKeydownHandler",
1962
+ "type": {
1963
+ "text": "(event: KeyboardEvent) => void"
1964
+ },
1965
+ "privacy": "private"
1966
+ },
1895
1967
  {
1896
1968
  "kind": "method",
1897
1969
  "name": "isOpenChanged",
1970
+ "parameters": [
1971
+ {
1972
+ "name": "newValue",
1973
+ "type": {
1974
+ "text": "boolean"
1975
+ }
1976
+ }
1977
+ ],
1898
1978
  "description": "Método chamado sempre que a propriedade `isOpen` muda.\nEmite um evento com o novo estado do dropdown."
1899
1979
  },
1980
+ {
1981
+ "kind": "method",
1982
+ "name": "clearDropdownItemListeners",
1983
+ "privacy": "private"
1984
+ },
1985
+ {
1986
+ "kind": "method",
1987
+ "name": "setBehavior",
1988
+ "privacy": "private",
1989
+ "description": "Configura os comportamentos de interação do dropdown"
1990
+ },
1991
+ {
1992
+ "kind": "method",
1993
+ "name": "handleTriggerBehavior",
1994
+ "privacy": "private",
1995
+ "parameters": [
1996
+ {
1997
+ "name": "event",
1998
+ "type": {
1999
+ "text": "Event"
2000
+ }
2001
+ }
2002
+ ],
2003
+ "description": "Lida com o comportamento no trigger"
2004
+ },
2005
+ {
2006
+ "kind": "method",
2007
+ "name": "initializeDropdownItems",
2008
+ "privacy": "private",
2009
+ "description": "Inicializa os itens do dropdown com comportamentos de navegação com teclado,\nseparando claramente entre elementos navegáveis por Tab e elementos navegáveis por setas"
2010
+ },
2011
+ {
2012
+ "kind": "field",
2013
+ "name": "handleLinkKeydown",
2014
+ "privacy": "private",
2015
+ "description": "Handler específico para links"
2016
+ },
2017
+ {
2018
+ "kind": "field",
2019
+ "name": "handleItemKeydown",
2020
+ "privacy": "private",
2021
+ "description": "Handler para eventos de keydown nos itens não-link\nImplementa navegação completa por setas, Tab não navega entre estes itens"
2022
+ },
1900
2023
  {
1901
2024
  "kind": "method",
1902
2025
  "name": "getCssClassMap",
@@ -1948,6 +2071,32 @@
1948
2071
  },
1949
2072
  "description": "Esconde o dropdown.\nDefine a propriedade `isOpen` como falsa e retorna o novo estado.\nEste método é marcado com @Method() para que possa ser chamado externamente."
1950
2073
  },
2074
+ {
2075
+ "kind": "method",
2076
+ "name": "focusOnElement",
2077
+ "privacy": "private",
2078
+ "parameters": [
2079
+ {
2080
+ "name": "targetElement",
2081
+ "type": {
2082
+ "text": "HTMLElement"
2083
+ },
2084
+ "description": "Elemento a receber o foco"
2085
+ }
2086
+ ],
2087
+ "description": "Foca em um elemento específico com suporte a componentes personalizados"
2088
+ },
2089
+ {
2090
+ "kind": "method",
2091
+ "name": "focusOnTriggerElement",
2092
+ "privacy": "private",
2093
+ "description": "Foca no elemento interativo dentro do slot trigger\nEsta função procura pelo elemento dentro do slot trigger e aplica o foco nele"
2094
+ },
2095
+ {
2096
+ "kind": "method",
2097
+ "name": "setFocus",
2098
+ "description": "Define o foco no elemento interno do componente.\nEste método pode ser chamado externamente para garantir que o foco seja aplicado ao elemento correto."
2099
+ },
1951
2100
  {
1952
2101
  "kind": "method",
1953
2102
  "name": "render"
@@ -2850,6 +2999,15 @@
2850
2999
  },
2851
3000
  "description": "Define o tipo de espelhamento do ícone.\nAceita valores como \"horizontal\" para espelhar o ícone horizontalmente, \"vertical\" para espelhar verticalmente, ou ambos."
2852
3001
  },
3002
+ {
3003
+ "kind": "field",
3004
+ "name": "isFocusable",
3005
+ "type": {
3006
+ "text": "boolean | undefined"
3007
+ },
3008
+ "default": "false",
3009
+ "description": "Determina se o ícone pode receber foco.\nSe definido como verdadeiro, o ícone pode ser navegado usando Tab.\nO valor padrão é `false`."
3010
+ },
2853
3011
  {
2854
3012
  "kind": "method",
2855
3013
  "name": "render"
@@ -2911,6 +3069,13 @@
2911
3069
  "type": {
2912
3070
  "text": "'horizontal' | 'vertical'"
2913
3071
  }
3072
+ },
3073
+ {
3074
+ "name": "is-focusable",
3075
+ "fieldName": "isFocusable",
3076
+ "type": {
3077
+ "text": "boolean"
3078
+ }
2914
3079
  }
2915
3080
  ],
2916
3081
  "tagName": "br-icon",
@@ -8568,16 +8733,20 @@
8568
8733
  },
8569
8734
  {
8570
8735
  "kind": "javascript-module",
8571
- "path": "components/upload.js",
8736
+ "path": "components/tooltip.js",
8572
8737
  "declarations": [
8573
8738
  {
8574
8739
  "kind": "class",
8575
- "description": "Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/upload?tab=designer).",
8576
- "name": "Upload",
8740
+ "description": "Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https:",
8741
+ "name": "Tooltip",
8577
8742
  "slots": [
8578
8743
  {
8579
- "description": "Descrição do slot",
8580
- "name": "default"
8744
+ "description": "Área para o elemento acionador do tooltip.",
8745
+ "name": "trigger"
8746
+ },
8747
+ {
8748
+ "description": "Área para o conteúdo do tooltip.",
8749
+ "name": "content"
8581
8750
  }
8582
8751
  ],
8583
8752
  "members": [
@@ -8585,148 +8754,636 @@
8585
8754
  "kind": "field",
8586
8755
  "name": "el",
8587
8756
  "type": {
8588
- "text": "HTMLBrUploadElement"
8757
+ "text": "HTMLBrTooltipElement"
8589
8758
  },
8590
8759
  "description": "Referência ao elemento host do componente.\nUtilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente."
8591
8760
  },
8592
8761
  {
8593
8762
  "kind": "field",
8594
- "name": "accept",
8763
+ "name": "elementInternals",
8595
8764
  "type": {
8596
- "text": "string"
8765
+ "text": "ElementInternals"
8597
8766
  },
8598
- "default": "''",
8599
- "description": "Tipos de arquivo permitidos (ex: 'image/*').\nEsta propriedade define quais tipos de arquivos podem ser selecionados para upload."
8767
+ "description": "Referência ao elemento Internals do componente.\nO elemento Internals fornece uma interface para acessar e manipular o estado interno do componente.\nIsso é útil para componentes que precisam se integrar com o sistema de formulários nativo do navegador."
8600
8768
  },
8601
8769
  {
8602
8770
  "kind": "field",
8603
- "name": "label",
8771
+ "name": "customId",
8604
8772
  "type": {
8605
8773
  "text": "string"
8606
8774
  },
8607
- "default": "'Envio de arquivo'",
8608
- "description": "Texto descritivo do campo de upload.\nEste é o texto que é mostrado no label do textarea."
8775
+ "description": "Identificador único.\nCaso não seja fornecido, um ID gerado automaticamente será usado."
8609
8776
  },
8610
8777
  {
8611
8778
  "kind": "field",
8612
- "name": "filesSelected",
8779
+ "name": "position",
8613
8780
  "type": {
8614
- "text": "FileList | null"
8781
+ "text": "TooltipPosition"
8615
8782
  },
8616
- "default": "null",
8617
- "description": "Evento emitido quando um arquivo é selecionado.\nEste estado armazena os arquivos que foram selecionados pelo usuário."
8783
+ "default": "'top'",
8784
+ "description": "Define a posição do tooltip em relação ao elemento acionador.\nAs opções disponíveis são: 'top', 'bottom', 'left' e 'right'.",
8785
+ "expandedType": {
8786
+ "text": "'top' | 'bottom' | 'left' | 'right'"
8787
+ }
8618
8788
  },
8619
8789
  {
8620
8790
  "kind": "field",
8621
- "name": "file",
8791
+ "name": "type",
8622
8792
  "type": {
8623
- "text": "File | null"
8793
+ "text": "TooltipType"
8624
8794
  },
8625
- "default": "null",
8626
- "description": "Referência ao elemento de arquivo selecionado.\nEste estado armazena o arquivo que foi selecionado para upload."
8795
+ "default": "'standard'",
8796
+ "description": "Define o tipo de tooltip a ser exibido.\nAs opções disponíveis são: 'standard' e 'popover'.\nO tipo 'standard' exibe um tooltip simples, enquanto o tipo 'popover' exibe um tooltip com mais informações e fechamento por interação.",
8797
+ "expandedType": {
8798
+ "text": "'standard' | 'popover'"
8799
+ }
8627
8800
  },
8628
8801
  {
8629
8802
  "kind": "field",
8630
- "name": "disabled",
8803
+ "name": "density",
8631
8804
  "type": {
8632
- "text": "boolean"
8805
+ "text": "TooltipDensity"
8633
8806
  },
8634
- "default": "false",
8635
- "description": "Indica se o componente está desativado.\nQuando definido como `true`, o campo de upload se torna não interativo,\nimpedindo que o usuário selecione ou envie arquivos.\nIsso é útil para controlar a interação do usuário em situações específicas,\ncomo durante o carregamento de dados ou quando o formulário está em um estado inválido."
8807
+ "default": "'medium'",
8808
+ "description": "Define a densidade do tooltip.\nAs opções disponíveis são: 'large', 'medium' e 'small'.\nA densidade 'small' exibe um tooltip mais compacto, enquanto a densidade 'large' exibe um tooltip mais espaçado.",
8809
+ "expandedType": {
8810
+ "text": "'large' | 'medium' | 'small'"
8811
+ }
8636
8812
  },
8637
8813
  {
8638
8814
  "kind": "field",
8639
8815
  "name": "state",
8640
8816
  "type": {
8641
- "text": "string"
8817
+ "text": "TooltipState"
8642
8818
  },
8643
- "description": "Define o estado visual da mensagem.\nOs possíveis valores são:\n- 'info': Mensagem informativa.\n- 'warning': Mensagem de aviso.\n- 'danger': Mensagem de erro ou alerta.\n- 'success': Mensagem de sucesso.\nO valor padrão é 'info'."
8819
+ "default": "'info'",
8820
+ "description": "Define o estado do tooltip.\nOs estados disponíveis são: 'info', 'warning', 'error' e 'success'.",
8821
+ "expandedType": {
8822
+ "text": "'info' | 'warning' | 'error' | 'success'"
8823
+ }
8644
8824
  },
8645
8825
  {
8646
8826
  "kind": "field",
8647
- "name": "multiple",
8827
+ "name": "isAutoVisible",
8648
8828
  "type": {
8649
8829
  "text": "boolean"
8650
8830
  },
8651
8831
  "default": "false",
8652
- "description": "Indica se o componente permite a seleção de múltiplos arquivos.\nQuando definido como `true`, o usuário pode selecionar mais de um arquivo para upload."
8832
+ "description": "Define se o tooltip deve ser exibido automaticamente.\nQuando definido como true, o tooltip será exibido automaticamente.\nQuando definido como false, o tooltip será exibido apenas quando acionado pelo usuário."
8653
8833
  },
8654
8834
  {
8655
8835
  "kind": "field",
8656
- "name": "elementInternals",
8836
+ "name": "showDelay",
8657
8837
  "type": {
8658
- "text": "ElementInternals"
8659
- }
8838
+ "text": "number"
8839
+ },
8840
+ "default": "null",
8841
+ "description": "Define o atraso em milissegundos para exibir o tooltip."
8660
8842
  },
8661
8843
  {
8662
- "kind": "method",
8663
- "name": "getCssClassMap",
8664
- "privacy": "private",
8665
- "return": {
8666
- "type": {
8667
- "text": "CssClassMap"
8668
- }
8669
- }
8844
+ "kind": "field",
8845
+ "name": "hideDelay",
8846
+ "type": {
8847
+ "text": "number"
8848
+ },
8849
+ "default": "null",
8850
+ "description": "Define o atraso em milissegundos para ocultar o tooltip."
8851
+ },
8852
+ {
8853
+ "kind": "field",
8854
+ "name": "isVisible",
8855
+ "type": {
8856
+ "text": "boolean"
8857
+ },
8858
+ "default": "false",
8859
+ "description": "Define a visibilidade do tooltip.\nQuando definido como true, o tooltip será exibido.\nQuando definido como false, o tooltip será ocultado."
8670
8860
  },
8671
8861
  {
8672
8862
  "kind": "method",
8673
- "name": "handleRemoveFileSelection",
8674
- "privacy": "private",
8863
+ "name": "handleVisibilityChange",
8675
8864
  "parameters": [
8676
8865
  {
8677
- "name": "file",
8866
+ "name": "visible",
8678
8867
  "type": {
8679
- "text": "File"
8680
- }
8868
+ "text": "boolean"
8869
+ },
8870
+ "description": "boolean"
8681
8871
  }
8682
- ]
8872
+ ],
8873
+ "description": "Watcher para monitorar alterações na propriedade `isVisible`.",
8874
+ "return": {
8875
+ "type": {
8876
+ "text": ""
8877
+ }
8878
+ }
8683
8879
  },
8684
8880
  {
8685
8881
  "kind": "method",
8686
- "name": "renderFilesUploaded",
8687
- "privacy": "private"
8882
+ "name": "handleFocusIn",
8883
+ "description": "Listener para o evento de foco no elemento acionador.\nEste evento é utilizado para exibir o tooltip quando o elemento acionador recebe foco."
8688
8884
  },
8689
8885
  {
8690
8886
  "kind": "method",
8691
- "name": "onInputChange",
8692
- "privacy": "private",
8693
- "parameters": [
8694
- {
8695
- "name": "files",
8696
- "type": {
8697
- "text": "FileList"
8698
- }
8699
- }
8700
- ]
8887
+ "name": "handleFocusOut",
8888
+ "description": "Listener para o evento de desfoque no elemento acionador.\nEste evento é utilizado para ocultar o tooltip quando o elemento acionador perde o foco."
8701
8889
  },
8702
8890
  {
8703
8891
  "kind": "method",
8704
- "name": "_calculateFileSize",
8705
- "privacy": "private",
8892
+ "name": "handleKeyDown",
8706
8893
  "parameters": [
8707
8894
  {
8708
- "name": "files",
8895
+ "name": "event",
8709
8896
  "type": {
8710
- "text": "FileList"
8711
- }
8897
+ "text": "KeyboardEvent"
8898
+ },
8899
+ "description": "KeyboardEvent"
8712
8900
  }
8713
- ]
8901
+ ],
8902
+ "description": "Listener para o evento de teclado no documento.\nEste evento é utilizado para fechar o tooltip quando a tecla Escape é pressionada."
8714
8903
  },
8715
8904
  {
8716
- "kind": "method",
8717
- "name": "handleDrop",
8718
- "privacy": "private",
8719
- "parameters": [
8720
- {
8721
- "name": "event",
8722
- "type": {
8723
- "text": "DragEvent"
8724
- }
8725
- }
8726
- ]
8905
+ "kind": "field",
8906
+ "name": "floatingManager",
8907
+ "type": {
8908
+ "text": "FloatingUIManager"
8909
+ },
8910
+ "privacy": "private"
8727
8911
  },
8728
8912
  {
8729
- "kind": "method",
8913
+ "kind": "field",
8914
+ "name": "triggerElement",
8915
+ "type": {
8916
+ "text": "HTMLDivElement"
8917
+ },
8918
+ "privacy": "private",
8919
+ "description": "Elemento que aciona a exibição do tooltip.\nEste elemento é referenciado para garantir que o tooltip seja posicionado corretamente em relação a ele."
8920
+ },
8921
+ {
8922
+ "kind": "field",
8923
+ "name": "contentElement",
8924
+ "type": {
8925
+ "text": "HTMLDivElement"
8926
+ },
8927
+ "privacy": "private",
8928
+ "description": "Elemento que contém o conteúdo do tooltip.\nEste elemento é referenciado para garantir que o tooltip seja posicionado corretamente em relação a ele."
8929
+ },
8930
+ {
8931
+ "kind": "field",
8932
+ "name": "arrowElement",
8933
+ "type": {
8934
+ "text": "HTMLDivElement"
8935
+ },
8936
+ "privacy": "private",
8937
+ "description": "Elemento que representa a seta do tooltip.\nEste elemento é utilizado para indicar a direção do tooltip em relação ao elemento acionador."
8938
+ },
8939
+ {
8940
+ "kind": "field",
8941
+ "name": "clearAutoUpdate",
8942
+ "type": {
8943
+ "text": "() => void"
8944
+ },
8945
+ "privacy": "private",
8946
+ "description": "Função de limpeza para atualizar a posição do tooltip automaticamente.\nEsta função é chamada quando o tooltip não está mais visível ou quando o componente é desconectado.\nIsso garante que o tooltip não consuma recursos desnecessários quando não estiver em uso."
8947
+ },
8948
+ {
8949
+ "kind": "field",
8950
+ "name": "showTimer",
8951
+ "type": {
8952
+ "text": "ReturnType<typeof setTimeout>"
8953
+ },
8954
+ "privacy": "private",
8955
+ "description": "Tempo limite para exibir o tooltip automaticamente."
8956
+ },
8957
+ {
8958
+ "kind": "field",
8959
+ "name": "hideTimer",
8960
+ "type": {
8961
+ "text": "ReturnType<typeof setTimeout>"
8962
+ },
8963
+ "privacy": "private",
8964
+ "description": "Tempo limite para ocultar o tooltip."
8965
+ },
8966
+ {
8967
+ "kind": "field",
8968
+ "name": "fromPointerDown",
8969
+ "type": {
8970
+ "text": "boolean"
8971
+ },
8972
+ "privacy": "private",
8973
+ "default": "false",
8974
+ "description": "Indica se o tooltip foi acionado por um clique do mouse.\nIsso é utilizado para evitar conflito com o acionamento por foco."
8975
+ },
8976
+ {
8977
+ "kind": "method",
8978
+ "name": "positionTooltip",
8979
+ "privacy": "private",
8980
+ "description": "Controla a exibição do tooltip.\nQuando o tooltip é exibido, ele é posicionado em relação ao elemento acionador.\nIsso é feito utilizando a biblioteca Floating UI, que calcula a posição ideal do tooltip com base no espaço disponível na tela.\nA função `autoUpdate` é utilizada para atualizar automaticamente a posição do tooltip quando o elemento acionador é movido ou redimensionado."
8981
+ },
8982
+ {
8983
+ "kind": "method",
8984
+ "name": "cleanupPositioning",
8985
+ "privacy": "private"
8986
+ },
8987
+ {
8988
+ "kind": "method",
8989
+ "name": "setupInteractions",
8990
+ "privacy": "private",
8991
+ "description": "Define os eventos de interação do tooltip.\nOs eventos de interação incluem mouseenter, mouseleave, focus e blur.",
8992
+ "return": {
8993
+ "type": {
8994
+ "text": ""
8995
+ }
8996
+ }
8997
+ },
8998
+ {
8999
+ "kind": "field",
9000
+ "name": "toggleContent",
9001
+ "privacy": "private",
9002
+ "description": "Alterna a exibição do tooltip.\nSe o tooltip estiver visível, ele será ocultado.\nSe o tooltip estiver oculto, ele será exibido."
9003
+ },
9004
+ {
9005
+ "kind": "field",
9006
+ "name": "showContent",
9007
+ "privacy": "private",
9008
+ "description": "Processa as ações relacionadas à exibição do tooltip.\nIsso inclui exibir o tooltip e iniciar o tempo limite de ocultação automática.",
9009
+ "return": {
9010
+ "type": {
9011
+ "text": ""
9012
+ }
9013
+ }
9014
+ },
9015
+ {
9016
+ "kind": "field",
9017
+ "name": "hideContent",
9018
+ "privacy": "private",
9019
+ "description": "Processa as ações relacionadas ao fechamento do tooltip.\nIsso inclui ocultar o tooltip e limpar o tempo limite de ocultação automática.",
9020
+ "return": {
9021
+ "type": {
9022
+ "text": ""
9023
+ }
9024
+ }
9025
+ },
9026
+ {
9027
+ "kind": "method",
9028
+ "name": "setShowTimer",
9029
+ "privacy": "private",
9030
+ "description": "Configura o tempo limite para exibir o tooltip automaticamente.\nO tempo limite é definido pelo valor da propriedade `showDelay`."
9031
+ },
9032
+ {
9033
+ "kind": "method",
9034
+ "name": "clearShowTimer",
9035
+ "privacy": "private",
9036
+ "description": "Limpa o tempo limite de exibição automática do tooltip."
9037
+ },
9038
+ {
9039
+ "kind": "method",
9040
+ "name": "setHideTimer",
9041
+ "privacy": "private",
9042
+ "description": "Configura o tempo limite para ocultar o tooltip automaticamente.\nO tempo limite é definido pelo valor da propriedade `hideDelay`."
9043
+ },
9044
+ {
9045
+ "kind": "method",
9046
+ "name": "clearHideTimer",
9047
+ "privacy": "private",
9048
+ "description": "Limpa o tempo limite de ocultação automática do tooltip."
9049
+ },
9050
+ {
9051
+ "kind": "field",
9052
+ "name": "handleOutsideClick",
9053
+ "privacy": "private",
9054
+ "description": "Lida com cliques fora do tooltip.\nÉ utilizado para o tooltip do tipo 'popover'.",
9055
+ "parameters": [
9056
+ {
9057
+ "description": "MouseEvent",
9058
+ "name": "event"
9059
+ }
9060
+ ]
9061
+ },
9062
+ {
9063
+ "kind": "method",
9064
+ "name": "getCssClassMap",
9065
+ "privacy": "private",
9066
+ "return": {
9067
+ "type": {
9068
+ "text": ""
9069
+ }
9070
+ },
9071
+ "description": "Determina o mapeamento de classes CSS do componente."
9072
+ },
9073
+ {
9074
+ "kind": "method",
9075
+ "name": "getTriggerCssClassMap",
9076
+ "privacy": "private",
9077
+ "return": {
9078
+ "type": {
9079
+ "text": ""
9080
+ }
9081
+ },
9082
+ "description": "Determina o mapeamento de classes CSS do trigger."
9083
+ },
9084
+ {
9085
+ "kind": "method",
9086
+ "name": "getContentCssClassMap",
9087
+ "privacy": "private",
9088
+ "return": {
9089
+ "type": {
9090
+ "text": ""
9091
+ }
9092
+ },
9093
+ "description": "Determina o mapeamento de classes CSS do conteúdo."
9094
+ },
9095
+ {
9096
+ "kind": "method",
9097
+ "name": "getArrowCssClassMap",
9098
+ "privacy": "private",
9099
+ "return": {
9100
+ "type": {
9101
+ "text": ""
9102
+ }
9103
+ },
9104
+ "description": "Determina o mapeamento de classes CSS da seta."
9105
+ },
9106
+ {
9107
+ "kind": "method",
9108
+ "name": "render",
9109
+ "description": "Renderiza o componente.\nEste método é responsável por gerar o conteúdo HTML do componente.\nEle utiliza a função `h` do Stencil para criar elementos JSX.",
9110
+ "return": {
9111
+ "type": {
9112
+ "text": ""
9113
+ }
9114
+ }
9115
+ }
9116
+ ],
9117
+ "attributes": [
9118
+ {
9119
+ "name": "custom-id",
9120
+ "fieldName": "customId",
9121
+ "type": {
9122
+ "text": "string"
9123
+ }
9124
+ },
9125
+ {
9126
+ "name": "position",
9127
+ "fieldName": "position",
9128
+ "type": {
9129
+ "text": "TooltipPosition"
9130
+ },
9131
+ "expandedType": {
9132
+ "text": "'top' | 'bottom' | 'left' | 'right'"
9133
+ }
9134
+ },
9135
+ {
9136
+ "name": "type",
9137
+ "fieldName": "type",
9138
+ "type": {
9139
+ "text": "TooltipType"
9140
+ },
9141
+ "expandedType": {
9142
+ "text": "'standard' | 'popover'"
9143
+ }
9144
+ },
9145
+ {
9146
+ "name": "density",
9147
+ "fieldName": "density",
9148
+ "type": {
9149
+ "text": "TooltipDensity"
9150
+ },
9151
+ "expandedType": {
9152
+ "text": "'large' | 'medium' | 'small'"
9153
+ }
9154
+ },
9155
+ {
9156
+ "name": "state",
9157
+ "fieldName": "state",
9158
+ "type": {
9159
+ "text": "TooltipState"
9160
+ },
9161
+ "expandedType": {
9162
+ "text": "'info' | 'warning' | 'error' | 'success'"
9163
+ }
9164
+ },
9165
+ {
9166
+ "name": "is-auto-visible",
9167
+ "fieldName": "isAutoVisible",
9168
+ "type": {
9169
+ "text": "boolean"
9170
+ }
9171
+ },
9172
+ {
9173
+ "name": "show-delay",
9174
+ "fieldName": "showDelay",
9175
+ "type": {
9176
+ "text": "number"
9177
+ }
9178
+ },
9179
+ {
9180
+ "name": "hide-delay",
9181
+ "fieldName": "hideDelay",
9182
+ "type": {
9183
+ "text": "number"
9184
+ }
9185
+ }
9186
+ ],
9187
+ "tagName": "br-tooltip",
9188
+ "events": [
9189
+ {
9190
+ "name": "brDidOpen",
9191
+ "type": {
9192
+ "text": "EventEmitter<void>"
9193
+ },
9194
+ "description": "Evento emitido quando o tooltip é aberto."
9195
+ },
9196
+ {
9197
+ "name": "brDidClose",
9198
+ "type": {
9199
+ "text": "EventEmitter<void>"
9200
+ },
9201
+ "description": "Evento emitido quando o tooltip é fechado."
9202
+ }
9203
+ ],
9204
+ "customElement": true
9205
+ }
9206
+ ],
9207
+ "exports": [
9208
+ {
9209
+ "kind": "js",
9210
+ "name": "Tooltip",
9211
+ "declaration": {
9212
+ "name": "Tooltip",
9213
+ "module": "components/tooltip.js"
9214
+ }
9215
+ },
9216
+ {
9217
+ "kind": "custom-element-definition",
9218
+ "name": "br-tooltip",
9219
+ "declaration": {
9220
+ "name": "Tooltip",
9221
+ "module": "components/tooltip.js"
9222
+ }
9223
+ }
9224
+ ]
9225
+ },
9226
+ {
9227
+ "kind": "javascript-module",
9228
+ "path": "components/upload.js",
9229
+ "declarations": [
9230
+ {
9231
+ "kind": "class",
9232
+ "description": "Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/upload?tab=designer).",
9233
+ "name": "Upload",
9234
+ "slots": [
9235
+ {
9236
+ "description": "Descrição do slot",
9237
+ "name": "default"
9238
+ }
9239
+ ],
9240
+ "members": [
9241
+ {
9242
+ "kind": "field",
9243
+ "name": "el",
9244
+ "type": {
9245
+ "text": "HTMLBrUploadElement"
9246
+ },
9247
+ "description": "Referência ao elemento host do componente.\nUtilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente."
9248
+ },
9249
+ {
9250
+ "kind": "field",
9251
+ "name": "accept",
9252
+ "type": {
9253
+ "text": "string"
9254
+ },
9255
+ "default": "''",
9256
+ "description": "Tipos de arquivo permitidos (ex: 'image/*').\nEsta propriedade define quais tipos de arquivos podem ser selecionados para upload."
9257
+ },
9258
+ {
9259
+ "kind": "field",
9260
+ "name": "label",
9261
+ "type": {
9262
+ "text": "string"
9263
+ },
9264
+ "default": "'Envio de arquivo'",
9265
+ "description": "Texto descritivo do campo de upload.\nEste é o texto que é mostrado no label do textarea."
9266
+ },
9267
+ {
9268
+ "kind": "field",
9269
+ "name": "filesSelected",
9270
+ "type": {
9271
+ "text": "FileList | null"
9272
+ },
9273
+ "default": "null",
9274
+ "description": "Evento emitido quando um arquivo é selecionado.\nEste estado armazena os arquivos que foram selecionados pelo usuário."
9275
+ },
9276
+ {
9277
+ "kind": "field",
9278
+ "name": "file",
9279
+ "type": {
9280
+ "text": "File | null"
9281
+ },
9282
+ "default": "null",
9283
+ "description": "Referência ao elemento de arquivo selecionado.\nEste estado armazena o arquivo que foi selecionado para upload."
9284
+ },
9285
+ {
9286
+ "kind": "field",
9287
+ "name": "disabled",
9288
+ "type": {
9289
+ "text": "boolean"
9290
+ },
9291
+ "default": "false",
9292
+ "description": "Indica se o componente está desativado.\nQuando definido como `true`, o campo de upload se torna não interativo,\nimpedindo que o usuário selecione ou envie arquivos.\nIsso é útil para controlar a interação do usuário em situações específicas,\ncomo durante o carregamento de dados ou quando o formulário está em um estado inválido."
9293
+ },
9294
+ {
9295
+ "kind": "field",
9296
+ "name": "state",
9297
+ "type": {
9298
+ "text": "string"
9299
+ },
9300
+ "description": "Define o estado visual da mensagem.\nOs possíveis valores são:\n- 'info': Mensagem informativa.\n- 'warning': Mensagem de aviso.\n- 'danger': Mensagem de erro ou alerta.\n- 'success': Mensagem de sucesso.\nO valor padrão é 'info'."
9301
+ },
9302
+ {
9303
+ "kind": "field",
9304
+ "name": "multiple",
9305
+ "type": {
9306
+ "text": "boolean"
9307
+ },
9308
+ "default": "false",
9309
+ "description": "Indica se o componente permite a seleção de múltiplos arquivos.\nQuando definido como `true`, o usuário pode selecionar mais de um arquivo para upload."
9310
+ },
9311
+ {
9312
+ "kind": "field",
9313
+ "name": "elementInternals",
9314
+ "type": {
9315
+ "text": "ElementInternals"
9316
+ }
9317
+ },
9318
+ {
9319
+ "kind": "method",
9320
+ "name": "getCssClassMap",
9321
+ "privacy": "private",
9322
+ "return": {
9323
+ "type": {
9324
+ "text": "CssClassMap"
9325
+ }
9326
+ }
9327
+ },
9328
+ {
9329
+ "kind": "method",
9330
+ "name": "handleRemoveFileSelection",
9331
+ "privacy": "private",
9332
+ "parameters": [
9333
+ {
9334
+ "name": "file",
9335
+ "type": {
9336
+ "text": "File"
9337
+ }
9338
+ }
9339
+ ]
9340
+ },
9341
+ {
9342
+ "kind": "method",
9343
+ "name": "renderFilesUploaded",
9344
+ "privacy": "private"
9345
+ },
9346
+ {
9347
+ "kind": "method",
9348
+ "name": "onInputChange",
9349
+ "privacy": "private",
9350
+ "parameters": [
9351
+ {
9352
+ "name": "files",
9353
+ "type": {
9354
+ "text": "FileList"
9355
+ }
9356
+ }
9357
+ ]
9358
+ },
9359
+ {
9360
+ "kind": "method",
9361
+ "name": "_calculateFileSize",
9362
+ "privacy": "private",
9363
+ "parameters": [
9364
+ {
9365
+ "name": "files",
9366
+ "type": {
9367
+ "text": "FileList"
9368
+ }
9369
+ }
9370
+ ]
9371
+ },
9372
+ {
9373
+ "kind": "method",
9374
+ "name": "handleDrop",
9375
+ "privacy": "private",
9376
+ "parameters": [
9377
+ {
9378
+ "name": "event",
9379
+ "type": {
9380
+ "text": "DragEvent"
9381
+ }
9382
+ }
9383
+ ]
9384
+ },
9385
+ {
9386
+ "kind": "method",
8730
9387
  "name": "handleDragOver",
8731
9388
  "privacy": "private",
8732
9389
  "parameters": [
@@ -8826,6 +9483,12 @@
8826
9483
  "declarations": [],
8827
9484
  "exports": []
8828
9485
  },
9486
+ {
9487
+ "kind": "javascript-module",
9488
+ "path": "components/tests/button.spec.js",
9489
+ "declarations": [],
9490
+ "exports": []
9491
+ },
8829
9492
  {
8830
9493
  "kind": "javascript-module",
8831
9494
  "path": "components/_tests/collapse.spec.js",
@@ -8945,6 +9608,12 @@
8945
9608
  "path": "components/_tests/tag.spec.js",
8946
9609
  "declarations": [],
8947
9610
  "exports": []
9611
+ },
9612
+ {
9613
+ "kind": "javascript-module",
9614
+ "path": "components/_tests/tooltip.spec.js",
9615
+ "declarations": [],
9616
+ "exports": []
8948
9617
  }
8949
9618
  ]
8950
9619
  }