@govbr-ds/webcomponents 2.0.0-next.14 → 2.0.0-next.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/dist/cjs/br-avatar.cjs.entry.js +1 -1
  2. package/dist/cjs/br-avatar.cjs.entry.js.map +1 -1
  3. package/dist/cjs/br-button_2.cjs.entry.js +2 -2
  4. package/dist/cjs/br-button_2.cjs.entry.js.map +1 -1
  5. package/dist/cjs/br-checkbox.cjs.entry.js +1 -1
  6. package/dist/cjs/br-checkbox.cjs.entry.js.map +1 -1
  7. package/dist/cjs/br-dropdown.cjs.entry.js +1 -1
  8. package/dist/cjs/br-dropdown.cjs.entry.js.map +1 -1
  9. package/dist/cjs/br-input.cjs.entry.js +1 -1
  10. package/dist/cjs/br-input.cjs.entry.js.map +1 -1
  11. package/dist/cjs/br-item.cjs.entry.js +2 -2
  12. package/dist/cjs/br-item.cjs.entry.js.map +1 -1
  13. package/dist/cjs/br-list.cjs.entry.js +1 -1
  14. package/dist/cjs/br-list.cjs.entry.js.map +1 -1
  15. package/dist/cjs/br-loading.cjs.entry.js +2 -2
  16. package/dist/cjs/br-loading.cjs.entry.js.map +1 -1
  17. package/dist/cjs/br-message.cjs.entry.js +2 -2
  18. package/dist/cjs/br-message.cjs.entry.js.map +1 -1
  19. package/dist/cjs/br-radio.cjs.entry.js +1 -1
  20. package/dist/cjs/br-radio.cjs.entry.js.map +1 -1
  21. package/dist/cjs/br-switch.cjs.entry.js +2 -2
  22. package/dist/cjs/br-switch.cjs.entry.js.map +1 -1
  23. package/dist/cjs/br-textarea.cjs.entry.js +158 -0
  24. package/dist/cjs/br-textarea.cjs.entry.js.map +1 -0
  25. package/dist/cjs/index-fb4e9eaf.js +4 -0
  26. package/dist/cjs/loader.cjs.js +1 -1
  27. package/dist/cjs/webcomponents.cjs.js +1 -1
  28. package/dist/collection/collection-manifest.json +2 -1
  29. package/dist/collection/components/avatar/avatar.css +54 -1
  30. package/dist/collection/components/button/button.css +61 -1
  31. package/dist/collection/components/checkbox/checkbox.css +54 -1
  32. package/dist/collection/components/dropdown/dropdown.css +54 -1
  33. package/dist/collection/components/icon/icon.css +54 -1
  34. package/dist/collection/components/input/input.css +54 -1
  35. package/dist/collection/components/item/item.css +54 -1
  36. package/dist/collection/components/item/item.js +1 -1
  37. package/dist/collection/components/item/item.js.map +1 -1
  38. package/dist/collection/components/list/list.css +54 -1
  39. package/dist/collection/components/loading/loading.css +61 -1
  40. package/dist/collection/components/loading/loading.js +1 -1
  41. package/dist/collection/components/loading/loading.js.map +1 -1
  42. package/dist/collection/components/message/message.css +54 -1
  43. package/dist/collection/components/message/message.js +1 -1
  44. package/dist/collection/components/message/message.js.map +1 -1
  45. package/dist/collection/components/radio/radio.css +54 -1
  46. package/dist/collection/components/switch/switch.css +54 -1
  47. package/dist/collection/components/switch/switch.js +1 -1
  48. package/dist/collection/components/switch/switch.js.map +1 -1
  49. package/dist/collection/components/textarea/textarea.css +522 -0
  50. package/dist/collection/components/textarea/textarea.js +566 -0
  51. package/dist/collection/components/textarea/textarea.js.map +1 -0
  52. package/dist/collection/pages/textarea/textarea.js +19 -0
  53. package/dist/collection/scripts/menu.js +21 -17
  54. package/dist/components/br-avatar.js +2 -2
  55. package/dist/components/br-avatar.js.map +1 -1
  56. package/dist/components/br-button.js +1 -1
  57. package/dist/components/br-checkbox.js +1 -1
  58. package/dist/components/br-checkbox.js.map +1 -1
  59. package/dist/components/br-dropdown.js +1 -1
  60. package/dist/components/br-dropdown.js.map +1 -1
  61. package/dist/components/br-icon.js +1 -1
  62. package/dist/components/br-input.js +3 -3
  63. package/dist/components/br-input.js.map +1 -1
  64. package/dist/components/br-item.js +2 -2
  65. package/dist/components/br-item.js.map +1 -1
  66. package/dist/components/br-list.js +1 -1
  67. package/dist/components/br-list.js.map +1 -1
  68. package/dist/components/br-loading.js +2 -2
  69. package/dist/components/br-loading.js.map +1 -1
  70. package/dist/components/br-message.js +4 -4
  71. package/dist/components/br-message.js.map +1 -1
  72. package/dist/components/br-radio.js +1 -1
  73. package/dist/components/br-radio.js.map +1 -1
  74. package/dist/components/br-switch.js +2 -2
  75. package/dist/components/br-switch.js.map +1 -1
  76. package/dist/components/br-textarea.d.ts +11 -0
  77. package/dist/components/br-textarea.js +181 -0
  78. package/dist/components/br-textarea.js.map +1 -0
  79. package/dist/components/index.d.ts +2 -0
  80. package/dist/components/index.js +1 -0
  81. package/dist/components/index.js.map +1 -1
  82. package/dist/components/{p-87afe26f.js → p-af0dfebc.js} +2 -2
  83. package/dist/components/{p-87afe26f.js.map → p-af0dfebc.js.map} +1 -1
  84. package/dist/components/p-baa2948a.js +138 -0
  85. package/dist/components/{p-5769e796.js.map → p-baa2948a.js.map} +1 -1
  86. package/dist/esm/br-avatar.entry.js +1 -1
  87. package/dist/esm/br-avatar.entry.js.map +1 -1
  88. package/dist/esm/br-button_2.entry.js +2 -2
  89. package/dist/esm/br-button_2.entry.js.map +1 -1
  90. package/dist/esm/br-checkbox.entry.js +1 -1
  91. package/dist/esm/br-checkbox.entry.js.map +1 -1
  92. package/dist/esm/br-dropdown.entry.js +1 -1
  93. package/dist/esm/br-dropdown.entry.js.map +1 -1
  94. package/dist/esm/br-input.entry.js +1 -1
  95. package/dist/esm/br-input.entry.js.map +1 -1
  96. package/dist/esm/br-item.entry.js +2 -2
  97. package/dist/esm/br-item.entry.js.map +1 -1
  98. package/dist/esm/br-list.entry.js +1 -1
  99. package/dist/esm/br-list.entry.js.map +1 -1
  100. package/dist/esm/br-loading.entry.js +2 -2
  101. package/dist/esm/br-loading.entry.js.map +1 -1
  102. package/dist/esm/br-message.entry.js +2 -2
  103. package/dist/esm/br-message.entry.js.map +1 -1
  104. package/dist/esm/br-radio.entry.js +1 -1
  105. package/dist/esm/br-radio.entry.js.map +1 -1
  106. package/dist/esm/br-switch.entry.js +2 -2
  107. package/dist/esm/br-switch.entry.js.map +1 -1
  108. package/dist/esm/br-textarea.entry.js +154 -0
  109. package/dist/esm/br-textarea.entry.js.map +1 -0
  110. package/dist/esm/index-c7037515.js +4 -0
  111. package/dist/esm/loader.js +1 -1
  112. package/dist/esm/webcomponents.js +1 -1
  113. package/dist/types/components/textarea/textarea.d.ts +157 -0
  114. package/dist/types/components.d.ts +189 -0
  115. package/dist/webcomponents/p-0f8df882.entry.js +2 -0
  116. package/dist/webcomponents/{p-14f1c8e6.entry.js.map → p-0f8df882.entry.js.map} +1 -1
  117. package/dist/webcomponents/p-128b4b58.entry.js +2 -0
  118. package/dist/webcomponents/{p-9dbe247e.entry.js.map → p-128b4b58.entry.js.map} +1 -1
  119. package/dist/webcomponents/p-2bc17aba.entry.js +2 -0
  120. package/dist/webcomponents/p-2bc17aba.entry.js.map +1 -0
  121. package/dist/webcomponents/p-2ff6ee7a.entry.js +13 -0
  122. package/dist/webcomponents/{p-dde91d20.entry.js.map → p-2ff6ee7a.entry.js.map} +1 -1
  123. package/dist/webcomponents/p-4645bc22.entry.js +2 -0
  124. package/dist/webcomponents/p-4645bc22.entry.js.map +1 -0
  125. package/dist/webcomponents/p-4e1a6b1e.entry.js +2 -0
  126. package/dist/webcomponents/{p-8efc22a3.entry.js.map → p-4e1a6b1e.entry.js.map} +1 -1
  127. package/dist/webcomponents/p-53a18892.entry.js +2 -0
  128. package/dist/webcomponents/{p-c36696c6.entry.js.map → p-53a18892.entry.js.map} +1 -1
  129. package/dist/webcomponents/p-6783eb4f.entry.js +2 -0
  130. package/dist/webcomponents/{p-ac16ee58.entry.js.map → p-6783eb4f.entry.js.map} +1 -1
  131. package/dist/webcomponents/p-e1d4a515.entry.js +2 -0
  132. package/dist/webcomponents/p-e1d4a515.entry.js.map +1 -0
  133. package/dist/webcomponents/p-e74737f9.entry.js +2 -0
  134. package/dist/webcomponents/p-e74737f9.entry.js.map +1 -0
  135. package/dist/webcomponents/p-f66d6a1e.entry.js +2 -0
  136. package/dist/webcomponents/p-f66d6a1e.entry.js.map +1 -0
  137. package/dist/webcomponents/p-ffbd85fd.entry.js +2 -0
  138. package/dist/webcomponents/p-ffbd85fd.entry.js.map +1 -0
  139. package/dist/webcomponents/webcomponents.esm.js +1 -1
  140. package/dist/webcomponents/webcomponents.esm.js.map +1 -1
  141. package/hydrate/index.js +196 -22
  142. package/hydrate/index.mjs +196 -22
  143. package/package.json +1 -1
  144. package/vscode-data.json +49 -0
  145. package/dist/components/p-5769e796.js +0 -138
  146. package/dist/webcomponents/p-0f6e2ddc.entry.js +0 -2
  147. package/dist/webcomponents/p-0f6e2ddc.entry.js.map +0 -1
  148. package/dist/webcomponents/p-14f1c8e6.entry.js +0 -2
  149. package/dist/webcomponents/p-198082b6.entry.js +0 -2
  150. package/dist/webcomponents/p-198082b6.entry.js.map +0 -1
  151. package/dist/webcomponents/p-867bba23.entry.js +0 -2
  152. package/dist/webcomponents/p-867bba23.entry.js.map +0 -1
  153. package/dist/webcomponents/p-8efc22a3.entry.js +0 -2
  154. package/dist/webcomponents/p-9dbe247e.entry.js +0 -2
  155. package/dist/webcomponents/p-a5a079d8.entry.js +0 -2
  156. package/dist/webcomponents/p-a5a079d8.entry.js.map +0 -1
  157. package/dist/webcomponents/p-ac16ee58.entry.js +0 -2
  158. package/dist/webcomponents/p-c36696c6.entry.js +0 -2
  159. package/dist/webcomponents/p-dde91d20.entry.js +0 -13
  160. package/dist/webcomponents/p-f01f1e6b.entry.js +0 -2
  161. package/dist/webcomponents/p-f01f1e6b.entry.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import{r as a,c as t,h as r,H as i,g as e}from"./p-6849daee.js";import{i as o}from"./p-ee6f4f3f.js";const n="*,*::before,*::after{box-sizing:border-box}html{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a{background-color:transparent}strong{font-weight:bolder}code{font-family:monospace;font-size:1em}small{font-size:80%}img{border-style:none}button,input,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}[hidden]{display:none}.d-flex{display:flex !important}.align-items-center{align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{flex:1 0 0%;min-width:8.3333333333%}.col-auto{flex:0 0 auto;width:auto}.container{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:flex;flex-wrap:wrap;margin-left:calc(var(--grid-gutter) * -0.5);margin-right:calc(var(--grid-gutter) * -0.5)}@media (min-width: 576px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half);color:var(--interactive);text-decoration:none}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}code,.code{background:var(--gray-5);border-radius:4px;color:var(--gray-80);display:inline-block;font-family:monospace;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);padding:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.bg-support-01{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.highlight{background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.br-avatar{--avatar-size:var(--avatar-small);--avatar-icon-size:var(--avatar-icon-small);--avatar-text-size:var(--avatar-text-small);--avatar-small:40px;--avatar-medium:100px;--avatar-large:160px;--avatar-icon-small:var(--icon-size-2x);--avatar-icon-medium:var(--icon-size-5x);--avatar-icon-large:var(--icon-size-8x);--avatar-text-small:var(--font-size-scale-up-03);--avatar-text-medium:var(--font-size-scale-up-07);--avatar-text-large:var(--font-size-scale-up-11);align-items:center;background-color:transparent;border:0;display:inline-flex;font-size:var(--avatar-text-size);font-weight:var(--font-weight-bold);justify-content:center;line-height:var(--avatar-size);vertical-align:middle}.br-avatar .content{align-items:center;background-color:var(--blue-10);border-radius:50%;color:var(--blue-warm-20);display:inline-flex;font-size:var(--avatar-text-size);height:var(--avatar-size);justify-content:center;overflow:hidden;text-align:center;text-transform:uppercase;vertical-align:inherit;width:var(--avatar-size)}.br-avatar .content img{height:var(--avatar-size);vertical-align:inherit;width:var(--avatar-size)}.br-avatar.small,.br-avatar[small]{--avatar-size:var(--avatar-small);--avatar-icon-size:var(--avatar-icon-small);--avatar-text-size:var(--avatar-text-small)}.br-avatar.is-medium,.br-avatar.medium,.br-avatar[medium]{--avatar-size:var(--avatar-medium);--avatar-icon-size:var(--avatar-icon-medium);--avatar-text-size:var(--avatar-text-medium)}.br-avatar.large,.br-avatar[large]{--avatar-size:var(--avatar-large);--avatar-icon-size:var(--avatar-icon-large);--avatar-text-size:var(--avatar-text-large)}.br-avatar[data-toggle=dropdown]:focus{outline:none}.br-avatar[data-toggle=dropdown]:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}.br-avatar .image{align-items:center;background-color:var(--blue-10);border-radius:50%;color:var(--blue-warm-20);display:inline-flex;font-size:var(--avatar-text-size);height:var(--avatar-size);justify-content:center;overflow:hidden;text-align:center;text-transform:uppercase;vertical-align:inherit;width:var(--avatar-size)}.br-avatar .image img{height:var(--avatar-size);vertical-align:inherit;width:var(--avatar-size)}:host{display:block}";const s=n;var l;(function(a){a["Small"]="small";a["Medium"]="medium";a["Large"]="large"})(l||(l={}));const c=class{constructor(r){a(this,r);this.brDidConnect=t(this,"brDidConnect",7);this.brWillLoad=t(this,"brWillLoad",7);this.brDidLoad=t(this,"brDidLoad",7);this.brWillRender=t(this,"brWillRender",7);this.brDidRender=t(this,"brDidRender",7);this.brShouldUpdate=t(this,"brShouldUpdate",7);this.brWillUpdate=t(this,"brWillUpdate",7);this.brDidUpdate=t(this,"brDidUpdate",7);this.brDidDisconnect=t(this,"brDidDisconnect",7);this.iconSizes={small:{height:"32",width:"40"},medium:{height:"80",width:"88"},large:{height:"128",width:"136"}};this.iconMarginTops={small:"0.7em",medium:"1em",large:"0.62em"};this.inheritedAttributes={};this.density=l.Medium;this.image=undefined;this.imageAlt="Imagem do avatar";this.isIconic=false;this.text=undefined;this.iconWidth=undefined;this.iconHeight=undefined}connectedCallback(){this.brDidConnect.emit()}componentWillLoad(){this.brWillLoad.emit();this.inheritedAttributes=o(this.el);this.setIconSize()}componentDidLoad(){this.brDidLoad.emit()}componentWillRender(){this.brWillRender.emit()}componentDidRender(){this.brDidRender.emit()}componentShouldUpdate(){this.brShouldUpdate.emit()}componentWillUpdate(){this.brWillUpdate.emit()}componentDidUpdate(){this.brDidUpdate.emit()}disconnectedCallback(){this.brDidDisconnect.emit()}getCssClassMap(){return{"br-avatar":true,small:this.density===l.Small,medium:this.density===l.Medium,large:this.density===l.Large}}setIconSize(){var a,t;if(((a=this.image)===null||a===void 0?void 0:a.trim().length)!==0&&((t=this.text)===null||t===void 0?void 0:t.trim().length)!==0){const a=this.iconSizes[this.density];this.iconHeight=a.height;this.iconWidth=a.width}}adjustIconStyle(a){return this.iconMarginTops[a]||"1em"}renderAvatar(){var a,t;if(((a=this.text)===null||a===void 0?void 0:a.trim().length)>0){return r("span",{class:"content bg-support-01 text-pure-0",title:this.text},this.text[0].toUpperCase())}if(((t=this.image)===null||t===void 0?void 0:t.trim().length)>0){return r("span",{class:"content",title:this.imageAlt||this.text},r("img",{src:this.image,alt:this.imageAlt,loading:"lazy"}))}if(this.isIconic){return r("span",{class:"content",title:this.text},r("br-icon",{"icon-name":"fa-solid:user",height:this.iconHeight,width:this.iconWidth,"aria-hidden":"true",style:{"margin-top":this.adjustIconStyle(this.density)}}))}}render(){return r(i,{key:"90d4903713585ba969eb111676d95f89c53522f5"},r("span",Object.assign({key:"3bb155bdc14da14da5bb576323446157636f3974",class:this.getCssClassMap()},this.inheritedAttributes),this.renderAvatar()))}get el(){return e(this)}};c.style=s;export{c as br_avatar};
2
+ //# sourceMappingURL=p-4645bc22.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["avatarCss","BrAvatarStyle0","Density","Avatar","this","iconSizes","small","height","width","medium","large","iconMarginTops","inheritedAttributes","Medium","connectedCallback","brDidConnect","emit","componentWillLoad","brWillLoad","inheritAriaAttributes","el","setIconSize","componentDidLoad","brDidLoad","componentWillRender","brWillRender","componentDidRender","brDidRender","componentShouldUpdate","brShouldUpdate","componentWillUpdate","brWillUpdate","componentDidUpdate","brDidUpdate","disconnectedCallback","brDidDisconnect","getCssClassMap","density","Small","Large","_a","image","trim","length","_b","text","size","iconHeight","iconWidth","adjustIconStyle","renderAvatar","h","class","title","toUpperCase","imageAlt","src","alt","loading","isIconic","style","render","Host","key","Object","assign"],"sources":["src/components/avatar/avatar.scss?tag=br-avatar&encapsulation=shadow","src/components/avatar/avatar.tsx"],"sourcesContent":["@import \"../../../../../node_modules/@govbr-ds/core/src/components/avatar/avatar\";\n\n:host {\n display: block;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Prop, State } from '@stencil/core'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\nenum Density {\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n}\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/avatar?tab=designer).\n */\n@Component({\n tag: 'br-avatar',\n styleUrl: 'avatar.scss',\n shadow: true,\n})\nexport class Avatar {\n /**\n * Referência ao elemento host do componente.\n * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente.\n */\n @Element() el: HTMLBrAvatarElement\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop() density: string = Density.Medium\n\n /**\n * URL da imagem a ser exibida no avatar do tipo 'fotográfico'.\n * Deve ser uma URL válida que aponta para a imagem desejada.\n */\n @Prop() image: string\n\n /**\n * Texto alternativo (alt) associado à imagem do avatar. Essencial para acessibilidade e SEO.\n * Deve descrever de forma clara e concisa o conteúdo da imagem, por exemplo: \"Foto de perfil de João Silva\".\n */\n @Prop() imageAlt = 'Imagem do avatar'\n\n /**\n * Indica se o avatar deve ser exibido como um ícone em vez de uma imagem fotográfica.\n * Se definido como verdadeiro, o avatar será exibido como um ícone.\n */\n @Prop() isIconic: boolean = false\n\n /**\n * Texto exibido no avatar do tipo 'letra'.\n * Esse texto será mostrado em vez de uma imagem e pode ser usado para representar iniciais ou outras informações textuais.\n */\n @Prop() text: string\n\n /**\n * Emite um evento quando o componente é conectado ao DOM.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#connectedcallback) para mais detalhes.\n */\n @Event() brDidConnect: EventEmitter<void>\n connectedCallback() {\n this.brDidConnect.emit()\n }\n\n /**\n * Emite um evento antes que o componente seja carregado pela primeira vez.\n * Utilize este evento para realizar tarefas de inicialização antes do componente ser exibido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillload) para mais detalhes.\n */\n @Event() brWillLoad: EventEmitter<void>\n componentWillLoad() {\n this.brWillLoad.emit()\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n this.setIconSize()\n }\n\n /**\n * Emite um evento após o componente ter sido carregado pela primeira vez.\n * Utilize este evento para realizar ações que devem ocorrer depois que o componente foi totalmente carregado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes.\n */\n @Event() brDidLoad: EventEmitter<void>\n componentDidLoad() {\n this.brDidLoad.emit()\n }\n\n /**\n * Emite um evento antes do componente ser renderizado.\n * Utilize este evento para preparar o componente antes de sua renderização.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillrender) para mais detalhes.\n */\n @Event() brWillRender: EventEmitter<void>\n componentWillRender() {\n this.brWillRender.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido renderizado.\n * Utilize este evento para executar ações que devem ocorrer após a renderização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidrender) para mais detalhes.\n */\n @Event() brDidRender: EventEmitter<void>\n componentDidRender() {\n this.brDidRender.emit()\n }\n\n /**\n * Emite um evento para indicar se o componente deve ser atualizado ou não.\n * Este evento é chamado antes de qualquer atualização do componente para decidir se a atualização deve prosseguir.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentshouldupdate) para mais detalhes.\n */\n @Event() brShouldUpdate: EventEmitter<void>\n componentShouldUpdate() {\n this.brShouldUpdate.emit()\n }\n\n /**\n * Emite um evento antes de o componente ser atualizado.\n * Utilize este evento para realizar ações preparatórias antes da atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillupdate) para mais detalhes.\n */\n @Event() brWillUpdate: EventEmitter<void>\n componentWillUpdate() {\n this.brWillUpdate.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido atualizado.\n * Utilize este evento para realizar ações após a atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidupdate) para mais detalhes.\n */\n @Event() brDidUpdate: EventEmitter<void>\n componentDidUpdate() {\n this.brDidUpdate.emit()\n }\n\n /**\n * Emite um evento quando o componente é desconectado do DOM.\n * Utilize este evento para realizar a limpeza ou outras ações necessárias quando o componente é removido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#disconnectedcallback) para mais detalhes.\n */\n @Event() brDidDisconnect: EventEmitter<void>\n disconnectedCallback() {\n this.brDidDisconnect.emit()\n }\n\n // Largura do ícone no avatar do tipo icônico\n @State() iconWidth: string\n\n // Altura do ícone no avatar do tipo icônico\n @State() iconHeight: string\n\n /**\n * Gera um mapa de classes CSS com base nas propriedades do componente.\n * O mapa de classes determina quais classes CSS devem ser aplicadas\n * ao elemento host do componente, ajustando sua aparência.\n *\n * @returns {CssClassMap} Objeto contendo as classes CSS aplicadas.\n */\n private getCssClassMap(): CssClassMap {\n return {\n 'br-avatar': true,\n small: this.density === Density.Small,\n medium: this.density === Density.Medium,\n large: this.density === Density.Large,\n }\n }\n\n /**\n * Calcula o tamanho dos ícones de acordo com a classe de densidade\n */\n private readonly iconSizes = {\n small: { height: '32', width: '40' },\n medium: { height: '80', width: '88' },\n large: { height: '128', width: '136' },\n }\n\n private setIconSize() {\n if (this.image?.trim().length !== 0 && this.text?.trim().length !== 0) {\n const size = this.iconSizes[this.density]\n this.iconHeight = size.height\n this.iconWidth = size.width\n }\n }\n\n private readonly iconMarginTops = {\n small: '0.7em',\n medium: '1em',\n large: '0.62em',\n }\n\n private adjustIconStyle(density: string) {\n return this.iconMarginTops[density] || '1em'\n }\n\n private inheritedAttributes: Attributes = {}\n\n private renderAvatar() {\n if (this.text?.trim().length > 0) {\n return (\n <span class=\"content bg-support-01 text-pure-0\" title={this.text}>\n {this.text[0].toUpperCase()}\n </span>\n )\n }\n\n if (this.image?.trim().length > 0) {\n return (\n <span class=\"content\" title={this.imageAlt || this.text}>\n <img src={this.image} alt={this.imageAlt} loading=\"lazy\" />\n </span>\n )\n }\n\n if (this.isIconic) {\n return (\n <span class=\"content\" title={this.text}>\n <br-icon\n icon-name=\"fa-solid:user\"\n height={this.iconHeight}\n width={this.iconWidth}\n aria-hidden=\"true\"\n style={{ 'margin-top': this.adjustIconStyle(this.density) }}\n ></br-icon>\n </span>\n )\n }\n }\n\n render() {\n return (\n <Host>\n <span class={this.getCssClassMap()} {...this.inheritedAttributes}>\n {this.renderAvatar()}\n </span>\n </Host>\n )\n }\n}\n"],"mappings":"oGAAA,MAAMA,EAAY,orUAClB,MAAAC,EAAeD,ECGf,IAAKE,GAAL,SAAKA,GACHA,EAAA,iBACAA,EAAA,mBACAA,EAAA,gBACD,EAJD,CAAKA,MAAO,K,MAcCC,EAAM,M,wZAwJAC,KAAAC,UAAY,CAC3BC,MAAO,CAAEC,OAAQ,KAAMC,MAAO,MAC9BC,OAAQ,CAAEF,OAAQ,KAAMC,MAAO,MAC/BE,MAAO,CAAEH,OAAQ,MAAOC,MAAO,QAWhBJ,KAAAO,eAAiB,CAChCL,MAAO,QACPG,OAAQ,MACRC,MAAO,UAODN,KAAAQ,oBAAkC,G,aAtKhBV,EAAQW,O,mCAYf,mB,cAMS,M,uEAa5B,iBAAAC,GACEV,KAAKW,aAAaC,M,CASpB,iBAAAC,GACEb,KAAKc,WAAWF,OAChBZ,KAAKQ,oBAAsBO,EAAsBf,KAAKgB,IACtDhB,KAAKiB,a,CASP,gBAAAC,GACElB,KAAKmB,UAAUP,M,CASjB,mBAAAQ,GACEpB,KAAKqB,aAAaT,M,CASpB,kBAAAU,GACEtB,KAAKuB,YAAYX,M,CASnB,qBAAAY,GACExB,KAAKyB,eAAeb,M,CAStB,mBAAAc,GACE1B,KAAK2B,aAAaf,M,CASpB,kBAAAgB,GACE5B,KAAK6B,YAAYjB,M,CASnB,oBAAAkB,GACE9B,KAAK+B,gBAAgBnB,M,CAgBf,cAAAoB,GACN,MAAO,CACL,YAAa,KACb9B,MAAOF,KAAKiC,UAAYnC,EAAQoC,MAChC7B,OAAQL,KAAKiC,UAAYnC,EAAQW,OACjCH,MAAON,KAAKiC,UAAYnC,EAAQqC,M,CAa5B,WAAAlB,G,QACN,KAAImB,EAAApC,KAAKqC,SAAK,MAAAD,SAAA,SAAAA,EAAEE,OAAOC,UAAW,KAAKC,EAAAxC,KAAKyC,QAAI,MAAAD,SAAA,SAAAA,EAAEF,OAAOC,UAAW,EAAG,CACrE,MAAMG,EAAO1C,KAAKC,UAAUD,KAAKiC,SACjCjC,KAAK2C,WAAaD,EAAKvC,OACvBH,KAAK4C,UAAYF,EAAKtC,K,EAUlB,eAAAyC,CAAgBZ,GACtB,OAAOjC,KAAKO,eAAe0B,IAAY,K,CAKjC,YAAAa,G,QACN,KAAIV,EAAApC,KAAKyC,QAAI,MAAAL,SAAA,SAAAA,EAAEE,OAAOC,QAAS,EAAG,CAChC,OACEQ,EAAA,QAAMC,MAAM,oCAAoCC,MAAOjD,KAAKyC,MACzDzC,KAAKyC,KAAK,GAAGS,c,CAKpB,KAAIV,EAAAxC,KAAKqC,SAAK,MAAAG,SAAA,SAAAA,EAAEF,OAAOC,QAAS,EAAG,CACjC,OACEQ,EAAA,QAAMC,MAAM,UAAUC,MAAOjD,KAAKmD,UAAYnD,KAAKyC,MACjDM,EAAA,OAAKK,IAAKpD,KAAKqC,MAAOgB,IAAKrD,KAAKmD,SAAUG,QAAQ,S,CAKxD,GAAItD,KAAKuD,SAAU,CACjB,OACER,EAAA,QAAMC,MAAM,UAAUC,MAAOjD,KAAKyC,MAChCM,EAAA,uBACY,gBACV5C,OAAQH,KAAK2C,WACbvC,MAAOJ,KAAK4C,UAAS,cACT,OACZY,MAAO,CAAE,aAAcxD,KAAK6C,gBAAgB7C,KAAKiC,Y,EAO3D,MAAAwB,GACE,OACEV,EAACW,EAAI,CAAAC,IAAA,4CACHZ,EAAA,OAAAa,OAAAC,OAAA,CAAAF,IAAA,2CAAMX,MAAOhD,KAAKgC,kBAAsBhC,KAAKQ,qBAC1CR,KAAK8C,gB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as r,h as t,H as a,g as i}from"./p-6849daee.js";import{i as o}from"./p-ee6f4f3f.js";const n='*,*::before,*::after{box-sizing:border-box}html{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a{background-color:transparent}strong{font-weight:bolder}code{font-family:monospace;font-size:1em}small{font-size:80%}img{border-style:none}button,input,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}[hidden]{display:none}.d-flex{display:flex !important}.align-items-center{align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{flex:1 0 0%;min-width:8.3333333333%}.col-auto{flex:0 0 auto;width:auto}.container{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:flex;flex-wrap:wrap;margin-left:calc(var(--grid-gutter) * -0.5);margin-right:calc(var(--grid-gutter) * -0.5)}@media (min-width: 576px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half);color:var(--interactive);text-decoration:none}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}code,.code{background:var(--gray-5);border-radius:4px;color:var(--gray-80);display:inline-block;font-family:monospace;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);padding:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.bg-support-01{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.highlight{background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.br-checkbox{--checkbox-padding:var(--spacing-scale-base);--checkbox-size:24px;display:flex;position:relative}.br-checkbox+.br-checkbox{margin-top:var(--spacing-scale-base)}.br-checkbox input{margin:0;opacity:0;position:absolute}.br-checkbox input+label{cursor:pointer;display:inline-block;margin-bottom:0;min-height:var(--checkbox-size);min-width:var(--checkbox-size);padding-left:calc(var(--spacing-scale-base) + var(--checkbox-size));position:relative}.br-checkbox input+label::before{background:var(--background-light);border:1px solid var(--border-color);border-radius:4px;content:"";height:var(--checkbox-size);left:0;position:absolute;width:var(--checkbox-size)}.br-checkbox input+label:empty{padding:0}.br-checkbox label{font-weight:var(--font-weight-medium)}.br-checkbox.hidden-label label{padding-left:calc(var(--checkbox-size) + var(--surface-width-md) * 2);text-indent:-10000px;white-space:nowrap;width:0}.br-checkbox input:checked+label::after,.br-checkbox input:indeterminate+label::after{border:solid var(--selected);border-width:0 3px 3px 0;content:"";height:var(--icon-size-sm);left:8px;position:absolute;top:4px;transform:rotate(45deg);width:8px}.br-checkbox input[indeterminate]+label::before,.br-checkbox input:indeterminate+label::before{--interactive-rgb:var(--color-rgb);background:var(--selected);border-color:var(--selected)}.br-checkbox input[indeterminate]:hover:not(:disabled)+label::before,.br-checkbox input:indeterminate:hover:not(:disabled)+label::before{--interactive-rgb:var(--color-dark-rgb)}.br-checkbox input[indeterminate]:checked+label::after,.br-checkbox input[indeterminate]+label::after,.br-checkbox input:indeterminate:checked+label::after,.br-checkbox input:indeterminate+label::after{border-color:var(--background-light);border-width:0 0 3px;top:2px;transform:none}.br-checkbox.invalid input+label::before,.br-checkbox[invalid] input+label::before{--border-color:var(--danger)}.br-checkbox.invalid input:focus-visible:checked+label::before,.br-checkbox.invalid input:focus-visible+label::before,.br-checkbox[invalid] input:focus-visible:checked+label::before,.br-checkbox[invalid] input:focus-visible+label::before{--border-color:var(--focus-color)}.br-checkbox.invalid input:checked+label::before,.br-checkbox[invalid] input:checked+label::before{--border-color:var(--danger)}.br-checkbox.valid input+label::before,.br-checkbox[valid] input+label::before{--border-color:var(--success)}.br-checkbox.valid input:focus-visible:checked+label::before,.br-checkbox.valid input:focus-visible+label::before,.br-checkbox[valid] input:focus-visible:checked+label::before,.br-checkbox[valid] input:focus-visible+label::before{--border-color:var(--focus-color)}.br-checkbox.valid input:checked+label::before,.br-checkbox[valid] input:checked+label::before{--border-color:var(--success)}.br-checkbox.small input+label,.br-checkbox[small] input+label{line-height:var(--spacing-scale-2xh);min-height:var(--spacing-scale-2xh)}.br-checkbox.small input+label::before,.br-checkbox[small] input+label::before{height:var(--spacing-scale-2xh);width:var(--spacing-scale-2xh)}.br-checkbox.small input:checked+label::after,.br-checkbox[small] input:checked+label::after{border-width:0 2px 2px 0;height:var(--icon-size-sm);left:7px;top:4px;width:6px}.br-checkbox.small input[indeterminate]+label::after,.br-checkbox.small input:indeterminate+label::after,.br-checkbox[small] input[indeterminate]+label::after,.br-checkbox[small] input:indeterminate+label::after{border-color:var(--background-light);border-width:0 0 3px;left:7px;top:1px;transform:none;width:6px}.br-checkbox input:invalid+label::before{--border-color:var(--danger)}.br-checkbox input:focus-visible:checked+label::before,.br-checkbox input:focus-visible+label::before{border-color:var(--focus) !important;box-shadow:0 0 0 var(--surface-width-md) var(--focus);outline:none}.br-checkbox input:hover:not(:disabled)+label::before{--interactive-rgb:var(--interactive-light-rgb);background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}.br-checkbox:not(.disabled) input:disabled+label{cursor:not-allowed;opacity:var(--disabled)}.br-checkbox:not(.disabled) input:disabled+label *{pointer-events:none}.br-checkbox.dark-mode,.br-checkbox.dark-mode label{color:var(--color-dark)}:host{display:block}';const l=n;const c=class{constructor(t){e(this,t);this.brDidConnect=r(this,"brDidConnect",7);this.brWillLoad=r(this,"brWillLoad",7);this.brDidLoad=r(this,"brDidLoad",7);this.brWillRender=r(this,"brWillRender",7);this.brDidRender=r(this,"brDidRender",7);this.brShouldUpdate=r(this,"brShouldUpdate",7);this.brWillUpdate=r(this,"brWillUpdate",7);this.brDidUpdate=r(this,"brDidUpdate",7);this.brDidDisconnect=r(this,"brDidDisconnect",7);this.brFormAssociatedCallback=r(this,"brFormAssociatedCallback",7);this.brFormDisabledCallback=r(this,"brFormDisabledCallback",7);this.brFormResetCallback=r(this,"brFormResetCallback",7);this.brFormStateRestoreCallback=r(this,"brFormStateRestoreCallback",7);this.brDidCheckedChange=r(this,"brDidCheckedChange",7);if(t.$hostElement$["s-ei"]){this.elementInternals=t.$hostElement$["s-ei"]}else{this.elementInternals=t.$hostElement$.attachInternals();t.$hostElement$["s-ei"]=this.elementInternals}this.inheritedAttributes={};this.handleCheckedChange=e=>{this.checked=e.target.checked;this.brDidCheckedChange.emit(this.checked)};this.indeterminate=false;this.checked=false;this.customId=undefined;this.disabled=false;this.hasHiddenLabel=false;this.label=undefined;this.name=undefined;this.state=null;this.value=undefined;this._slotDefault=false}connectedCallback(){this.brDidConnect.emit()}componentWillLoad(){this.hasSlotContentDefault();this.brWillLoad.emit();this.inheritedAttributes=o(this.el);this.hasSlotContentDefault()}componentDidLoad(){this.brDidLoad.emit()}componentWillRender(){this.brWillRender.emit()}componentDidRender(){this.brDidRender.emit()}componentShouldUpdate(){this.brShouldUpdate.emit()}componentWillUpdate(){this.brWillUpdate.emit()}componentDidUpdate(){this.brDidUpdate.emit()}disconnectedCallback(){this.brDidDisconnect.emit()}formAssociatedCallback(e){this.brFormAssociatedCallback.emit(e)}formDisabledCallback(e){this.brFormDisabledCallback.emit(e)}formResetCallback(){this.brFormResetCallback.emit()}formStateRestoreCallback(e,r){this.brFormStateRestoreCallback.emit([e,r])}hasSlotContentDefault(){this._slotDefault=this.el.innerHTML!==""}getCssClassMap(){return{"br-checkbox":true,valid:this.state==="valid",invalid:this.state==="invalid",disabled:this.disabled,"hidden-label":this.hasHiddenLabel}}async toggleChecked(){this.checked=!this.checked;this.brDidCheckedChange.emit(this.checked)}getComputedId(){var e;return((e=this.customId)===null||e===void 0?void 0:e.length)>0?this.customId:this.name}render(){return t(a,{key:"989f9ad72c7025dba00a4d0c80f17738a6d982a5"},t("div",{key:"2ece1308be7f1a62012eeac105ff9c8980bf385e",class:this.getCssClassMap()},t("input",Object.assign({key:"ffb9b3270cea17f967fb51b47ddfec9440ac8c63",type:"checkbox",id:this.getComputedId(),name:this.name,checked:this.checked,disabled:this.disabled,indeterminate:this.indeterminate,value:this.value,onChange:this.handleCheckedChange},this.inheritedAttributes)),t("label",{key:"7c51970050a06d2abc28b5a17389c87b0c8c76cc",htmlFor:this.getComputedId()},this._slotDefault?t("slot",null):this.label)))}static get formAssociated(){return true}get el(){return i(this)}};c.style=l;export{c as br_checkbox};
2
+ //# sourceMappingURL=p-4e1a6b1e.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["checkboxCss","BrCheckboxStyle0","Checkbox","this","inheritedAttributes","handleCheckedChange","event","checked","target","brDidCheckedChange","emit","connectedCallback","brDidConnect","componentWillLoad","hasSlotContentDefault","brWillLoad","inheritAriaAttributes","el","componentDidLoad","brDidLoad","componentWillRender","brWillRender","componentDidRender","brDidRender","componentShouldUpdate","brShouldUpdate","componentWillUpdate","brWillUpdate","componentDidUpdate","brDidUpdate","disconnectedCallback","brDidDisconnect","formAssociatedCallback","form","brFormAssociatedCallback","formDisabledCallback","disabled","brFormDisabledCallback","formResetCallback","brFormResetCallback","formStateRestoreCallback","state","_mode","brFormStateRestoreCallback","_slotDefault","innerHTML","getCssClassMap","valid","invalid","hasHiddenLabel","toggleChecked","getComputedId","_a","customId","length","name","render","h","Host","key","class","Object","assign","type","id","indeterminate","value","onChange","htmlFor","label"],"sources":["src/components/checkbox/checkbox.scss?tag=br-checkbox&encapsulation=shadow","src/components/checkbox/checkbox.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/checkbox/checkbox.scss\";\n\n:host {\n display: block;\n}\n\n","import { AttachInternals, Component, Element, Event, EventEmitter, Host, Method, Prop, State, h } from '@stencil/core'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/checkbox?tab=designer).\n *\n * @slot default - O texto descritivo pode ser passado por propriedade (label) ou por slot.\n */\n@Component({\n tag: 'br-checkbox',\n styleUrl: 'checkbox.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Checkbox {\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: HTMLBrCheckboxElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o estado intermediário do checkbox.\n * Se definido como verdadeiro, o checkbox exibirá um estado intermediário, que é um estado visual que indica que a opção está parcialmente selecionada.\n * Este estado é útil quando o checkbox faz parte de um grupo com seleção parcial.\n */\n @Prop({ reflect: true }) indeterminate: boolean = false\n\n /**\n * Define o estado de seleção do checkbox.\n * Se definido como verdadeiro, o checkbox estará marcado. Caso contrário, estará desmarcado.\n */\n @Prop({ reflect: true, mutable: true }) checked: boolean = false\n\n /**\n * Especifica o ID do componente, que é usado para conectar o label correspondente ao checkbox.\n * Se não for fornecido, o ID será o mesmo valor atribuído à propriedade `name`.\n */\n @Prop({ reflect: true, attribute: 'id' }) customId: string\n\n /**\n * Desativa o checkbox, tornando-o não interativo.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * Define se o label associado ao checkbox deve ser oculto.\n * Se definido como verdadeiro, o texto do label será oculto, mas o checkbox ainda estará visível e funcional.\n */\n @Prop({ reflect: true }) hasHiddenLabel: boolean = false\n\n /**\n * Texto descritivo exibido à direita do checkbox.\n * Caso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado.\n */\n @Prop({ reflect: true }) label: string\n\n /**\n * Define o nome do checkbox, que é utilizado para agrupar checkboxes em formulários e identificar o campo.\n * O valor é obrigatório e deve ser fornecido para garantir o correto funcionamento em formulários.\n */\n @Prop({ reflect: true }) name!: string\n\n /**\n * Indica a validade do checkbox.\n * Valores possíveis:\n * - 'valid': O checkbox é considerado válido.\n * - 'invalid': O checkbox é considerado inválido.\n * Se não for especificado, o valor padrão é `null`, indicando que a validade não foi definida.\n */\n @Prop({ reflect: true }) state: 'valid' | 'invalid' = null\n\n /**\n * Define o valor associado ao checkbox quando ele faz parte de um formulário nativo (`<form>`).\n * Esse valor é enviado com o formulário quando o checkbox está selecionado.\n * **Nota:** Esta propriedade não deve ser utilizada para determinar se o checkbox está selecionado; para verificar o estado de seleção, use a propriedade `checked`.\n */\n @Prop({ reflect: true }) value: any\n\n @State() _slotDefault: boolean = false\n\n /**\n * Emite um evento quando o componente é conectado ao DOM.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#connectedcallback) para mais detalhes.\n */\n @Event() brDidConnect: EventEmitter<void>\n connectedCallback() {\n this.brDidConnect.emit()\n }\n\n /**\n * Emite um evento antes que o componente seja carregado pela primeira vez.\n * Utilize este evento para realizar tarefas de inicialização antes do componente ser exibido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillload) para mais detalhes.\n */\n @Event() brWillLoad: EventEmitter<void>\n componentWillLoad() {\n this.hasSlotContentDefault()\n this.brWillLoad.emit()\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n this.hasSlotContentDefault()\n }\n\n /**\n * Emite um evento após o componente ter sido carregado pela primeira vez.\n * Utilize este evento para realizar ações que devem ocorrer depois que o componente foi totalmente carregado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes.\n */\n @Event() brDidLoad: EventEmitter<void>\n componentDidLoad() {\n this.brDidLoad.emit()\n }\n\n /**\n * Emite um evento antes do componente ser renderizado.\n * Utilize este evento para preparar o componente antes de sua renderização.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillrender) para mais detalhes.\n */\n @Event() brWillRender: EventEmitter<void>\n componentWillRender() {\n this.brWillRender.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido renderizado.\n * Utilize este evento para executar ações que devem ocorrer após a renderização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidrender) para mais detalhes.\n */\n @Event() brDidRender: EventEmitter<void>\n componentDidRender() {\n this.brDidRender.emit()\n }\n\n /**\n * Emite um evento para indicar se o componente deve ser atualizado ou não.\n * Este evento é chamado antes de qualquer atualização do componente para decidir se a atualização deve prosseguir.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentshouldupdate) para mais detalhes.\n */\n @Event() brShouldUpdate: EventEmitter<void>\n componentShouldUpdate() {\n this.brShouldUpdate.emit()\n }\n\n /**\n * Emite um evento antes de o componente ser atualizado.\n * Utilize este evento para realizar ações preparatórias antes da atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillupdate) para mais detalhes.\n */\n @Event() brWillUpdate: EventEmitter<void>\n componentWillUpdate() {\n this.brWillUpdate.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido atualizado.\n * Utilize este evento para realizar ações após a atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidupdate) para mais detalhes.\n */\n @Event() brDidUpdate: EventEmitter<void>\n componentDidUpdate() {\n this.brDidUpdate.emit()\n }\n\n /**\n * Emite um evento quando o componente é desconectado do DOM.\n * Utilize este evento para realizar a limpeza ou outras ações necessárias quando o componente é removido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#disconnectedcallback) para mais detalhes.\n */\n @Event() brDidDisconnect: EventEmitter<void>\n disconnectedCallback() {\n this.brDidDisconnect.emit()\n }\n\n /**\n * Emite um evento quando o componente é associado ou removido de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formassociatedcallback) para mais detalhes.\n *\n * @param form - Dados do formulário associado.\n */\n @Event() brFormAssociatedCallback: EventEmitter<FormData>\n formAssociatedCallback(form: FormData) {\n this.brFormAssociatedCallback.emit(form)\n }\n\n /**\n * Emite um evento quando o estado `disabled` do componente muda dentro de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formdisabledcallback) para mais informações.\n *\n * @param disabled - Novo estado `disabled` do componente dentro do formulário.\n */\n @Event() brFormDisabledCallback: EventEmitter<boolean>\n formDisabledCallback(disabled: boolean) {\n this.brFormDisabledCallback.emit(disabled)\n }\n\n /**\n * Emite um evento quando um `<form>` é resetado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formresetcallback) para mais detalhes.\n */\n @Event() brFormResetCallback: EventEmitter<void>\n formResetCallback() {\n this.brFormResetCallback.emit()\n }\n\n /**\n * Emite um evento quando o navegador preenche automaticamente os campos de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formstaterestorecallback) para mais informações.\n *\n * @param state - Estado restaurado do formulário.\n * @param _mode - Modo de preenchimento automático do navegador.\n */\n @Event() brFormStateRestoreCallback: EventEmitter<[state: string, _mode: string]>\n formStateRestoreCallback(state: string, _mode: string) {\n this.brFormStateRestoreCallback.emit([state, _mode])\n }\n\n private hasSlotContentDefault(): any {\n this._slotDefault = this.el.innerHTML !== ''\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-checkbox': true,\n valid: this.state === 'valid',\n invalid: this.state === 'invalid',\n disabled: this.disabled,\n 'hidden-label': this.hasHiddenLabel,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n /**\n * Disparado depois que o valor do `checked` foi alterado\n */\n @Event() brDidCheckedChange: EventEmitter<boolean>\n private readonly handleCheckedChange = (event: Event) => {\n this.checked = (event.target as HTMLInputElement).checked\n this.brDidCheckedChange.emit(this.checked)\n }\n\n /**\n * Inverte o valor da prop `checked`\n */\n @Method()\n async toggleChecked() {\n this.checked = !this.checked\n this.brDidCheckedChange.emit(this.checked)\n }\n\n private getComputedId(): string {\n return this.customId?.length > 0 ? this.customId : this.name\n }\n\n render() {\n return (\n <Host>\n <div class={this.getCssClassMap()}>\n <input\n type=\"checkbox\"\n id={this.getComputedId()}\n name={this.name}\n checked={this.checked}\n disabled={this.disabled}\n indeterminate={this.indeterminate}\n value={this.value}\n onChange={this.handleCheckedChange}\n {...this.inheritedAttributes}\n />\n <label htmlFor={this.getComputedId()}>{this._slotDefault ? <slot></slot> : this.label}</label>\n </div>\n </Host>\n )\n }\n}\n"],"mappings":"oGAAA,MAAMA,EAAc,6tWACpB,MAAAC,EAAeD,E,MCcFE,EAAQ,M,s4BA0NXC,KAAAC,oBAAkC,GAMzBD,KAAAE,oBAAuBC,IACtCH,KAAKI,QAAWD,EAAME,OAA4BD,QAClDJ,KAAKM,mBAAmBC,KAAKP,KAAKI,QAAQ,E,mBApNM,M,aAMS,M,sCAWd,M,oBAMM,M,oDAqBG,K,uCASrB,K,CAOjC,iBAAAI,GACER,KAAKS,aAAaF,M,CASpB,iBAAAG,GACEV,KAAKW,wBACLX,KAAKY,WAAWL,OAChBP,KAAKC,oBAAsBY,EAAsBb,KAAKc,IACtDd,KAAKW,uB,CASP,gBAAAI,GACEf,KAAKgB,UAAUT,M,CASjB,mBAAAU,GACEjB,KAAKkB,aAAaX,M,CASpB,kBAAAY,GACEnB,KAAKoB,YAAYb,M,CASnB,qBAAAc,GACErB,KAAKsB,eAAef,M,CAStB,mBAAAgB,GACEvB,KAAKwB,aAAajB,M,CASpB,kBAAAkB,GACEzB,KAAK0B,YAAYnB,M,CASnB,oBAAAoB,GACE3B,KAAK4B,gBAAgBrB,M,CAUvB,sBAAAsB,CAAuBC,GACrB9B,KAAK+B,yBAAyBxB,KAAKuB,E,CAUrC,oBAAAE,CAAqBC,GACnBjC,KAAKkC,uBAAuB3B,KAAK0B,E,CAQnC,iBAAAE,GACEnC,KAAKoC,oBAAoB7B,M,CAW3B,wBAAA8B,CAAyBC,EAAeC,GACtCvC,KAAKwC,2BAA2BjC,KAAK,CAAC+B,EAAOC,G,CAGvC,qBAAA5B,GACNX,KAAKyC,aAAezC,KAAKc,GAAG4B,YAAc,E,CAGpC,cAAAC,GACN,MAAO,CACL,cAAe,KACfC,MAAO5C,KAAKsC,QAAU,QACtBO,QAAS7C,KAAKsC,QAAU,UACxBL,SAAUjC,KAAKiC,SACf,eAAgBjC,KAAK8C,e,CAmBzB,mBAAMC,GACJ/C,KAAKI,SAAWJ,KAAKI,QACrBJ,KAAKM,mBAAmBC,KAAKP,KAAKI,Q,CAG5B,aAAA4C,G,MACN,QAAOC,EAAAjD,KAAKkD,YAAQ,MAAAD,SAAA,SAAAA,EAAEE,QAAS,EAAInD,KAAKkD,SAAWlD,KAAKoD,I,CAG1D,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAOzD,KAAK2C,kBACfW,EAAA,QAAAI,OAAAC,OAAA,CAAAH,IAAA,2CACEI,KAAK,WACLC,GAAI7D,KAAKgD,gBACTI,KAAMpD,KAAKoD,KACXhD,QAASJ,KAAKI,QACd6B,SAAUjC,KAAKiC,SACf6B,cAAe9D,KAAK8D,cACpBC,MAAO/D,KAAK+D,MACZC,SAAUhE,KAAKE,qBACXF,KAAKC,sBAEXqD,EAAA,SAAAE,IAAA,2CAAOS,QAASjE,KAAKgD,iBAAkBhD,KAAKyC,aAAea,EAAA,aAAgBtD,KAAKkE,Q","ignoreList":[]}
1
+ {"version":3,"names":["checkboxCss","BrCheckboxStyle0","Checkbox","this","inheritedAttributes","handleCheckedChange","event","checked","target","brDidCheckedChange","emit","connectedCallback","brDidConnect","componentWillLoad","hasSlotContentDefault","brWillLoad","inheritAriaAttributes","el","componentDidLoad","brDidLoad","componentWillRender","brWillRender","componentDidRender","brDidRender","componentShouldUpdate","brShouldUpdate","componentWillUpdate","brWillUpdate","componentDidUpdate","brDidUpdate","disconnectedCallback","brDidDisconnect","formAssociatedCallback","form","brFormAssociatedCallback","formDisabledCallback","disabled","brFormDisabledCallback","formResetCallback","brFormResetCallback","formStateRestoreCallback","state","_mode","brFormStateRestoreCallback","_slotDefault","innerHTML","getCssClassMap","valid","invalid","hasHiddenLabel","toggleChecked","getComputedId","_a","customId","length","name","render","h","Host","key","class","Object","assign","type","id","indeterminate","value","onChange","htmlFor","label"],"sources":["src/components/checkbox/checkbox.scss?tag=br-checkbox&encapsulation=shadow","src/components/checkbox/checkbox.tsx"],"sourcesContent":["@import \"~@govbr-ds/core/src/components/checkbox/checkbox.scss\";\n\n:host {\n display: block;\n}\n\n","import { AttachInternals, Component, Element, Event, EventEmitter, Host, Method, Prop, State, h } from '@stencil/core'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/checkbox?tab=designer).\n *\n * @slot default - O texto descritivo pode ser passado por propriedade (label) ou por slot.\n */\n@Component({\n tag: 'br-checkbox',\n styleUrl: 'checkbox.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Checkbox {\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: HTMLBrCheckboxElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Define o estado intermediário do checkbox.\n * Se definido como verdadeiro, o checkbox exibirá um estado intermediário, que é um estado visual que indica que a opção está parcialmente selecionada.\n * Este estado é útil quando o checkbox faz parte de um grupo com seleção parcial.\n */\n @Prop({ reflect: true }) indeterminate: boolean = false\n\n /**\n * Define o estado de seleção do checkbox.\n * Se definido como verdadeiro, o checkbox estará marcado. Caso contrário, estará desmarcado.\n */\n @Prop({ reflect: true, mutable: true }) checked: boolean = false\n\n /**\n * Especifica o ID do componente, que é usado para conectar o label correspondente ao checkbox.\n * Se não for fornecido, o ID será o mesmo valor atribuído à propriedade `name`.\n */\n @Prop({ reflect: true, attribute: 'id' }) customId: string\n\n /**\n * Desativa o checkbox, tornando-o não interativo.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * Define se o label associado ao checkbox deve ser oculto.\n * Se definido como verdadeiro, o texto do label será oculto, mas o checkbox ainda estará visível e funcional.\n */\n @Prop({ reflect: true }) hasHiddenLabel: boolean = false\n\n /**\n * Texto descritivo exibido à direita do checkbox.\n * Caso um slot seja utilizado para fornecer um texto alternativo, o valor desta propriedade será ignorado.\n */\n @Prop({ reflect: true }) label: string\n\n /**\n * Define o nome do checkbox, que é utilizado para agrupar checkboxes em formulários e identificar o campo.\n * O valor é obrigatório e deve ser fornecido para garantir o correto funcionamento em formulários.\n */\n @Prop({ reflect: true }) name!: string\n\n /**\n * Indica a validade do checkbox.\n * Valores possíveis:\n * - 'valid': O checkbox é considerado válido.\n * - 'invalid': O checkbox é considerado inválido.\n * Se não for especificado, o valor padrão é `null`, indicando que a validade não foi definida.\n */\n @Prop({ reflect: true }) state: 'valid' | 'invalid' = null\n\n /**\n * Define o valor associado ao checkbox quando ele faz parte de um formulário nativo (`<form>`).\n * Esse valor é enviado com o formulário quando o checkbox está selecionado.\n * **Nota:** Esta propriedade não deve ser utilizada para determinar se o checkbox está selecionado; para verificar o estado de seleção, use a propriedade `checked`.\n */\n @Prop({ reflect: true }) value: any\n\n @State() _slotDefault: boolean = false\n\n /**\n * Emite um evento quando o componente é conectado ao DOM.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#connectedcallback) para mais detalhes.\n */\n @Event() brDidConnect: EventEmitter<void>\n connectedCallback() {\n this.brDidConnect.emit()\n }\n\n /**\n * Emite um evento antes que o componente seja carregado pela primeira vez.\n * Utilize este evento para realizar tarefas de inicialização antes do componente ser exibido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillload) para mais detalhes.\n */\n @Event() brWillLoad: EventEmitter<void>\n componentWillLoad() {\n this.hasSlotContentDefault()\n this.brWillLoad.emit()\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n this.hasSlotContentDefault()\n }\n\n /**\n * Emite um evento após o componente ter sido carregado pela primeira vez.\n * Utilize este evento para realizar ações que devem ocorrer depois que o componente foi totalmente carregado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes.\n */\n @Event() brDidLoad: EventEmitter<void>\n componentDidLoad() {\n this.brDidLoad.emit()\n }\n\n /**\n * Emite um evento antes do componente ser renderizado.\n * Utilize este evento para preparar o componente antes de sua renderização.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillrender) para mais detalhes.\n */\n @Event() brWillRender: EventEmitter<void>\n componentWillRender() {\n this.brWillRender.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido renderizado.\n * Utilize este evento para executar ações que devem ocorrer após a renderização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidrender) para mais detalhes.\n */\n @Event() brDidRender: EventEmitter<void>\n componentDidRender() {\n this.brDidRender.emit()\n }\n\n /**\n * Emite um evento para indicar se o componente deve ser atualizado ou não.\n * Este evento é chamado antes de qualquer atualização do componente para decidir se a atualização deve prosseguir.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentshouldupdate) para mais detalhes.\n */\n @Event() brShouldUpdate: EventEmitter<void>\n componentShouldUpdate() {\n this.brShouldUpdate.emit()\n }\n\n /**\n * Emite um evento antes de o componente ser atualizado.\n * Utilize este evento para realizar ações preparatórias antes da atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillupdate) para mais detalhes.\n */\n @Event() brWillUpdate: EventEmitter<void>\n componentWillUpdate() {\n this.brWillUpdate.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido atualizado.\n * Utilize este evento para realizar ações após a atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidupdate) para mais detalhes.\n */\n @Event() brDidUpdate: EventEmitter<void>\n componentDidUpdate() {\n this.brDidUpdate.emit()\n }\n\n /**\n * Emite um evento quando o componente é desconectado do DOM.\n * Utilize este evento para realizar a limpeza ou outras ações necessárias quando o componente é removido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#disconnectedcallback) para mais detalhes.\n */\n @Event() brDidDisconnect: EventEmitter<void>\n disconnectedCallback() {\n this.brDidDisconnect.emit()\n }\n\n /**\n * Emite um evento quando o componente é associado ou removido de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formassociatedcallback) para mais detalhes.\n *\n * @param form - Dados do formulário associado.\n */\n @Event() brFormAssociatedCallback: EventEmitter<FormData>\n formAssociatedCallback(form: FormData) {\n this.brFormAssociatedCallback.emit(form)\n }\n\n /**\n * Emite um evento quando o estado `disabled` do componente muda dentro de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formdisabledcallback) para mais informações.\n *\n * @param disabled - Novo estado `disabled` do componente dentro do formulário.\n */\n @Event() brFormDisabledCallback: EventEmitter<boolean>\n formDisabledCallback(disabled: boolean) {\n this.brFormDisabledCallback.emit(disabled)\n }\n\n /**\n * Emite um evento quando um `<form>` é resetado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formresetcallback) para mais detalhes.\n */\n @Event() brFormResetCallback: EventEmitter<void>\n formResetCallback() {\n this.brFormResetCallback.emit()\n }\n\n /**\n * Emite um evento quando o navegador preenche automaticamente os campos de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formstaterestorecallback) para mais informações.\n *\n * @param state - Estado restaurado do formulário.\n * @param _mode - Modo de preenchimento automático do navegador.\n */\n @Event() brFormStateRestoreCallback: EventEmitter<[state: string, _mode: string]>\n formStateRestoreCallback(state: string, _mode: string) {\n this.brFormStateRestoreCallback.emit([state, _mode])\n }\n\n private hasSlotContentDefault(): any {\n this._slotDefault = this.el.innerHTML !== ''\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-checkbox': true,\n valid: this.state === 'valid',\n invalid: this.state === 'invalid',\n disabled: this.disabled,\n 'hidden-label': this.hasHiddenLabel,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n /**\n * Disparado depois que o valor do `checked` foi alterado\n */\n @Event() brDidCheckedChange: EventEmitter<boolean>\n private readonly handleCheckedChange = (event: Event) => {\n this.checked = (event.target as HTMLInputElement).checked\n this.brDidCheckedChange.emit(this.checked)\n }\n\n /**\n * Inverte o valor da prop `checked`\n */\n @Method()\n async toggleChecked() {\n this.checked = !this.checked\n this.brDidCheckedChange.emit(this.checked)\n }\n\n private getComputedId(): string {\n return this.customId?.length > 0 ? this.customId : this.name\n }\n\n render() {\n return (\n <Host>\n <div class={this.getCssClassMap()}>\n <input\n type=\"checkbox\"\n id={this.getComputedId()}\n name={this.name}\n checked={this.checked}\n disabled={this.disabled}\n indeterminate={this.indeterminate}\n value={this.value}\n onChange={this.handleCheckedChange}\n {...this.inheritedAttributes}\n />\n <label htmlFor={this.getComputedId()}>{this._slotDefault ? <slot></slot> : this.label}</label>\n </div>\n </Host>\n )\n }\n}\n"],"mappings":"oGAAA,MAAMA,EAAc,qsYACpB,MAAAC,EAAeD,E,MCcFE,EAAQ,M,s4BA0NXC,KAAAC,oBAAkC,GAMzBD,KAAAE,oBAAuBC,IACtCH,KAAKI,QAAWD,EAAME,OAA4BD,QAClDJ,KAAKM,mBAAmBC,KAAKP,KAAKI,QAAQ,E,mBApNM,M,aAMS,M,sCAWd,M,oBAMM,M,oDAqBG,K,uCASrB,K,CAOjC,iBAAAI,GACER,KAAKS,aAAaF,M,CASpB,iBAAAG,GACEV,KAAKW,wBACLX,KAAKY,WAAWL,OAChBP,KAAKC,oBAAsBY,EAAsBb,KAAKc,IACtDd,KAAKW,uB,CASP,gBAAAI,GACEf,KAAKgB,UAAUT,M,CASjB,mBAAAU,GACEjB,KAAKkB,aAAaX,M,CASpB,kBAAAY,GACEnB,KAAKoB,YAAYb,M,CASnB,qBAAAc,GACErB,KAAKsB,eAAef,M,CAStB,mBAAAgB,GACEvB,KAAKwB,aAAajB,M,CASpB,kBAAAkB,GACEzB,KAAK0B,YAAYnB,M,CASnB,oBAAAoB,GACE3B,KAAK4B,gBAAgBrB,M,CAUvB,sBAAAsB,CAAuBC,GACrB9B,KAAK+B,yBAAyBxB,KAAKuB,E,CAUrC,oBAAAE,CAAqBC,GACnBjC,KAAKkC,uBAAuB3B,KAAK0B,E,CAQnC,iBAAAE,GACEnC,KAAKoC,oBAAoB7B,M,CAW3B,wBAAA8B,CAAyBC,EAAeC,GACtCvC,KAAKwC,2BAA2BjC,KAAK,CAAC+B,EAAOC,G,CAGvC,qBAAA5B,GACNX,KAAKyC,aAAezC,KAAKc,GAAG4B,YAAc,E,CAGpC,cAAAC,GACN,MAAO,CACL,cAAe,KACfC,MAAO5C,KAAKsC,QAAU,QACtBO,QAAS7C,KAAKsC,QAAU,UACxBL,SAAUjC,KAAKiC,SACf,eAAgBjC,KAAK8C,e,CAmBzB,mBAAMC,GACJ/C,KAAKI,SAAWJ,KAAKI,QACrBJ,KAAKM,mBAAmBC,KAAKP,KAAKI,Q,CAG5B,aAAA4C,G,MACN,QAAOC,EAAAjD,KAAKkD,YAAQ,MAAAD,SAAA,SAAAA,EAAEE,QAAS,EAAInD,KAAKkD,SAAWlD,KAAKoD,I,CAG1D,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAOzD,KAAK2C,kBACfW,EAAA,QAAAI,OAAAC,OAAA,CAAAH,IAAA,2CACEI,KAAK,WACLC,GAAI7D,KAAKgD,gBACTI,KAAMpD,KAAKoD,KACXhD,QAASJ,KAAKI,QACd6B,SAAUjC,KAAKiC,SACf6B,cAAe9D,KAAK8D,cACpBC,MAAO/D,KAAK+D,MACZC,SAAUhE,KAAKE,qBACXF,KAAKC,sBAEXqD,EAAA,SAAAE,IAAA,2CAAOS,QAASjE,KAAKgD,iBAAkBhD,KAAKyC,aAAea,EAAA,aAAgBtD,KAAKkE,Q","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as r,h as a,H as i,g as e}from"./p-6849daee.js";import{i as o}from"./p-ee6f4f3f.js";const n="*,*::before,*::after{box-sizing:border-box}html{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a{background-color:transparent}strong{font-weight:bolder}code{font-family:monospace;font-size:1em}small{font-size:80%}img{border-style:none}button,input,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}[hidden]{display:none}.d-flex{display:flex !important}.align-items-center{align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{flex:1 0 0%;min-width:8.3333333333%}.col-auto{flex:0 0 auto;width:auto}.container{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:flex;flex-wrap:wrap;margin-left:calc(var(--grid-gutter) * -0.5);margin-right:calc(var(--grid-gutter) * -0.5)}@media (min-width: 576px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half);color:var(--interactive);text-decoration:none}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}code,.code{background:var(--gray-5);border-radius:4px;color:var(--gray-80);display:inline-block;font-family:monospace;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);padding:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.bg-support-01{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.highlight{background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}:host{display:block;position:relative}:host #trigger{display:inline-block;cursor:pointer}:host #target{display:none;position:absolute;top:100%;left:0}:host([is-open]) #target{display:block}";const s=n;const l=class{constructor(a){t(this,a);this.brDidConnect=r(this,"brDidConnect",7);this.brWillLoad=r(this,"brWillLoad",7);this.brDidLoad=r(this,"brDidLoad",7);this.brWillRender=r(this,"brWillRender",7);this.brDidRender=r(this,"brDidRender",7);this.brShouldUpdate=r(this,"brShouldUpdate",7);this.brWillUpdate=r(this,"brWillUpdate",7);this.brDidUpdate=r(this,"brDidUpdate",7);this.brDidDisconnect=r(this,"brDidDisconnect",7);this.brFormAssociatedCallback=r(this,"brFormAssociatedCallback",7);this.brFormDisabledCallback=r(this,"brFormDisabledCallback",7);this.brFormResetCallback=r(this,"brFormResetCallback",7);this.brFormStateRestoreCallback=r(this,"brFormStateRestoreCallback",7);this.brDropdownChange=r(this,"brDropdownChange",7);if(a.$hostElement$["s-ei"]){this.elementInternals=a.$hostElement$["s-ei"]}else{this.elementInternals=a.$hostElement$.attachInternals();a.$hostElement$["s-ei"]=this.elementInternals}this.toggle=t=>{t.stopPropagation();this.isOpen=!this.isOpen};this.inheritedAttributes={};this.isOpen=false}isOpenChanged(){this.brDropdownChange.emit({"is-opened":this.isOpen})}connectedCallback(){this.brDidConnect.emit();document.addEventListener("click",this.onClickOutside.bind(this))}componentWillLoad(){this.brWillLoad.emit();this.inheritedAttributes=o(this.el)}componentDidLoad(){this.brDidLoad.emit()}componentWillRender(){this.brWillRender.emit()}componentDidRender(){this.brDidRender.emit()}componentShouldUpdate(){this.brShouldUpdate.emit()}componentWillUpdate(){this.brWillUpdate.emit()}componentDidUpdate(){this.brDidUpdate.emit()}disconnectedCallback(){this.brDidDisconnect.emit();document.removeEventListener("click",this.onClickOutside.bind(this))}formAssociatedCallback(t){this.brFormAssociatedCallback.emit(t)}formDisabledCallback(t){this.brFormDisabledCallback.emit(t)}formResetCallback(){this.brFormResetCallback.emit()}formStateRestoreCallback(t,r){this.brFormStateRestoreCallback.emit([t,r])}getCssClassMap(){return{"br-dropdown":true}}onClickOutside(t){const r=t.composedPath();const a=this.el.shadowRoot.querySelector("#target");if(a&&!r.includes(a)){this.hide()}}async open(){this.isOpen=true;return{isOpen:this.isOpen}}async hide(){this.isOpen=false;return{isOpen:this.isOpen}}render(){return a(i,{key:"25638a100598f3ea3af3713f1584e72aa686a751","is-open":this.isOpen},a("div",Object.assign({key:"f565d3e6efeca8f4d3e8c53378d172bb8e751829",class:this.getCssClassMap()},this.inheritedAttributes),a("div",{key:"ac90183419b5d4d03541aeb021fa391d77c7ad26",id:"trigger",onClick:this.toggle,"aria-controls":"target","aria-haspopup":"true","aria-expanded":this.isOpen},a("slot",{key:"500aa694847e93aee709acb6486b240ab7b87373",name:"trigger"})),a("div",{key:"87740e95057ef5c7200d5e01011691b49b6edb4e",id:"target","aria-hidden":!this.isOpen},a("slot",{key:"f1c92198fc05a61e052d4588ea9465024749f653",name:"target"}))))}static get formAssociated(){return true}get el(){return e(this)}static get watchers(){return{isOpen:["isOpenChanged"]}}};l.style=s;export{l as br_dropdown};
2
+ //# sourceMappingURL=p-53a18892.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["dropdownCss","BrDropdownStyle0","Dropdown","this","toggle","event","stopPropagation","isOpen","inheritedAttributes","isOpenChanged","brDropdownChange","emit","connectedCallback","brDidConnect","document","addEventListener","onClickOutside","bind","componentWillLoad","brWillLoad","inheritAriaAttributes","el","componentDidLoad","brDidLoad","componentWillRender","brWillRender","componentDidRender","brDidRender","componentShouldUpdate","brShouldUpdate","componentWillUpdate","brWillUpdate","componentDidUpdate","brDidUpdate","disconnectedCallback","brDidDisconnect","removeEventListener","formAssociatedCallback","form","brFormAssociatedCallback","formDisabledCallback","disabled","brFormDisabledCallback","formResetCallback","brFormResetCallback","formStateRestoreCallback","state","_mode","brFormStateRestoreCallback","getCssClassMap","path","composedPath","dropdownElement","shadowRoot","querySelector","includes","hide","open","render","h","Host","key","Object","assign","class","id","onClick","name"],"sources":["src/components/dropdown/dropdown.scss?tag=br-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.tsx"],"sourcesContent":[":host {\n display: block;\n position: relative;\n\n #trigger {\n display: inline-block;\n cursor: pointer;\n }\n\n #target {\n display: none;\n position: absolute;\n top: 100%;\n left: 0;\n }\n}\n\n:host([is-open]) {\n #target {\n display: block;\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, Host, Method, Prop, Watch, h } from '@stencil/core'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/dropdown?tab=designer).\n *\n * @slot trigger - Slot que recebe o elemento acionador\n * @slot target - Slot que recebe o elemento alvo\n */\n@Component({\n tag: 'br-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Dropdown {\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: HTMLBrDropdownElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Indica se o dropdown está aberto ou fechado.\n * Esta propriedade é refletida no DOM e pode ser alterada externamente.\n * O valor padrão é falso (fechado).\n */\n @Prop({ reflect: true, mutable: true }) isOpen: boolean = false\n\n /**\n * Método chamado sempre que a propriedade `isOpen` muda.\n * Emite um evento com o novo estado do dropdown.\n */\n @Watch('isOpen')\n isOpenChanged() {\n this.brDropdownChange.emit({ 'is-opened': this.isOpen })\n }\n\n /**\n * Emite um evento quando o componente é conectado ao DOM.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#connectedcallback) para mais detalhes.\n */\n @Event() brDidConnect: EventEmitter<void>\n connectedCallback() {\n this.brDidConnect.emit()\n document.addEventListener('click', this.onClickOutside.bind(this))\n }\n\n /**\n * Emite um evento antes que o componente seja carregado pela primeira vez.\n * Utilize este evento para realizar tarefas de inicialização antes do componente ser exibido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillload) para mais detalhes.\n */\n @Event() brWillLoad: EventEmitter<void>\n componentWillLoad() {\n this.brWillLoad.emit()\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n /**\n * Emite um evento após o componente ter sido carregado pela primeira vez.\n * Utilize este evento para realizar ações que devem ocorrer depois que o componente foi totalmente carregado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes.\n */\n @Event() brDidLoad: EventEmitter<void>\n componentDidLoad() {\n this.brDidLoad.emit()\n }\n\n /**\n * Emite um evento antes do componente ser renderizado.\n * Utilize este evento para preparar o componente antes de sua renderização.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillrender) para mais detalhes.\n */\n @Event() brWillRender: EventEmitter<void>\n componentWillRender() {\n this.brWillRender.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido renderizado.\n * Utilize este evento para executar ações que devem ocorrer após a renderização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidrender) para mais detalhes.\n */\n @Event() brDidRender: EventEmitter<void>\n componentDidRender() {\n this.brDidRender.emit()\n }\n\n /**\n * Emite um evento para indicar se o componente deve ser atualizado ou não.\n * Este evento é chamado antes de qualquer atualização do componente para decidir se a atualização deve prosseguir.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentshouldupdate) para mais detalhes.\n */\n @Event() brShouldUpdate: EventEmitter<void>\n componentShouldUpdate() {\n this.brShouldUpdate.emit()\n }\n\n /**\n * Emite um evento antes de o componente ser atualizado.\n * Utilize este evento para realizar ações preparatórias antes da atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillupdate) para mais detalhes.\n */\n @Event() brWillUpdate: EventEmitter<void>\n componentWillUpdate() {\n this.brWillUpdate.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido atualizado.\n * Utilize este evento para realizar ações após a atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidupdate) para mais detalhes.\n */\n @Event() brDidUpdate: EventEmitter<void>\n componentDidUpdate() {\n this.brDidUpdate.emit()\n }\n\n /**\n * Emite um evento quando o componente é desconectado do DOM.\n * Utilize este evento para realizar a limpeza ou outras ações necessárias quando o componente é removido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#disconnectedcallback) para mais detalhes.\n */\n @Event() brDidDisconnect: EventEmitter<void>\n disconnectedCallback() {\n this.brDidDisconnect.emit()\n document.removeEventListener('click', this.onClickOutside.bind(this))\n }\n\n /**\n * Emite um evento quando o componente é associado ou removido de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formassociatedcallback) para mais detalhes.\n *\n * @param form - Dados do formulário associado.\n */\n @Event() brFormAssociatedCallback: EventEmitter<FormData>\n formAssociatedCallback(form: FormData) {\n this.brFormAssociatedCallback.emit(form)\n }\n\n /**\n * Emite um evento quando o estado `disabled` do componente muda dentro de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formdisabledcallback) para mais informações.\n *\n * @param disabled - Novo estado `disabled` do componente dentro do formulário.\n */\n @Event() brFormDisabledCallback: EventEmitter<boolean>\n formDisabledCallback(disabled: boolean) {\n this.brFormDisabledCallback.emit(disabled)\n }\n\n /**\n * Emite um evento quando um `<form>` é resetado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formresetcallback) para mais detalhes.\n */\n @Event() brFormResetCallback: EventEmitter<void>\n formResetCallback() {\n this.brFormResetCallback.emit()\n }\n\n /**\n * Emite um evento quando o navegador preenche automaticamente os campos de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formstaterestorecallback) para mais informações.\n *\n * @param state - Estado restaurado do formulário.\n * @param _mode - Modo de preenchimento automático do navegador.\n */\n @Event() brFormStateRestoreCallback: EventEmitter<[state: string, _mode: string]>\n formStateRestoreCallback(state: string, _mode: string) {\n this.brFormStateRestoreCallback.emit([state, _mode])\n }\n\n /**\n * Evento emitido quando o estado do dropdown muda.\n */\n @Event() brDropdownChange: EventEmitter<{ 'is-opened': boolean }>\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-dropdown': true,\n }\n }\n\n /**\n * Alterna o estado do dropdown entre aberto e fechado.\n */\n private readonly toggle = (event: Event) => {\n event.stopPropagation()\n this.isOpen = !this.isOpen\n }\n\n /**\n * Método que lida com cliques fora do dropdown.\n *\n * @param {MouseEvent} event - O evento de clique que ocorreu.\n */\n private onClickOutside(event: MouseEvent) {\n const path = event.composedPath()\n const dropdownElement = this.el.shadowRoot.querySelector('#target')\n\n if (dropdownElement && !path.includes(dropdownElement)) {\n this.hide()\n }\n }\n\n /**\n * Abre o dropdown.\n * Define a propriedade `isOpen` como verdadeira e retorna o novo estado.\n * Este método é marcado com @Method() para que possa ser chamado externamente.\n */\n @Method()\n async open(): Promise<{ isOpen: boolean }> {\n this.isOpen = true\n return { isOpen: this.isOpen } // Retorna o novo estado\n }\n\n /**\n * Esconde o dropdown.\n * Define a propriedade `isOpen` como falsa e retorna o novo estado.\n * Este método é marcado com @Method() para que possa ser chamado externamente.\n */\n @Method()\n async hide(): Promise<{ isOpen: boolean }> {\n this.isOpen = false\n return { isOpen: this.isOpen } // Retorna o novo estado\n }\n\n private inheritedAttributes: Attributes = {}\n\n render() {\n return (\n <Host is-open={this.isOpen}>\n <div class={this.getCssClassMap()} {...this.inheritedAttributes}>\n <div\n id=\"trigger\"\n onClick={this.toggle}\n aria-controls=\"target\"\n aria-haspopup=\"true\"\n aria-expanded={this.isOpen}\n >\n <slot name=\"trigger\"></slot>\n </div>\n <div id=\"target\" aria-hidden={!this.isOpen}>\n <slot name=\"target\"></slot>\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"mappings":"oGAAA,MAAMA,EAAc,uqOACpB,MAAAC,EAAeD,E,MCeFE,EAAQ,M,k4BA8KFC,KAAAC,OAAUC,IACzBA,EAAMC,kBACNH,KAAKI,QAAUJ,KAAKI,MAAM,EAuCpBJ,KAAAK,oBAAkC,G,YAzMgB,K,CAO1D,aAAAC,GACEN,KAAKO,iBAAiBC,KAAK,CAAE,YAAaR,KAAKI,Q,CAQjD,iBAAAK,GACET,KAAKU,aAAaF,OAClBG,SAASC,iBAAiB,QAASZ,KAAKa,eAAeC,KAAKd,M,CAS9D,iBAAAe,GACEf,KAAKgB,WAAWR,OAChBR,KAAKK,oBAAsBY,EAAsBjB,KAAKkB,G,CASxD,gBAAAC,GACEnB,KAAKoB,UAAUZ,M,CASjB,mBAAAa,GACErB,KAAKsB,aAAad,M,CASpB,kBAAAe,GACEvB,KAAKwB,YAAYhB,M,CASnB,qBAAAiB,GACEzB,KAAK0B,eAAelB,M,CAStB,mBAAAmB,GACE3B,KAAK4B,aAAapB,M,CASpB,kBAAAqB,GACE7B,KAAK8B,YAAYtB,M,CASnB,oBAAAuB,GACE/B,KAAKgC,gBAAgBxB,OACrBG,SAASsB,oBAAoB,QAASjC,KAAKa,eAAeC,KAAKd,M,CAUjE,sBAAAkC,CAAuBC,GACrBnC,KAAKoC,yBAAyB5B,KAAK2B,E,CAUrC,oBAAAE,CAAqBC,GACnBtC,KAAKuC,uBAAuB/B,KAAK8B,E,CAQnC,iBAAAE,GACExC,KAAKyC,oBAAoBjC,M,CAW3B,wBAAAkC,CAAyBC,EAAeC,GACtC5C,KAAK6C,2BAA2BrC,KAAK,CAACmC,EAAOC,G,CAQvC,cAAAE,GACN,MAAO,CACL,cAAe,K,CAiBX,cAAAjC,CAAeX,GACrB,MAAM6C,EAAO7C,EAAM8C,eACnB,MAAMC,EAAkBjD,KAAKkB,GAAGgC,WAAWC,cAAc,WAEzD,GAAIF,IAAoBF,EAAKK,SAASH,GAAkB,CACtDjD,KAAKqD,M,EAUT,UAAMC,GACJtD,KAAKI,OAAS,KACd,MAAO,CAAEA,OAAQJ,KAAKI,O,CASxB,UAAMiD,GACJrD,KAAKI,OAAS,MACd,MAAO,CAAEA,OAAQJ,KAAKI,O,CAKxB,MAAAmD,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,qDAAU1D,KAAKI,QAClBoD,EAAA,MAAAG,OAAAC,OAAA,CAAAF,IAAA,2CAAKG,MAAO7D,KAAK8C,kBAAsB9C,KAAKK,qBAC1CmD,EAAA,OAAAE,IAAA,2CACEI,GAAG,UACHC,QAAS/D,KAAKC,OAAM,gBACN,SAAQ,gBACR,OAAM,gBACLD,KAAKI,QAEpBoD,EAAA,QAAAE,IAAA,2CAAMM,KAAK,aAEbR,EAAA,OAAAE,IAAA,2CAAKI,GAAG,SAAQ,eAAe9D,KAAKI,QAClCoD,EAAA,QAAAE,IAAA,2CAAMM,KAAK,a","ignoreList":[]}
1
+ {"version":3,"names":["dropdownCss","BrDropdownStyle0","Dropdown","this","toggle","event","stopPropagation","isOpen","inheritedAttributes","isOpenChanged","brDropdownChange","emit","connectedCallback","brDidConnect","document","addEventListener","onClickOutside","bind","componentWillLoad","brWillLoad","inheritAriaAttributes","el","componentDidLoad","brDidLoad","componentWillRender","brWillRender","componentDidRender","brDidRender","componentShouldUpdate","brShouldUpdate","componentWillUpdate","brWillUpdate","componentDidUpdate","brDidUpdate","disconnectedCallback","brDidDisconnect","removeEventListener","formAssociatedCallback","form","brFormAssociatedCallback","formDisabledCallback","disabled","brFormDisabledCallback","formResetCallback","brFormResetCallback","formStateRestoreCallback","state","_mode","brFormStateRestoreCallback","getCssClassMap","path","composedPath","dropdownElement","shadowRoot","querySelector","includes","hide","open","render","h","Host","key","Object","assign","class","id","onClick","name"],"sources":["src/components/dropdown/dropdown.scss?tag=br-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.tsx"],"sourcesContent":[":host {\n display: block;\n position: relative;\n\n #trigger {\n display: inline-block;\n cursor: pointer;\n }\n\n #target {\n display: none;\n position: absolute;\n top: 100%;\n left: 0;\n }\n}\n\n:host([is-open]) {\n #target {\n display: block;\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, Host, Method, Prop, Watch, h } from '@stencil/core'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/dropdown?tab=designer).\n *\n * @slot trigger - Slot que recebe o elemento acionador\n * @slot target - Slot que recebe o elemento alvo\n */\n@Component({\n tag: 'br-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Dropdown {\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: HTMLBrDropdownElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Indica se o dropdown está aberto ou fechado.\n * Esta propriedade é refletida no DOM e pode ser alterada externamente.\n * O valor padrão é falso (fechado).\n */\n @Prop({ reflect: true, mutable: true }) isOpen: boolean = false\n\n /**\n * Método chamado sempre que a propriedade `isOpen` muda.\n * Emite um evento com o novo estado do dropdown.\n */\n @Watch('isOpen')\n isOpenChanged() {\n this.brDropdownChange.emit({ 'is-opened': this.isOpen })\n }\n\n /**\n * Emite um evento quando o componente é conectado ao DOM.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#connectedcallback) para mais detalhes.\n */\n @Event() brDidConnect: EventEmitter<void>\n connectedCallback() {\n this.brDidConnect.emit()\n document.addEventListener('click', this.onClickOutside.bind(this))\n }\n\n /**\n * Emite um evento antes que o componente seja carregado pela primeira vez.\n * Utilize este evento para realizar tarefas de inicialização antes do componente ser exibido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillload) para mais detalhes.\n */\n @Event() brWillLoad: EventEmitter<void>\n componentWillLoad() {\n this.brWillLoad.emit()\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n /**\n * Emite um evento após o componente ter sido carregado pela primeira vez.\n * Utilize este evento para realizar ações que devem ocorrer depois que o componente foi totalmente carregado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes.\n */\n @Event() brDidLoad: EventEmitter<void>\n componentDidLoad() {\n this.brDidLoad.emit()\n }\n\n /**\n * Emite um evento antes do componente ser renderizado.\n * Utilize este evento para preparar o componente antes de sua renderização.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillrender) para mais detalhes.\n */\n @Event() brWillRender: EventEmitter<void>\n componentWillRender() {\n this.brWillRender.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido renderizado.\n * Utilize este evento para executar ações que devem ocorrer após a renderização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidrender) para mais detalhes.\n */\n @Event() brDidRender: EventEmitter<void>\n componentDidRender() {\n this.brDidRender.emit()\n }\n\n /**\n * Emite um evento para indicar se o componente deve ser atualizado ou não.\n * Este evento é chamado antes de qualquer atualização do componente para decidir se a atualização deve prosseguir.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentshouldupdate) para mais detalhes.\n */\n @Event() brShouldUpdate: EventEmitter<void>\n componentShouldUpdate() {\n this.brShouldUpdate.emit()\n }\n\n /**\n * Emite um evento antes de o componente ser atualizado.\n * Utilize este evento para realizar ações preparatórias antes da atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillupdate) para mais detalhes.\n */\n @Event() brWillUpdate: EventEmitter<void>\n componentWillUpdate() {\n this.brWillUpdate.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido atualizado.\n * Utilize este evento para realizar ações após a atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidupdate) para mais detalhes.\n */\n @Event() brDidUpdate: EventEmitter<void>\n componentDidUpdate() {\n this.brDidUpdate.emit()\n }\n\n /**\n * Emite um evento quando o componente é desconectado do DOM.\n * Utilize este evento para realizar a limpeza ou outras ações necessárias quando o componente é removido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#disconnectedcallback) para mais detalhes.\n */\n @Event() brDidDisconnect: EventEmitter<void>\n disconnectedCallback() {\n this.brDidDisconnect.emit()\n document.removeEventListener('click', this.onClickOutside.bind(this))\n }\n\n /**\n * Emite um evento quando o componente é associado ou removido de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formassociatedcallback) para mais detalhes.\n *\n * @param form - Dados do formulário associado.\n */\n @Event() brFormAssociatedCallback: EventEmitter<FormData>\n formAssociatedCallback(form: FormData) {\n this.brFormAssociatedCallback.emit(form)\n }\n\n /**\n * Emite um evento quando o estado `disabled` do componente muda dentro de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formdisabledcallback) para mais informações.\n *\n * @param disabled - Novo estado `disabled` do componente dentro do formulário.\n */\n @Event() brFormDisabledCallback: EventEmitter<boolean>\n formDisabledCallback(disabled: boolean) {\n this.brFormDisabledCallback.emit(disabled)\n }\n\n /**\n * Emite um evento quando um `<form>` é resetado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formresetcallback) para mais detalhes.\n */\n @Event() brFormResetCallback: EventEmitter<void>\n formResetCallback() {\n this.brFormResetCallback.emit()\n }\n\n /**\n * Emite um evento quando o navegador preenche automaticamente os campos de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formstaterestorecallback) para mais informações.\n *\n * @param state - Estado restaurado do formulário.\n * @param _mode - Modo de preenchimento automático do navegador.\n */\n @Event() brFormStateRestoreCallback: EventEmitter<[state: string, _mode: string]>\n formStateRestoreCallback(state: string, _mode: string) {\n this.brFormStateRestoreCallback.emit([state, _mode])\n }\n\n /**\n * Evento emitido quando o estado do dropdown muda.\n */\n @Event() brDropdownChange: EventEmitter<{ 'is-opened': boolean }>\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-dropdown': true,\n }\n }\n\n /**\n * Alterna o estado do dropdown entre aberto e fechado.\n */\n private readonly toggle = (event: Event) => {\n event.stopPropagation()\n this.isOpen = !this.isOpen\n }\n\n /**\n * Método que lida com cliques fora do dropdown.\n *\n * @param {MouseEvent} event - O evento de clique que ocorreu.\n */\n private onClickOutside(event: MouseEvent) {\n const path = event.composedPath()\n const dropdownElement = this.el.shadowRoot.querySelector('#target')\n\n if (dropdownElement && !path.includes(dropdownElement)) {\n this.hide()\n }\n }\n\n /**\n * Abre o dropdown.\n * Define a propriedade `isOpen` como verdadeira e retorna o novo estado.\n * Este método é marcado com @Method() para que possa ser chamado externamente.\n */\n @Method()\n async open(): Promise<{ isOpen: boolean }> {\n this.isOpen = true\n return { isOpen: this.isOpen } // Retorna o novo estado\n }\n\n /**\n * Esconde o dropdown.\n * Define a propriedade `isOpen` como falsa e retorna o novo estado.\n * Este método é marcado com @Method() para que possa ser chamado externamente.\n */\n @Method()\n async hide(): Promise<{ isOpen: boolean }> {\n this.isOpen = false\n return { isOpen: this.isOpen } // Retorna o novo estado\n }\n\n private inheritedAttributes: Attributes = {}\n\n render() {\n return (\n <Host is-open={this.isOpen}>\n <div class={this.getCssClassMap()} {...this.inheritedAttributes}>\n <div\n id=\"trigger\"\n onClick={this.toggle}\n aria-controls=\"target\"\n aria-haspopup=\"true\"\n aria-expanded={this.isOpen}\n >\n <slot name=\"trigger\"></slot>\n </div>\n <div id=\"target\" aria-hidden={!this.isOpen}>\n <slot name=\"target\"></slot>\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"mappings":"oGAAA,MAAMA,EAAc,+oQACpB,MAAAC,EAAeD,E,MCeFE,EAAQ,M,k4BA8KFC,KAAAC,OAAUC,IACzBA,EAAMC,kBACNH,KAAKI,QAAUJ,KAAKI,MAAM,EAuCpBJ,KAAAK,oBAAkC,G,YAzMgB,K,CAO1D,aAAAC,GACEN,KAAKO,iBAAiBC,KAAK,CAAE,YAAaR,KAAKI,Q,CAQjD,iBAAAK,GACET,KAAKU,aAAaF,OAClBG,SAASC,iBAAiB,QAASZ,KAAKa,eAAeC,KAAKd,M,CAS9D,iBAAAe,GACEf,KAAKgB,WAAWR,OAChBR,KAAKK,oBAAsBY,EAAsBjB,KAAKkB,G,CASxD,gBAAAC,GACEnB,KAAKoB,UAAUZ,M,CASjB,mBAAAa,GACErB,KAAKsB,aAAad,M,CASpB,kBAAAe,GACEvB,KAAKwB,YAAYhB,M,CASnB,qBAAAiB,GACEzB,KAAK0B,eAAelB,M,CAStB,mBAAAmB,GACE3B,KAAK4B,aAAapB,M,CASpB,kBAAAqB,GACE7B,KAAK8B,YAAYtB,M,CASnB,oBAAAuB,GACE/B,KAAKgC,gBAAgBxB,OACrBG,SAASsB,oBAAoB,QAASjC,KAAKa,eAAeC,KAAKd,M,CAUjE,sBAAAkC,CAAuBC,GACrBnC,KAAKoC,yBAAyB5B,KAAK2B,E,CAUrC,oBAAAE,CAAqBC,GACnBtC,KAAKuC,uBAAuB/B,KAAK8B,E,CAQnC,iBAAAE,GACExC,KAAKyC,oBAAoBjC,M,CAW3B,wBAAAkC,CAAyBC,EAAeC,GACtC5C,KAAK6C,2BAA2BrC,KAAK,CAACmC,EAAOC,G,CAQvC,cAAAE,GACN,MAAO,CACL,cAAe,K,CAiBX,cAAAjC,CAAeX,GACrB,MAAM6C,EAAO7C,EAAM8C,eACnB,MAAMC,EAAkBjD,KAAKkB,GAAGgC,WAAWC,cAAc,WAEzD,GAAIF,IAAoBF,EAAKK,SAASH,GAAkB,CACtDjD,KAAKqD,M,EAUT,UAAMC,GACJtD,KAAKI,OAAS,KACd,MAAO,CAAEA,OAAQJ,KAAKI,O,CASxB,UAAMiD,GACJrD,KAAKI,OAAS,MACd,MAAO,CAAEA,OAAQJ,KAAKI,O,CAKxB,MAAAmD,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,qDAAU1D,KAAKI,QAClBoD,EAAA,MAAAG,OAAAC,OAAA,CAAAF,IAAA,2CAAKG,MAAO7D,KAAK8C,kBAAsB9C,KAAKK,qBAC1CmD,EAAA,OAAAE,IAAA,2CACEI,GAAG,UACHC,QAAS/D,KAAKC,OAAM,gBACN,SAAQ,gBACR,OAAM,gBACLD,KAAKI,QAEpBoD,EAAA,QAAAE,IAAA,2CAAMM,KAAK,aAEbR,EAAA,OAAAE,IAAA,2CAAKI,GAAG,SAAQ,eAAe9D,KAAKI,QAClCoD,EAAA,QAAAE,IAAA,2CAAMM,KAAK,a","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as r,H as a,g as e}from"./p-6849daee.js";import{i as o}from"./p-ee6f4f3f.js";import{v as n}from"./p-14616bce.js";const s="*,*::before,*::after{box-sizing:border-box}html{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a{background-color:transparent}strong{font-weight:bolder}code{font-family:monospace;font-size:1em}small{font-size:80%}img{border-style:none}button,input,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}[hidden]{display:none}.d-flex{display:flex !important}.align-items-center{align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{flex:1 0 0%;min-width:8.3333333333%}.col-auto{flex:0 0 auto;width:auto}.container{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:flex;flex-wrap:wrap;margin-left:calc(var(--grid-gutter) * -0.5);margin-right:calc(var(--grid-gutter) * -0.5)}@media (min-width: 576px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half);color:var(--interactive);text-decoration:none}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}code,.code{background:var(--gray-5);border-radius:4px;color:var(--gray-80);display:inline-block;font-family:monospace;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);padding:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.bg-support-01{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.highlight{background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.br-input{--input-button-margin:var(--spacing-scale-half);--input-padding:0 var(--spacing-scale-2x);--input-padding-button:var(--spacing-scale-5x);--input-padding-icon:var(--spacing-scale-5x);--input-size:var(--input-medium);--input-small:32px;--input-medium:40px;--input-large:48px;--input-highlight:56px;--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--interactive-light-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);color:var(--color);position:relative}.br-input input{background-color:var(--background-light);border-color:var(--border-color-alternative);border-radius:var(--surface-rounder-sm);border-style:var(--border-style);border-width:var(--border-width);color:var(--color-light);display:block;font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);height:var(--input-size);margin-top:var(--spacing-scale-half);padding-bottom:0;padding-left:var(--spacing-scale-2x);padding-right:var(--spacing-scale-2x);padding-top:0;width:100%}.br-input input::-ms-reveal,.br-input input::-ms-clear,.br-input input::-webkit-calendar-picker-indicator{display:none}.br-input input[type=search]::-webkit-search-decoration,.br-input input[type=search]::-webkit-search-cancel-button,.br-input input[type=search]::-webkit-search-results-button,.br-input input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.br-input.input-inline{display:flex}.br-input.input-inline .input-label{margin-right:var(--spacing-scale-baseh);margin-top:calc(var(--input-size) * 0.5 - var(--spacing-scale-half))}.br-input .input-group{position:relative}.br-input .input-icon{align-items:center;color:var(--border-color-alternative);display:flex;height:var(--input-size);margin-left:var(--spacing-scale-baseh);position:absolute}.br-input .input-icon+input{padding-left:var(--input-padding-icon)}.br-input .br-button{--button-size:var(--button-small);--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--interactive-light-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);border-radius:50%;float:right;margin-right:var(--input-button-margin);margin-top:calc((var(--input-size) + var(--spacing-scale-half)) * -1);padding:0;position:relative;transform:translateY(calc((var(--input-size) - var(--button-size)) * 0.5));width:var(--button-size)}.br-input.input-button input{padding-right:var(--input-padding-button)}.br-input.has-icon input{padding-right:var(--input-padding-icon)}.br-input.has-icon .br-button.circle{float:right;margin-right:var(--spacing-scale-half);margin-top:calc((var(--button-size) + var(--spacing-scale-half) + var(--spacing-scale-half)) * -1);transform:translateY(0)}.br-input.has-icon.small .br-button.circle{margin-top:calc((var(--button-size) + var(--spacing-scale-base)) * -1)}.br-input.has-icon.large .br-button.circle{margin-top:calc(var(--button-size) * -1)}.br-input.input-highlight{--input-button-margin:var(--spacing-scale-2x);--input-padding:0 var(--spacing-scale-3x);--input-padding-button:var(--spacing-scale-7x);--input-padding-icon:var(--spacing-scale-7x);--input-size:var(--input-highlight)}.br-input.input-highlight input{background-color:var(--gray-2);border-color:transparent;padding-left:var(--spacing-scale-3x);padding-right:var(--spacing-scale-3x)}.br-input.input-highlight .input-icon{margin-left:var(--spacing-scale-3x)}.br-input.input-highlight .input-icon+input{padding-left:var(--spacing-scale-7x)}.br-input .br-list{box-shadow:var(--surface-shadow-md);max-height:530px;overflow:auto;position:absolute;width:100%;z-index:var(--z-index-layer-2)}.br-input .br-list::-webkit-scrollbar{height:var(--spacing-scale-base);width:var(--spacing-scale-base)}.br-input .br-list::-webkit-scrollbar-track{background:var(--gray-10)}.br-input .br-list::-webkit-scrollbar-thumb{background:var(--gray-30)}.br-input .br-list:hover::-webkit-scrollbar-thumb{background:var(--gray-40)}.br-input .br-list .br-item{--item-padding-y:var(--spacing-scale-2x)}.br-input .br-list .br-item:not(:disabled):hover{background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}.br-input .br-list .br-item:not(:first-child){border-top:var(--surface-width-sm) solid var(--border-color)}.br-input.success input{border-color:var(--success);border-width:2px}.br-input.danger input{border-color:var(--danger);border-width:2px}.br-input.warning input{border-color:var(--warning);border-width:2px}.br-input.info input{border-color:var(--info);border-width:2px}.br-input input:not(:disabled):hover{background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}.br-input input:focus,.br-input input:focus-visible{border-color:var(--focus) !important;box-shadow:0 0 0 var(--surface-width-md) var(--focus);outline:none}.br-input .feedback{margin-bottom:var(--spacing-scale-half)}.br-input.small{--input-size:var(--input-small)}.br-input.medium{--input-size:var(--input-medium)}.br-input.large{--input-size:var(--input-large)}.br-input.dark-mode,.br-input.dark-mode label{--color:var(--color-dark);--focus-color:var(--focus-color-dark)}:host{display:block}:host .br-input .input-icon{margin-top:0.1em;margin-left:var(--spacing-scale-base)}:host .br-input .input-icon+input{padding-left:calc(var(--input-padding-icon) + 3px)}.br-input br-button{float:right;margin-right:var(--input-button-margin);margin-top:calc((var(--input-size) + var(--spacing-scale-half)) * -1);padding:0;position:relative}.button-transform{transform:translateY(calc((var(--input-size) - 32px) * 0.5))}";const l=s;const c=class{constructor(a){t(this,a);this.brDidConnect=i(this,"brDidConnect",7);this.brWillLoad=i(this,"brWillLoad",7);this.brDidLoad=i(this,"brDidLoad",7);this.brWillRender=i(this,"brWillRender",7);this.brDidRender=i(this,"brDidRender",7);this.brShouldUpdate=i(this,"brShouldUpdate",7);this.brWillUpdate=i(this,"brWillUpdate",7);this.brDidUpdate=i(this,"brDidUpdate",7);this.brDidDisconnect=i(this,"brDidDisconnect",7);this.brFormAssociatedCallback=i(this,"brFormAssociatedCallback",7);this.brFormDisabledCallback=i(this,"brFormDisabledCallback",7);this.brFormResetCallback=i(this,"brFormResetCallback",7);this.brFormStateRestoreCallback=i(this,"brFormStateRestoreCallback",7);this.valueChange=i(this,"valueChange",7);if(a.$hostElement$["s-ei"]){this.elementInternals=a.$hostElement$["s-ei"]}else{this.elementInternals=a.$hostElement$.attachInternals();a.$hostElement$["s-ei"]=this.elementInternals}this.inheritedAttributes={};this.handleInput=t=>{this.value=t.target.value;this.valueChange.emit(this.value)};this.renderLabel=()=>{var t;if(((t=this.label)===null||t===void 0?void 0:t.length)>0){if(this.isInline){return r("div",{class:"input-label"},r("label",{class:"text-nowrap",htmlFor:this.defaultID},this.label))}else{return r("label",{htmlFor:this.defaultID},this.label)}}};this.togglePasswordVisibility=()=>{const t=this.el.shadowRoot.querySelector("input");t.type=t.type==="password"?"text":"password";this.showIconTextPassword=t.type==="password"};this.renderInput=()=>r("input",Object.assign({class:this.isHighlight?"input-highlight":null,id:this.defaultID,autocomplete:this.autocomplete,disabled:this.disabled,onInput:this.handleInput,placeholder:this.placeholder,readonly:this.readonly,required:this.required,title:this.el.title,type:this.type,value:this.value},this.inheritedAttributes));this.renderHelpText=()=>{var t;return((t=this.helpText)===null||t===void 0?void 0:t.length)>0?r("p",null,this.helpText):r("slot",{name:"help-text"})};this.renderIconPassword=()=>{const t=!this.showIconTextPassword;return r("br-icon",{"icon-name":t?"fa-solid:eye":"fa-solid:eye-slash"})};this.defaultID=`br-input-${n()}`;this.type="text";this.autocomplete=undefined;this.density="medium";this.disabled=false;this.isInline=false;this.isHighlight=false;this.success=false;this.danger=false;this.info=false;this.warning=false;this.label=undefined;this.name=undefined;this.placeholder=undefined;this.readonly=false;this.required=false;this.value=undefined;this.helpText=undefined;this.showIconTextPassword=false;this.hasIconSlot=false;this.hasActionSlot=false}connectedCallback(){this.brDidConnect.emit()}componentWillLoad(){this.hasIconSlot=this.hasSlotContent("icon");this.hasActionSlot=this.hasSlotContent("action");this.brWillLoad.emit();this.inheritedAttributes=o(this.el)}componentDidLoad(){this.brDidLoad.emit()}componentWillRender(){this.brWillRender.emit()}componentDidRender(){this.brDidRender.emit()}componentShouldUpdate(){this.brShouldUpdate.emit()}componentWillUpdate(){this.brWillUpdate.emit()}componentDidUpdate(){this.brDidUpdate.emit()}disconnectedCallback(){this.brDidDisconnect.emit()}formAssociatedCallback(t){this.brFormAssociatedCallback.emit(t)}formDisabledCallback(t){this.brFormDisabledCallback.emit(t)}formResetCallback(){this.brFormResetCallback.emit()}formStateRestoreCallback(t,i){this.brFormStateRestoreCallback.emit([t,i])}getInputCssClassMap(){return{"br-input":true,"input-button":this.hasActionSlot,small:this.density==="small",large:this.density==="large",medium:this.density==="medium","input-inline":this.isInline,"input-highlight":this.isHighlight,success:this.success,danger:this.danger,info:this.info,warning:this.warning}}hasSlotContent(t){return this.el.querySelector(`[slot="${t}"]`)!==null}renderIconSlot(){if(this.hasSlotContent("icon")){return r("div",{class:"input-icon"},r("slot",{name:"icon"}))}}renderButton(){if(this.type==="password"){return r("br-button",{class:"button-transform",shape:"circle",density:"small","aria-label":"botão de ação do ícone",onClick:this.togglePasswordVisibility},this.renderIconPassword())}else if(this.hasSlotContent("action")){return r("br-button",{class:"button-transform",shape:"circle",density:"small","aria-label":"botão de ação do ícone"},r("slot",{name:"action"}))}return null}render(){return r(a,{key:"04d44896164c990470d07dde9bd531afa826dfe2"},r("div",{key:"9605db5f9260861938915b37dda216b5babf2ea1",class:this.getInputCssClassMap()},this.renderLabel(),this.hasIconSlot?r("div",{class:"input-group"},this.renderIconSlot(),this.renderInput()):this.renderInput(),this.renderButton(),this.renderHelpText()))}static get formAssociated(){return true}get el(){return e(this)}};c.style=l;export{c as br_input};
2
+ //# sourceMappingURL=p-6783eb4f.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["inputCss","BrInputStyle0","Input","this","inheritedAttributes","handleInput","event","value","target","valueChange","emit","renderLabel","_a","label","length","isInline","h","class","htmlFor","defaultID","togglePasswordVisibility","input","el","shadowRoot","querySelector","type","showIconTextPassword","renderInput","Object","assign","isHighlight","id","autocomplete","disabled","onInput","placeholder","readonly","required","title","renderHelpText","helpText","name","renderIconPassword","showPassword","uuidv4","connectedCallback","brDidConnect","componentWillLoad","hasIconSlot","hasSlotContent","hasActionSlot","brWillLoad","inheritAriaAttributes","componentDidLoad","brDidLoad","componentWillRender","brWillRender","componentDidRender","brDidRender","componentShouldUpdate","brShouldUpdate","componentWillUpdate","brWillUpdate","componentDidUpdate","brDidUpdate","disconnectedCallback","brDidDisconnect","formAssociatedCallback","form","brFormAssociatedCallback","formDisabledCallback","brFormDisabledCallback","formResetCallback","brFormResetCallback","formStateRestoreCallback","state","_mode","brFormStateRestoreCallback","getInputCssClassMap","small","density","large","medium","success","danger","info","warning","slotName","renderIconSlot","renderButton","shape","onClick","render","Host","key"],"sources":["src/components/input/input.scss?tag=br-input&encapsulation=shadow","src/components/input/input.tsx"],"sourcesContent":["@import \"../../../../../node_modules/@govbr-ds/core/src/components/input/input.scss\";\n\n:host {\n display: block;\n\n .br-input .input-icon {\n margin-top: 0.1em;\n margin-left: var(--spacing-scale-base);\n }\n\n .br-input .input-icon + input {\n padding-left: calc(var(--input-padding-icon) + 3px);\n }\n}\n\n\n.br-input br-button {\n float: right;\n margin-right: var(--input-button-margin);\n margin-top: calc((var(--input-size) + var(--spacing-scale-half)) * -1);\n padding: 0;\n position: relative;\n}\n\n .button-transform{\n transform: translateY(calc((var(--input-size) - 32px) * 0.5));\n }\n","import { AttachInternals, Component, Element, Event, EventEmitter, Host, Prop, State, h } from '@stencil/core'\nimport { v4 as uuidv4 } from 'uuid'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n *\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/input?tab=designer).\n *\n * @slot action - Botão à direita do input.\n * @slot icon - Ícone à esquerda do input.\n * @slot help-text - Personalização do texto de ajuda.\n */\n@Component({\n tag: 'br-input',\n styleUrl: 'input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Input {\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: HTMLBrInputElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Identificador único do campo de entrada.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) defaultID: string = `br-input-${uuidv4()}`\n\n /**\n * Especifica o tipo de entrada do campo. Pode ser um dos seguintes:\n * - 'color': Seletor de cor\n * - 'email': Campo para e-mail\n * - 'hidden': Campo oculto\n * - 'password': Campo para senha\n * - 'range': Controle deslizante\n * - 'search': Campo de pesquisa\n * - 'number': Campo para números\n * - 'tel': Campo para números de telefone\n * - 'text': Campo de texto padrão\n * - 'url': Campo para URLs\n */\n @Prop({ reflect: true }) type:\n | 'color'\n | 'email'\n | 'hidden'\n | 'password'\n | 'range'\n | 'search'\n | 'number'\n | 'tel'\n | 'text'\n | 'url' = 'text'\n\n /**\n * Controla o comportamento de preenchimento automático do navegador para o input.\n */\n @Prop({ reflect: true }) autocomplete: 'on' | 'off'\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Desativa o input, tornando-o não interativo.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * Se verdadeiro, o rótulo e o input estarão na mesma linha (layout inline).\n */\n @Prop({ reflect: true }) isInline: boolean = false\n\n /**\n * Se verdadeiro, o input terá destaque visual.\n */\n @Prop({ reflect: true }) isHighlight: boolean = false\n\n /**\n * Se verdadeiro, o input indica um estado de validação bem-sucedido.\n */\n @Prop({ reflect: true }) success: boolean = false\n\n /**\n * Se verdadeiro, o input indica um estado de validação com erro.\n */\n @Prop({ reflect: true }) danger: boolean = false\n\n /**\n * Se verdadeiro, o input indica um estado informativo.\n */\n @Prop({ reflect: true }) info: boolean = false\n\n /**\n * Se verdadeiro, o input indica um estado de alerta.\n */\n @Prop({ reflect: true }) warning: boolean = false\n\n /**\n * Texto exibido como rótulo do input.\n */\n @Prop({ reflect: true }) label: string\n\n /**\n * Nome do input, utilizado para identificação em formulários.\n */\n @Prop({ reflect: true }) name: string\n\n /**\n * Texto exibido dentro do input quando está vazio, fornecendo uma dica ou sugestão ao usuário.\n */\n @Prop({ reflect: true }) placeholder: string\n\n /**\n * Se verdadeiro, o valor do input é exibido, mas não pode ser editado pelo usuário.\n */\n @Prop({ reflect: true }) readonly: boolean = false\n\n /**\n * Se verdadeiro, o input é obrigatório e deve ser preenchido antes que o formulário possa ser enviado.\n */\n @Prop({ reflect: true }) required: boolean = false\n\n /**\n * Valor inicial exibido no input.\n * Pode ser alterado pelo usuário se a propriedade `readonly` não estiver ativa.\n */\n @Prop({ reflect: true, mutable: true }) value: string\n\n /**\n * Texto adicional que fornece ajuda ou informações sobre o input.\n */\n @Prop({ reflect: true }) helpText: string\n\n @State() showIconTextPassword: boolean = false\n\n @State() hasIconSlot: boolean = false\n\n @State() hasActionSlot: boolean = false\n\n /**\n * Emite um evento quando o componente é conectado ao DOM.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#connectedcallback) para mais detalhes.\n */\n @Event() brDidConnect: EventEmitter<void>\n connectedCallback() {\n this.brDidConnect.emit()\n }\n\n /**\n * Emite um evento antes que o componente seja carregado pela primeira vez.\n * Utilize este evento para realizar tarefas de inicialização antes do componente ser exibido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillload) para mais detalhes.\n */\n @Event() brWillLoad: EventEmitter<void>\n componentWillLoad() {\n this.hasIconSlot = this.hasSlotContent('icon')\n this.hasActionSlot = this.hasSlotContent('action')\n this.brWillLoad.emit()\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n /**\n * Emite um evento após o componente ter sido carregado pela primeira vez.\n * Utilize este evento para realizar ações que devem ocorrer depois que o componente foi totalmente carregado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes.\n */\n @Event() brDidLoad: EventEmitter<void>\n componentDidLoad() {\n this.brDidLoad.emit()\n }\n\n /**\n * Emite um evento antes do componente ser renderizado.\n * Utilize este evento para preparar o componente antes de sua renderização.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillrender) para mais detalhes.\n */\n @Event() brWillRender: EventEmitter<void>\n componentWillRender() {\n this.brWillRender.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido renderizado.\n * Utilize este evento para executar ações que devem ocorrer após a renderização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidrender) para mais detalhes.\n */\n @Event() brDidRender: EventEmitter<void>\n componentDidRender() {\n this.brDidRender.emit()\n }\n\n /**\n * Emite um evento para indicar se o componente deve ser atualizado ou não.\n * Este evento é chamado antes de qualquer atualização do componente para decidir se a atualização deve prosseguir.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentshouldupdate) para mais detalhes.\n */\n @Event() brShouldUpdate: EventEmitter<void>\n componentShouldUpdate() {\n this.brShouldUpdate.emit()\n }\n\n /**\n * Emite um evento antes de o componente ser atualizado.\n * Utilize este evento para realizar ações preparatórias antes da atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillupdate) para mais detalhes.\n */\n @Event() brWillUpdate: EventEmitter<void>\n componentWillUpdate() {\n this.brWillUpdate.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido atualizado.\n * Utilize este evento para realizar ações após a atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidupdate) para mais detalhes.\n */\n @Event() brDidUpdate: EventEmitter<void>\n componentDidUpdate() {\n this.brDidUpdate.emit()\n }\n\n /**\n * Emite um evento quando o componente é desconectado do DOM.\n * Utilize este evento para realizar a limpeza ou outras ações necessárias quando o componente é removido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#disconnectedcallback) para mais detalhes.\n */\n @Event() brDidDisconnect: EventEmitter<void>\n disconnectedCallback() {\n this.brDidDisconnect.emit()\n }\n\n /**\n * Emite um evento quando o componente é associado ou removido de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formassociatedcallback) para mais detalhes.\n *\n * @param form - Dados do formulário associado.\n */\n @Event() brFormAssociatedCallback: EventEmitter<FormData>\n formAssociatedCallback(form: FormData) {\n this.brFormAssociatedCallback.emit(form)\n }\n\n /**\n * Emite um evento quando o estado `disabled` do componente muda dentro de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formdisabledcallback) para mais informações.\n *\n * @param disabled - Novo estado `disabled` do componente dentro do formulário.\n */\n @Event() brFormDisabledCallback: EventEmitter<boolean>\n formDisabledCallback(disabled: boolean) {\n this.brFormDisabledCallback.emit(disabled)\n }\n\n /**\n * Emite um evento quando um `<form>` é resetado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formresetcallback) para mais detalhes.\n */\n @Event() brFormResetCallback: EventEmitter<void>\n formResetCallback() {\n this.brFormResetCallback.emit()\n }\n\n /**\n * Emite um evento quando o navegador preenche automaticamente os campos de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formstaterestorecallback) para mais informações.\n *\n * @param state - Estado restaurado do formulário.\n * @param _mode - Modo de preenchimento automático do navegador.\n */\n @Event() brFormStateRestoreCallback: EventEmitter<[state: string, _mode: string]>\n formStateRestoreCallback(state: string, _mode: string) {\n this.brFormStateRestoreCallback.emit([state, _mode])\n }\n\n private getInputCssClassMap(): CssClassMap {\n return {\n 'br-input': true,\n 'input-button': this.hasActionSlot,\n small: this.density === 'small',\n large: this.density === 'large',\n medium: this.density === 'medium',\n 'input-inline': this.isInline,\n 'input-highlight': this.isHighlight,\n success: this.success,\n danger: this.danger,\n info: this.info,\n warning: this.warning,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n /**\n * Valor atualizado do input\n */\n @Event() valueChange!: EventEmitter<string>\n private readonly handleInput = (event: Event) => {\n this.value = (event.target as HTMLInputElement).value\n this.valueChange.emit(this.value)\n }\n\n private readonly renderLabel = () => {\n if (this.label?.length > 0) {\n if (this.isInline) {\n return (\n <div class=\"input-label\">\n <label class=\"text-nowrap\" htmlFor={this.defaultID}>\n {this.label}\n </label>\n </div>\n )\n } else {\n return <label htmlFor={this.defaultID}>{this.label}</label>\n }\n }\n }\n\n private readonly togglePasswordVisibility = () => {\n const input = this.el.shadowRoot.querySelector('input')\n input.type = input.type === 'password' ? 'text' : 'password'\n this.showIconTextPassword = input.type === 'password'\n }\n\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private readonly renderInput = () => {\n return (\n <input\n class={this.isHighlight ? 'input-highlight' : null}\n id={this.defaultID}\n autocomplete={this.autocomplete}\n disabled={this.disabled}\n onInput={this.handleInput}\n placeholder={this.placeholder}\n readonly={this.readonly}\n required={this.required}\n title={this.el.title}\n type={this.type}\n value={this.value}\n {...this.inheritedAttributes}\n />\n )\n }\n\n private readonly renderHelpText = () => {\n return this.helpText?.length > 0 ? <p>{this.helpText}</p> : <slot name=\"help-text\"></slot>\n }\n\n private readonly renderIconPassword = () => {\n const showPassword = !this.showIconTextPassword\n return <br-icon icon-name={showPassword ? 'fa-solid:eye' : 'fa-solid:eye-slash'}></br-icon>\n }\n\n private renderIconSlot() {\n if (this.hasSlotContent('icon')) {\n return (\n <div class=\"input-icon\">\n <slot name=\"icon\"></slot>\n </div>\n )\n }\n }\n\n private renderButton() {\n if (this.type === 'password') {\n return (\n <br-button\n class=\"button-transform\"\n shape=\"circle\"\n density=\"small\"\n aria-label=\"botão de ação do ícone\"\n onClick={this.togglePasswordVisibility}\n >\n {this.renderIconPassword()}\n </br-button>\n )\n } else if (this.hasSlotContent('action')) {\n return (\n <br-button\n class=\"button-transform\"\n shape=\"circle\"\n density=\"small\"\n aria-label=\"botão de ação do ícone\"\n // onClick={this.onIconAction}\n >\n <slot name=\"action\"></slot>\n </br-button>\n )\n }\n return null\n }\n\n render() {\n return (\n <Host>\n <div class={this.getInputCssClassMap()}>\n {this.renderLabel()}\n\n {this.hasIconSlot ? (\n <div class=\"input-group\">\n {this.renderIconSlot()}\n {this.renderInput()}\n </div>\n ) : (\n this.renderInput()\n )}\n\n {this.renderButton()}\n {this.renderHelpText()}\n </div>\n </Host>\n )\n }\n}\n"],"mappings":"wIAAA,MAAMA,EAAW,6xZACjB,MAAAC,EAAeD,E,MCkBFE,EAAK,M,w3BAsRRC,KAAAC,oBAAkC,GAMzBD,KAAAE,YAAeC,IAC9BH,KAAKI,MAASD,EAAME,OAA4BD,MAChDJ,KAAKM,YAAYC,KAAKP,KAAKI,MAAM,EAGlBJ,KAAAQ,YAAc,K,MAC7B,KAAIC,EAAAT,KAAKU,SAAK,MAAAD,SAAA,SAAAA,EAAEE,QAAS,EAAG,CAC1B,GAAIX,KAAKY,SAAU,CACjB,OACEC,EAAA,OAAKC,MAAM,eACTD,EAAA,SAAOC,MAAM,cAAcC,QAASf,KAAKgB,WACtChB,KAAKU,O,KAIP,CACL,OAAOG,EAAA,SAAOE,QAASf,KAAKgB,WAAYhB,KAAKU,M,IAKlCV,KAAAiB,yBAA2B,KAC1C,MAAMC,EAAQlB,KAAKmB,GAAGC,WAAWC,cAAc,SAC/CH,EAAMI,KAAOJ,EAAMI,OAAS,WAAa,OAAS,WAClDtB,KAAKuB,qBAAuBL,EAAMI,OAAS,UAAU,EAOtCtB,KAAAwB,YAAc,IAE3BX,EAAA,QAAAY,OAAAC,OAAA,CACEZ,MAAOd,KAAK2B,YAAc,kBAAoB,KAC9CC,GAAI5B,KAAKgB,UACTa,aAAc7B,KAAK6B,aACnBC,SAAU9B,KAAK8B,SACfC,QAAS/B,KAAKE,YACd8B,YAAahC,KAAKgC,YAClBC,SAAUjC,KAAKiC,SACfC,SAAUlC,KAAKkC,SACfC,MAAOnC,KAAKmB,GAAGgB,MACfb,KAAMtB,KAAKsB,KACXlB,MAAOJ,KAAKI,OACRJ,KAAKC,sBAKED,KAAAoC,eAAiB,K,MAChC,QAAO3B,EAAAT,KAAKqC,YAAQ,MAAA5B,SAAA,SAAAA,EAAEE,QAAS,EAAIE,EAAA,SAAIb,KAAKqC,UAAgBxB,EAAA,QAAMyB,KAAK,aAAmB,EAG3EtC,KAAAuC,mBAAqB,KACpC,MAAMC,GAAgBxC,KAAKuB,qBAC3B,OAAOV,EAAA,uBAAoB2B,EAAe,eAAiB,sBAAgC,E,eAvUhD,YAAYC,M,UAyB7C,O,yCAUqD,S,cAKpB,M,cAKA,M,iBAKG,M,aAKJ,M,YAKD,M,UAKF,M,aAKG,M,kFAoBC,M,cAKA,M,uEAaJ,M,iBAET,M,mBAEE,K,CAOlC,iBAAAC,GACE1C,KAAK2C,aAAapC,M,CASpB,iBAAAqC,GACE5C,KAAK6C,YAAc7C,KAAK8C,eAAe,QACvC9C,KAAK+C,cAAgB/C,KAAK8C,eAAe,UACzC9C,KAAKgD,WAAWzC,OAChBP,KAAKC,oBAAsBgD,EAAsBjD,KAAKmB,G,CASxD,gBAAA+B,GACElD,KAAKmD,UAAU5C,M,CASjB,mBAAA6C,GACEpD,KAAKqD,aAAa9C,M,CASpB,kBAAA+C,GACEtD,KAAKuD,YAAYhD,M,CASnB,qBAAAiD,GACExD,KAAKyD,eAAelD,M,CAStB,mBAAAmD,GACE1D,KAAK2D,aAAapD,M,CASpB,kBAAAqD,GACE5D,KAAK6D,YAAYtD,M,CASnB,oBAAAuD,GACE9D,KAAK+D,gBAAgBxD,M,CAUvB,sBAAAyD,CAAuBC,GACrBjE,KAAKkE,yBAAyB3D,KAAK0D,E,CAUrC,oBAAAE,CAAqBrC,GACnB9B,KAAKoE,uBAAuB7D,KAAKuB,E,CAQnC,iBAAAuC,GACErE,KAAKsE,oBAAoB/D,M,CAW3B,wBAAAgE,CAAyBC,EAAeC,GACtCzE,KAAK0E,2BAA2BnE,KAAK,CAACiE,EAAOC,G,CAGvC,mBAAAE,GACN,MAAO,CACL,WAAY,KACZ,eAAgB3E,KAAK+C,cACrB6B,MAAO5E,KAAK6E,UAAY,QACxBC,MAAO9E,KAAK6E,UAAY,QACxBE,OAAQ/E,KAAK6E,UAAY,SACzB,eAAgB7E,KAAKY,SACrB,kBAAmBZ,KAAK2B,YACxBqD,QAAShF,KAAKgF,QACdC,OAAQjF,KAAKiF,OACbC,KAAMlF,KAAKkF,KACXC,QAASnF,KAAKmF,Q,CAqCV,cAAArC,CAAesC,GACrB,OAAOpF,KAAKmB,GAAGE,cAAc,UAAU+D,SAAkB,I,CA+BnD,cAAAC,GACN,GAAIrF,KAAK8C,eAAe,QAAS,CAC/B,OACEjC,EAAA,OAAKC,MAAM,cACTD,EAAA,QAAMyB,KAAK,S,EAMX,YAAAgD,GACN,GAAItF,KAAKsB,OAAS,WAAY,CAC5B,OACET,EAAA,aACEC,MAAM,mBACNyE,MAAM,SACNV,QAAQ,QAAO,aACJ,yBACXW,QAASxF,KAAKiB,0BAEbjB,KAAKuC,qB,MAGL,GAAIvC,KAAK8C,eAAe,UAAW,CACxC,OACEjC,EAAA,aACEC,MAAM,mBACNyE,MAAM,SACNV,QAAQ,QAAO,aACJ,0BAGXhE,EAAA,QAAMyB,KAAK,W,CAIjB,OAAO,I,CAGT,MAAAmD,GACE,OACE5E,EAAC6E,EAAI,CAAAC,IAAA,4CACH9E,EAAA,OAAA8E,IAAA,2CAAK7E,MAAOd,KAAK2E,uBACd3E,KAAKQ,cAELR,KAAK6C,YACJhC,EAAA,OAAKC,MAAM,eACRd,KAAKqF,iBACLrF,KAAKwB,eAGRxB,KAAKwB,cAGNxB,KAAKsF,eACLtF,KAAKoC,kB","ignoreList":[]}
1
+ {"version":3,"names":["inputCss","BrInputStyle0","Input","this","inheritedAttributes","handleInput","event","value","target","valueChange","emit","renderLabel","_a","label","length","isInline","h","class","htmlFor","defaultID","togglePasswordVisibility","input","el","shadowRoot","querySelector","type","showIconTextPassword","renderInput","Object","assign","isHighlight","id","autocomplete","disabled","onInput","placeholder","readonly","required","title","renderHelpText","helpText","name","renderIconPassword","showPassword","uuidv4","connectedCallback","brDidConnect","componentWillLoad","hasIconSlot","hasSlotContent","hasActionSlot","brWillLoad","inheritAriaAttributes","componentDidLoad","brDidLoad","componentWillRender","brWillRender","componentDidRender","brDidRender","componentShouldUpdate","brShouldUpdate","componentWillUpdate","brWillUpdate","componentDidUpdate","brDidUpdate","disconnectedCallback","brDidDisconnect","formAssociatedCallback","form","brFormAssociatedCallback","formDisabledCallback","brFormDisabledCallback","formResetCallback","brFormResetCallback","formStateRestoreCallback","state","_mode","brFormStateRestoreCallback","getInputCssClassMap","small","density","large","medium","success","danger","info","warning","slotName","renderIconSlot","renderButton","shape","onClick","render","Host","key"],"sources":["src/components/input/input.scss?tag=br-input&encapsulation=shadow","src/components/input/input.tsx"],"sourcesContent":["@import \"../../../../../node_modules/@govbr-ds/core/src/components/input/input.scss\";\n\n:host {\n display: block;\n\n .br-input .input-icon {\n margin-top: 0.1em;\n margin-left: var(--spacing-scale-base);\n }\n\n .br-input .input-icon + input {\n padding-left: calc(var(--input-padding-icon) + 3px);\n }\n}\n\n\n.br-input br-button {\n float: right;\n margin-right: var(--input-button-margin);\n margin-top: calc((var(--input-size) + var(--spacing-scale-half)) * -1);\n padding: 0;\n position: relative;\n}\n\n .button-transform{\n transform: translateY(calc((var(--input-size) - 32px) * 0.5));\n }\n","import { AttachInternals, Component, Element, Event, EventEmitter, Host, Prop, State, h } from '@stencil/core'\nimport { v4 as uuidv4 } from 'uuid'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\n/**\n *\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/input?tab=designer).\n *\n * @slot action - Botão à direita do input.\n * @slot icon - Ícone à esquerda do input.\n * @slot help-text - Personalização do texto de ajuda.\n */\n@Component({\n tag: 'br-input',\n styleUrl: 'input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Input {\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: HTMLBrInputElement\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Identificador único do campo de entrada.\n * Caso não seja fornecido, um ID gerado automaticamente será usado.\n */\n @Prop({ reflect: true }) defaultID: string = `br-input-${uuidv4()}`\n\n /**\n * Especifica o tipo de entrada do campo. Pode ser um dos seguintes:\n * - 'color': Seletor de cor\n * - 'email': Campo para e-mail\n * - 'hidden': Campo oculto\n * - 'password': Campo para senha\n * - 'range': Controle deslizante\n * - 'search': Campo de pesquisa\n * - 'number': Campo para números\n * - 'tel': Campo para números de telefone\n * - 'text': Campo de texto padrão\n * - 'url': Campo para URLs\n */\n @Prop({ reflect: true }) type:\n | 'color'\n | 'email'\n | 'hidden'\n | 'password'\n | 'range'\n | 'search'\n | 'number'\n | 'tel'\n | 'text'\n | 'url' = 'text'\n\n /**\n * Controla o comportamento de preenchimento automático do navegador para o input.\n */\n @Prop({ reflect: true }) autocomplete: 'on' | 'off'\n\n /**\n * Ajusta a densidade, alterando o espaçamento interno para um visual mais compacto ou mais expandido.\n */\n @Prop({ reflect: true }) density: 'large' | 'medium' | 'small' = 'medium'\n\n /**\n * Desativa o input, tornando-o não interativo.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * Se verdadeiro, o rótulo e o input estarão na mesma linha (layout inline).\n */\n @Prop({ reflect: true }) isInline: boolean = false\n\n /**\n * Se verdadeiro, o input terá destaque visual.\n */\n @Prop({ reflect: true }) isHighlight: boolean = false\n\n /**\n * Se verdadeiro, o input indica um estado de validação bem-sucedido.\n */\n @Prop({ reflect: true }) success: boolean = false\n\n /**\n * Se verdadeiro, o input indica um estado de validação com erro.\n */\n @Prop({ reflect: true }) danger: boolean = false\n\n /**\n * Se verdadeiro, o input indica um estado informativo.\n */\n @Prop({ reflect: true }) info: boolean = false\n\n /**\n * Se verdadeiro, o input indica um estado de alerta.\n */\n @Prop({ reflect: true }) warning: boolean = false\n\n /**\n * Texto exibido como rótulo do input.\n */\n @Prop({ reflect: true }) label: string\n\n /**\n * Nome do input, utilizado para identificação em formulários.\n */\n @Prop({ reflect: true }) name: string\n\n /**\n * Texto exibido dentro do input quando está vazio, fornecendo uma dica ou sugestão ao usuário.\n */\n @Prop({ reflect: true }) placeholder: string\n\n /**\n * Se verdadeiro, o valor do input é exibido, mas não pode ser editado pelo usuário.\n */\n @Prop({ reflect: true }) readonly: boolean = false\n\n /**\n * Se verdadeiro, o input é obrigatório e deve ser preenchido antes que o formulário possa ser enviado.\n */\n @Prop({ reflect: true }) required: boolean = false\n\n /**\n * Valor inicial exibido no input.\n * Pode ser alterado pelo usuário se a propriedade `readonly` não estiver ativa.\n */\n @Prop({ reflect: true, mutable: true }) value: string\n\n /**\n * Texto adicional que fornece ajuda ou informações sobre o input.\n */\n @Prop({ reflect: true }) helpText: string\n\n @State() showIconTextPassword: boolean = false\n\n @State() hasIconSlot: boolean = false\n\n @State() hasActionSlot: boolean = false\n\n /**\n * Emite um evento quando o componente é conectado ao DOM.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#connectedcallback) para mais detalhes.\n */\n @Event() brDidConnect: EventEmitter<void>\n connectedCallback() {\n this.brDidConnect.emit()\n }\n\n /**\n * Emite um evento antes que o componente seja carregado pela primeira vez.\n * Utilize este evento para realizar tarefas de inicialização antes do componente ser exibido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillload) para mais detalhes.\n */\n @Event() brWillLoad: EventEmitter<void>\n componentWillLoad() {\n this.hasIconSlot = this.hasSlotContent('icon')\n this.hasActionSlot = this.hasSlotContent('action')\n this.brWillLoad.emit()\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n /**\n * Emite um evento após o componente ter sido carregado pela primeira vez.\n * Utilize este evento para realizar ações que devem ocorrer depois que o componente foi totalmente carregado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes.\n */\n @Event() brDidLoad: EventEmitter<void>\n componentDidLoad() {\n this.brDidLoad.emit()\n }\n\n /**\n * Emite um evento antes do componente ser renderizado.\n * Utilize este evento para preparar o componente antes de sua renderização.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillrender) para mais detalhes.\n */\n @Event() brWillRender: EventEmitter<void>\n componentWillRender() {\n this.brWillRender.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido renderizado.\n * Utilize este evento para executar ações que devem ocorrer após a renderização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidrender) para mais detalhes.\n */\n @Event() brDidRender: EventEmitter<void>\n componentDidRender() {\n this.brDidRender.emit()\n }\n\n /**\n * Emite um evento para indicar se o componente deve ser atualizado ou não.\n * Este evento é chamado antes de qualquer atualização do componente para decidir se a atualização deve prosseguir.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentshouldupdate) para mais detalhes.\n */\n @Event() brShouldUpdate: EventEmitter<void>\n componentShouldUpdate() {\n this.brShouldUpdate.emit()\n }\n\n /**\n * Emite um evento antes de o componente ser atualizado.\n * Utilize este evento para realizar ações preparatórias antes da atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillupdate) para mais detalhes.\n */\n @Event() brWillUpdate: EventEmitter<void>\n componentWillUpdate() {\n this.brWillUpdate.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido atualizado.\n * Utilize este evento para realizar ações após a atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidupdate) para mais detalhes.\n */\n @Event() brDidUpdate: EventEmitter<void>\n componentDidUpdate() {\n this.brDidUpdate.emit()\n }\n\n /**\n * Emite um evento quando o componente é desconectado do DOM.\n * Utilize este evento para realizar a limpeza ou outras ações necessárias quando o componente é removido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#disconnectedcallback) para mais detalhes.\n */\n @Event() brDidDisconnect: EventEmitter<void>\n disconnectedCallback() {\n this.brDidDisconnect.emit()\n }\n\n /**\n * Emite um evento quando o componente é associado ou removido de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formassociatedcallback) para mais detalhes.\n *\n * @param form - Dados do formulário associado.\n */\n @Event() brFormAssociatedCallback: EventEmitter<FormData>\n formAssociatedCallback(form: FormData) {\n this.brFormAssociatedCallback.emit(form)\n }\n\n /**\n * Emite um evento quando o estado `disabled` do componente muda dentro de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formdisabledcallback) para mais informações.\n *\n * @param disabled - Novo estado `disabled` do componente dentro do formulário.\n */\n @Event() brFormDisabledCallback: EventEmitter<boolean>\n formDisabledCallback(disabled: boolean) {\n this.brFormDisabledCallback.emit(disabled)\n }\n\n /**\n * Emite um evento quando um `<form>` é resetado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formresetcallback) para mais detalhes.\n */\n @Event() brFormResetCallback: EventEmitter<void>\n formResetCallback() {\n this.brFormResetCallback.emit()\n }\n\n /**\n * Emite um evento quando o navegador preenche automaticamente os campos de um `<form>`.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/form-associated#formstaterestorecallback) para mais informações.\n *\n * @param state - Estado restaurado do formulário.\n * @param _mode - Modo de preenchimento automático do navegador.\n */\n @Event() brFormStateRestoreCallback: EventEmitter<[state: string, _mode: string]>\n formStateRestoreCallback(state: string, _mode: string) {\n this.brFormStateRestoreCallback.emit([state, _mode])\n }\n\n private getInputCssClassMap(): CssClassMap {\n return {\n 'br-input': true,\n 'input-button': this.hasActionSlot,\n small: this.density === 'small',\n large: this.density === 'large',\n medium: this.density === 'medium',\n 'input-inline': this.isInline,\n 'input-highlight': this.isHighlight,\n success: this.success,\n danger: this.danger,\n info: this.info,\n warning: this.warning,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n /**\n * Valor atualizado do input\n */\n @Event() valueChange!: EventEmitter<string>\n private readonly handleInput = (event: Event) => {\n this.value = (event.target as HTMLInputElement).value\n this.valueChange.emit(this.value)\n }\n\n private readonly renderLabel = () => {\n if (this.label?.length > 0) {\n if (this.isInline) {\n return (\n <div class=\"input-label\">\n <label class=\"text-nowrap\" htmlFor={this.defaultID}>\n {this.label}\n </label>\n </div>\n )\n } else {\n return <label htmlFor={this.defaultID}>{this.label}</label>\n }\n }\n }\n\n private readonly togglePasswordVisibility = () => {\n const input = this.el.shadowRoot.querySelector('input')\n input.type = input.type === 'password' ? 'text' : 'password'\n this.showIconTextPassword = input.type === 'password'\n }\n\n private hasSlotContent(slotName: string): boolean {\n return this.el.querySelector(`[slot=\"${slotName}\"]`) !== null\n }\n\n private readonly renderInput = () => {\n return (\n <input\n class={this.isHighlight ? 'input-highlight' : null}\n id={this.defaultID}\n autocomplete={this.autocomplete}\n disabled={this.disabled}\n onInput={this.handleInput}\n placeholder={this.placeholder}\n readonly={this.readonly}\n required={this.required}\n title={this.el.title}\n type={this.type}\n value={this.value}\n {...this.inheritedAttributes}\n />\n )\n }\n\n private readonly renderHelpText = () => {\n return this.helpText?.length > 0 ? <p>{this.helpText}</p> : <slot name=\"help-text\"></slot>\n }\n\n private readonly renderIconPassword = () => {\n const showPassword = !this.showIconTextPassword\n return <br-icon icon-name={showPassword ? 'fa-solid:eye' : 'fa-solid:eye-slash'}></br-icon>\n }\n\n private renderIconSlot() {\n if (this.hasSlotContent('icon')) {\n return (\n <div class=\"input-icon\">\n <slot name=\"icon\"></slot>\n </div>\n )\n }\n }\n\n private renderButton() {\n if (this.type === 'password') {\n return (\n <br-button\n class=\"button-transform\"\n shape=\"circle\"\n density=\"small\"\n aria-label=\"botão de ação do ícone\"\n onClick={this.togglePasswordVisibility}\n >\n {this.renderIconPassword()}\n </br-button>\n )\n } else if (this.hasSlotContent('action')) {\n return (\n <br-button\n class=\"button-transform\"\n shape=\"circle\"\n density=\"small\"\n aria-label=\"botão de ação do ícone\"\n // onClick={this.onIconAction}\n >\n <slot name=\"action\"></slot>\n </br-button>\n )\n }\n return null\n }\n\n render() {\n return (\n <Host>\n <div class={this.getInputCssClassMap()}>\n {this.renderLabel()}\n\n {this.hasIconSlot ? (\n <div class=\"input-group\">\n {this.renderIconSlot()}\n {this.renderInput()}\n </div>\n ) : (\n this.renderInput()\n )}\n\n {this.renderButton()}\n {this.renderHelpText()}\n </div>\n </Host>\n )\n }\n}\n"],"mappings":"wIAAA,MAAMA,EAAW,qwbACjB,MAAAC,EAAeD,E,MCkBFE,EAAK,M,w3BAsRRC,KAAAC,oBAAkC,GAMzBD,KAAAE,YAAeC,IAC9BH,KAAKI,MAASD,EAAME,OAA4BD,MAChDJ,KAAKM,YAAYC,KAAKP,KAAKI,MAAM,EAGlBJ,KAAAQ,YAAc,K,MAC7B,KAAIC,EAAAT,KAAKU,SAAK,MAAAD,SAAA,SAAAA,EAAEE,QAAS,EAAG,CAC1B,GAAIX,KAAKY,SAAU,CACjB,OACEC,EAAA,OAAKC,MAAM,eACTD,EAAA,SAAOC,MAAM,cAAcC,QAASf,KAAKgB,WACtChB,KAAKU,O,KAIP,CACL,OAAOG,EAAA,SAAOE,QAASf,KAAKgB,WAAYhB,KAAKU,M,IAKlCV,KAAAiB,yBAA2B,KAC1C,MAAMC,EAAQlB,KAAKmB,GAAGC,WAAWC,cAAc,SAC/CH,EAAMI,KAAOJ,EAAMI,OAAS,WAAa,OAAS,WAClDtB,KAAKuB,qBAAuBL,EAAMI,OAAS,UAAU,EAOtCtB,KAAAwB,YAAc,IAE3BX,EAAA,QAAAY,OAAAC,OAAA,CACEZ,MAAOd,KAAK2B,YAAc,kBAAoB,KAC9CC,GAAI5B,KAAKgB,UACTa,aAAc7B,KAAK6B,aACnBC,SAAU9B,KAAK8B,SACfC,QAAS/B,KAAKE,YACd8B,YAAahC,KAAKgC,YAClBC,SAAUjC,KAAKiC,SACfC,SAAUlC,KAAKkC,SACfC,MAAOnC,KAAKmB,GAAGgB,MACfb,KAAMtB,KAAKsB,KACXlB,MAAOJ,KAAKI,OACRJ,KAAKC,sBAKED,KAAAoC,eAAiB,K,MAChC,QAAO3B,EAAAT,KAAKqC,YAAQ,MAAA5B,SAAA,SAAAA,EAAEE,QAAS,EAAIE,EAAA,SAAIb,KAAKqC,UAAgBxB,EAAA,QAAMyB,KAAK,aAAmB,EAG3EtC,KAAAuC,mBAAqB,KACpC,MAAMC,GAAgBxC,KAAKuB,qBAC3B,OAAOV,EAAA,uBAAoB2B,EAAe,eAAiB,sBAAgC,E,eAvUhD,YAAYC,M,UAyB7C,O,yCAUqD,S,cAKpB,M,cAKA,M,iBAKG,M,aAKJ,M,YAKD,M,UAKF,M,aAKG,M,kFAoBC,M,cAKA,M,uEAaJ,M,iBAET,M,mBAEE,K,CAOlC,iBAAAC,GACE1C,KAAK2C,aAAapC,M,CASpB,iBAAAqC,GACE5C,KAAK6C,YAAc7C,KAAK8C,eAAe,QACvC9C,KAAK+C,cAAgB/C,KAAK8C,eAAe,UACzC9C,KAAKgD,WAAWzC,OAChBP,KAAKC,oBAAsBgD,EAAsBjD,KAAKmB,G,CASxD,gBAAA+B,GACElD,KAAKmD,UAAU5C,M,CASjB,mBAAA6C,GACEpD,KAAKqD,aAAa9C,M,CASpB,kBAAA+C,GACEtD,KAAKuD,YAAYhD,M,CASnB,qBAAAiD,GACExD,KAAKyD,eAAelD,M,CAStB,mBAAAmD,GACE1D,KAAK2D,aAAapD,M,CASpB,kBAAAqD,GACE5D,KAAK6D,YAAYtD,M,CASnB,oBAAAuD,GACE9D,KAAK+D,gBAAgBxD,M,CAUvB,sBAAAyD,CAAuBC,GACrBjE,KAAKkE,yBAAyB3D,KAAK0D,E,CAUrC,oBAAAE,CAAqBrC,GACnB9B,KAAKoE,uBAAuB7D,KAAKuB,E,CAQnC,iBAAAuC,GACErE,KAAKsE,oBAAoB/D,M,CAW3B,wBAAAgE,CAAyBC,EAAeC,GACtCzE,KAAK0E,2BAA2BnE,KAAK,CAACiE,EAAOC,G,CAGvC,mBAAAE,GACN,MAAO,CACL,WAAY,KACZ,eAAgB3E,KAAK+C,cACrB6B,MAAO5E,KAAK6E,UAAY,QACxBC,MAAO9E,KAAK6E,UAAY,QACxBE,OAAQ/E,KAAK6E,UAAY,SACzB,eAAgB7E,KAAKY,SACrB,kBAAmBZ,KAAK2B,YACxBqD,QAAShF,KAAKgF,QACdC,OAAQjF,KAAKiF,OACbC,KAAMlF,KAAKkF,KACXC,QAASnF,KAAKmF,Q,CAqCV,cAAArC,CAAesC,GACrB,OAAOpF,KAAKmB,GAAGE,cAAc,UAAU+D,SAAkB,I,CA+BnD,cAAAC,GACN,GAAIrF,KAAK8C,eAAe,QAAS,CAC/B,OACEjC,EAAA,OAAKC,MAAM,cACTD,EAAA,QAAMyB,KAAK,S,EAMX,YAAAgD,GACN,GAAItF,KAAKsB,OAAS,WAAY,CAC5B,OACET,EAAA,aACEC,MAAM,mBACNyE,MAAM,SACNV,QAAQ,QAAO,aACJ,yBACXW,QAASxF,KAAKiB,0BAEbjB,KAAKuC,qB,MAGL,GAAIvC,KAAK8C,eAAe,UAAW,CACxC,OACEjC,EAAA,aACEC,MAAM,mBACNyE,MAAM,SACNV,QAAQ,QAAO,aACJ,0BAGXhE,EAAA,QAAMyB,KAAK,W,CAIjB,OAAO,I,CAGT,MAAAmD,GACE,OACE5E,EAAC6E,EAAI,CAAAC,IAAA,4CACH9E,EAAA,OAAA8E,IAAA,2CAAK7E,MAAOd,KAAK2E,uBACd3E,KAAKQ,cAELR,KAAK6C,YACJhC,EAAA,OAAKC,MAAM,eACRd,KAAKqF,iBACLrF,KAAKwB,eAGRxB,KAAKwB,cAGNxB,KAAKsF,eACLtF,KAAKoC,kB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as a,c as r,h as i,H as o,g as t}from"./p-6849daee.js";import{i as e}from"./p-ee6f4f3f.js";const n='*,*::before,*::after{box-sizing:border-box}html{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a{background-color:transparent}strong{font-weight:bolder}code{font-family:monospace;font-size:1em}small{font-size:80%}img{border-style:none}button,input,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}[hidden]{display:none}.d-flex{display:flex !important}.align-items-center{align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{flex:1 0 0%;min-width:8.3333333333%}.col-auto{flex:0 0 auto;width:auto}.container{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:flex;flex-wrap:wrap;margin-left:calc(var(--grid-gutter) * -0.5);margin-right:calc(var(--grid-gutter) * -0.5)}@media (min-width: 576px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half);color:var(--interactive);text-decoration:none}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}code,.code{background:var(--gray-5);border-radius:4px;color:var(--gray-80);display:inline-block;font-family:monospace;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);padding:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.bg-support-01{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.highlight{background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.loading,.br-loading{--loading-size:var(--loading-indetermined-diameter-sm);--loading-diameter:84px;--loading-stroke:5px;--loading-indetermined-color:var(--interactive);--loading-indetermined-diameter-md:44px;--loading-indetermined-diameter-sm:24px;position:relative;z-index:var(--z-index-layer-4)}.loading[data-progress]:not(:empty),.br-loading[data-progress]:not(:empty){background-color:var(--border-color);border-radius:50%}.loading[data-progress]:not(:empty)::before,.br-loading[data-progress]:not(:empty)::before{content:none}.loading[data-progress]::after,.br-loading[data-progress]::after{--loading-size:calc(var(--loading-diameter) - var(--loading-stroke) * 2);background:var(--background);border-radius:50%;color:var(--interactive);content:attr(data-progress) "%";font-size:var(--font-size-scale-up-02);font-weight:var(--font-weight-semi-bold);height:var(--loading-size);line-height:var(--loading-size);margin:var(--loading-stroke);position:absolute;text-align:center;width:var(--loading-size)}.loading[data-progress] .br-loading-mask,.loading[data-progress] .br-loading-fill,.br-loading[data-progress] .br-loading-mask,.br-loading[data-progress] .br-loading-fill{backface-visibility:hidden;border-radius:50%;clip:rect(0, var(--loading-diameter), var(--loading-diameter), calc(var(--loading-diameter) * 0.5));height:var(--loading-diameter);overflow:hidden;position:absolute;width:var(--loading-diameter)}.loading[data-progress] .br-loading-fill,.br-loading[data-progress] .br-loading-fill{background:var(--interactive);clip:rect(0, calc(var(--loading-diameter) * 0.5), var(--loading-diameter), 0)}.loading::before,.br-loading::before{animation:spinAround 1.3s infinite linear;border:2px solid var(--loading-indetermined-color);border-radius:50%;border-right-color:transparent;content:"";display:block;height:var(--loading-size);left:calc(50% - var(--loading-size) * 0.5);position:absolute;top:calc(50% - var(--loading-size) * 0.5);width:var(--loading-size)}.loading:not(.br-button),.br-loading:not(.br-button){height:var(--loading-size);width:var(--loading-size)}.loading:not(.br-button).medium,.br-loading:not(.br-button).medium{--loading-size:var(--loading-indetermined-diameter-md)}.loading:not(.br-button).medium::before,.br-loading:not(.br-button).medium::before{border-width:4px}.loading:not(.br-button)[data-progress],.br-loading:not(.br-button)[data-progress]{--loading-size:var(--loading-diameter)}.loading:not(.br-button)[data-progress]::before,.br-loading:not(.br-button)[data-progress]::before{border-width:var(--loading-stroke)}.loading[data-progress="1"] .br-loading-mask.full,.loading[data-progress="1"] .br-loading-fill,.br-loading[data-progress="1"] .br-loading-mask.full,.br-loading[data-progress="1"] .br-loading-fill{animation:fill ease-in-out 2s;transform:rotate(1.8deg)}.loading[data-progress="2"] .br-loading-mask.full,.loading[data-progress="2"] .br-loading-fill,.br-loading[data-progress="2"] .br-loading-mask.full,.br-loading[data-progress="2"] .br-loading-fill{animation:fill ease-in-out 2s;transform:rotate(3.6deg)}.loading[data-progress="3"] .br-loading-mask.full,.loading[data-progress="3"] .br-loading-fill,.br-loading[data-progress="3"] .br-loading-mask.full,.br-loading[data-progress="3"] .br-loading-fill{animation:fill ease-in-out 2s;transform:rotate(5.4deg)}.loading[data-progress="5"] .br-loading-mask.full,.loading[data-progress="5"] .br-loading-fill,.br-loading[data-progress="5"] .br-loading-mask.full,.br-loading[data-progress="5"] .br-loading-fill{animation:fill ease-in-out 2s;transform:rotate(9deg)}.loading[data-progress="10"] .br-loading-mask.full,.loading[data-progress="10"] .br-loading-fill,.br-loading[data-progress="10"] .br-loading-mask.full,.br-loading[data-progress="10"] .br-loading-fill{animation:fill ease-in-out 2s;transform:rotate(18deg)}.loading[data-progress="16"] .br-loading-mask.full,.loading[data-progress="16"] .br-loading-fill,.br-loading[data-progress="16"] .br-loading-mask.full,.br-loading[data-progress="16"] .br-loading-fill{animation:fill ease-in-out 2s;transform:rotate(28.8deg)}.loading[data-progress="20"] .br-loading-mask.full,.loading[data-progress="20"] .br-loading-fill,.br-loading[data-progress="20"] .br-loading-mask.full,.br-loading[data-progress="20"] .br-loading-fill{animation:fill ease-in-out 2s;transform:rotate(36deg)}.loading[data-progress="24"] .br-loading-mask.full,.loading[data-progress="24"] .br-loading-fill,.br-loading[data-progress="24"] .br-loading-mask.full,.br-loading[data-progress="24"] .br-loading-fill{animation:fill ease-in-out 2s;transform:rotate(43.2deg)}.loading[data-progress="32"] .br-loading-mask.full,.loading[data-progress="32"] .br-loading-fill,.br-loading[data-progress="32"] .br-loading-mask.full,.br-loading[data-progress="32"] .br-loading-fill{animation:fill ease-in-out 2s;transform:rotate(57.6deg)}.loading[data-progress="40"] .br-loading-mask.full,.loading[data-progress="40"] .br-loading-fill,.br-loading[data-progress="40"] .br-loading-mask.full,.br-loading[data-progress="40"] .br-loading-fill{animation:fill ease-in-out 2s;transform:rotate(72deg)}.loading[data-progress="48"] .br-loading-mask.full,.loading[data-progress="48"] .br-loading-fill,.br-loading[data-progress="48"] .br-loading-mask.full,.br-loading[data-progress="48"] .br-loading-fill{animation:fill ease-in-out 2s;transform:rotate(86.4deg)}.loading[data-progress="50"] .br-loading-mask.full,.loading[data-progress="50"] .br-loading-fill,.br-loading[data-progress="50"] .br-loading-mask.full,.br-loading[data-progress="50"] .br-loading-fill{animation:fill ease-in-out 2s;transform:rotate(90deg)}.loading[data-progress="70"] .br-loading-mask.full,.loading[data-progress="70"] .br-loading-fill,.br-loading[data-progress="70"] .br-loading-mask.full,.br-loading[data-progress="70"] .br-loading-fill{animation:fill ease-in-out 2s;transform:rotate(126deg)}.loading[data-progress="72"] .br-loading-mask.full,.loading[data-progress="72"] .br-loading-fill,.br-loading[data-progress="72"] .br-loading-mask.full,.br-loading[data-progress="72"] .br-loading-fill{animation:fill ease-in-out 2s;transform:rotate(129.6deg)}.loading[data-progress="80"] .br-loading-mask.full,.loading[data-progress="80"] .br-loading-fill,.br-loading[data-progress="80"] .br-loading-mask.full,.br-loading[data-progress="80"] .br-loading-fill{animation:fill ease-in-out 2s;transform:rotate(144deg)}.loading[data-progress="88"] .br-loading-mask.full,.loading[data-progress="88"] .br-loading-fill,.br-loading[data-progress="88"] .br-loading-mask.full,.br-loading[data-progress="88"] .br-loading-fill{animation:fill ease-in-out 2s;transform:rotate(158.4deg)}.loading[data-progress="100"] .br-loading-mask.full,.loading[data-progress="100"] .br-loading-fill,.br-loading[data-progress="100"] .br-loading-mask.full,.br-loading[data-progress="100"] .br-loading-fill{animation:fill ease-in-out 2s;transform:rotate(180deg)}@keyframes spinAround{from{transform:rotate(0deg)}to{transform:rotate(359deg)}}@keyframes fill{0%{transform:rotate(0deg)}}:host{display:block}:host .loading-progress-alignment{display:flex;align-items:center;flex-direction:column;justify-content:center}';const l=n;const d=class{constructor(i){a(this,i);this.brDidConnect=r(this,"brDidConnect",7);this.brWillLoad=r(this,"brWillLoad",7);this.brDidLoad=r(this,"brDidLoad",7);this.brWillRender=r(this,"brWillRender",7);this.brDidRender=r(this,"brDidRender",7);this.brShouldUpdate=r(this,"brShouldUpdate",7);this.brWillUpdate=r(this,"brWillUpdate",7);this.brDidUpdate=r(this,"brDidUpdate",7);this.brDidDisconnect=r(this,"brDidDisconnect",7);this.inheritedAttributes={};this.isProgress=false;this.progressPercent=null;this.isMedium=false;this.label=""}connectedCallback(){this.brDidConnect.emit()}componentWillLoad(){this.brWillLoad.emit();this.inheritedAttributes=e(this.el)}componentDidLoad(){this.brDidLoad.emit()}componentWillRender(){this.brWillRender.emit()}componentDidRender(){this.brDidRender.emit()}componentShouldUpdate(){this.brShouldUpdate.emit()}componentWillUpdate(){this.brWillUpdate.emit()}componentDidUpdate(){this.brDidUpdate.emit()}disconnectedCallback(){this.brDidDisconnect.emit()}getCssClassMap(){return{"br-loading":true,medium:this.isMedium}}render(){return i(o,{key:"7f56287a3ba146d776b7eb895721d7ec5841bfbb"},this.isProgress?i("div",Object.assign({},this.inheritedAttributes,{class:this.getCssClassMap(),role:"progressbar","data-progress":this.progressPercent,"aria-label":"Carregando exemplo com porcentagem","aria-valuemin":"0","aria-valuenow":this.progressPercent,"aria-valuemax":"100"}),i("div",{class:"br-loading-mask full"},i("div",{class:"br-loading-fill"})),i("div",{class:"br-loading-mask"},i("div",{class:"br-loading-fill"}))):i("div",{class:"loading-progress-alignment"},i("div",{class:this.getCssClassMap(),role:"progressbar","aria-label":"Carregando exemplo indeterminado pequeno"}),i("span",{class:"rotulo"},this.label)))}static get formAssociated(){return true}get el(){return t(this)}};d.style=l;export{d as br_loading};
2
+ //# sourceMappingURL=p-e1d4a515.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["loadingCss","BrLoadingStyle0","Loading","this","inheritedAttributes","connectedCallback","brDidConnect","emit","componentWillLoad","brWillLoad","inheritAriaAttributes","el","componentDidLoad","brDidLoad","componentWillRender","brWillRender","componentDidRender","brDidRender","componentShouldUpdate","brShouldUpdate","componentWillUpdate","brWillUpdate","componentDidUpdate","brDidUpdate","disconnectedCallback","brDidDisconnect","getCssClassMap","medium","isMedium","render","h","Host","key","isProgress","Object","assign","class","role","progressPercent","label"],"sources":["src/components/loading/loading.scss?tag=br-loading&encapsulation=shadow","src/components/loading/loading.tsx"],"sourcesContent":["@import \"../../../../../node_modules/@govbr-ds/core/src/components/loading/loading.scss\";\n\n:host {\n display: block;\n\n .loading-progress-alignment {\n display: flex;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n }\n}\n\n\n","import { Component, Element, Event, EventEmitter, h, Host, Prop } from '@stencil/core'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/loading?tab=designer).\n */\n@Component({\n tag: 'br-loading',\n styleUrl: 'loading.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Loading {\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: HTMLBrLoadingElement\n\n /**\n * Determina o tipo de indicador a ser exibido:\n * - Se verdadeiro, exibirá uma barra de progresso com a porcentagem de progresso.\n * - Se falso, exibirá um indicador de carregamento indeterminado.\n */\n @Prop({ reflect: true }) isProgress: boolean = false\n\n /**\n * Define a porcentagem de progresso a ser exibida na barra de progresso.\n * Deve ser um valor numérico entre 0 e 100. Ignorado se `isProgress` estiver definido como falso.\n */\n @Prop({ reflect: true }) progressPercent: number = null\n\n /**\n * Se verdadeiro, ajusta o tamanho do indicador de carregamento para o tamanho médio.\n */\n @Prop({ reflect: true }) isMedium: boolean = false\n\n /**\n * Texto a ser exibido abaixo do indicador de carregamento.\n * Pode ser usado para fornecer informações adicionais ou descritivas sobre o estado do carregamento.\n */\n @Prop({ reflect: true }) label: string = ''\n\n /**\n * Emite um evento quando o componente é conectado ao DOM.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#connectedcallback) para mais detalhes.\n */\n @Event() brDidConnect: EventEmitter<void>\n connectedCallback() {\n this.brDidConnect.emit()\n }\n\n /**\n * Emite um evento antes que o componente seja carregado pela primeira vez.\n * Utilize este evento para realizar tarefas de inicialização antes do componente ser exibido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillload) para mais detalhes.\n */\n @Event() brWillLoad: EventEmitter<void>\n componentWillLoad() {\n this.brWillLoad.emit()\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n /**\n * Emite um evento após o componente ter sido carregado pela primeira vez.\n * Utilize este evento para realizar ações que devem ocorrer depois que o componente foi totalmente carregado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes.\n */\n @Event() brDidLoad: EventEmitter<void>\n componentDidLoad() {\n this.brDidLoad.emit()\n }\n\n /**\n * Emite um evento antes do componente ser renderizado.\n * Utilize este evento para preparar o componente antes de sua renderização.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillrender) para mais detalhes.\n */\n @Event() brWillRender: EventEmitter<void>\n componentWillRender() {\n this.brWillRender.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido renderizado.\n * Utilize este evento para executar ações que devem ocorrer após a renderização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidrender) para mais detalhes.\n */\n @Event() brDidRender: EventEmitter<void>\n componentDidRender() {\n this.brDidRender.emit()\n }\n\n /**\n * Emite um evento para indicar se o componente deve ser atualizado ou não.\n * Este evento é chamado antes de qualquer atualização do componente para decidir se a atualização deve prosseguir.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentshouldupdate) para mais detalhes.\n */\n @Event() brShouldUpdate: EventEmitter<void>\n componentShouldUpdate() {\n this.brShouldUpdate.emit()\n }\n\n /**\n * Emite um evento antes de o componente ser atualizado.\n * Utilize este evento para realizar ações preparatórias antes da atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillupdate) para mais detalhes.\n */\n @Event() brWillUpdate: EventEmitter<void>\n componentWillUpdate() {\n this.brWillUpdate.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido atualizado.\n * Utilize este evento para realizar ações após a atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidupdate) para mais detalhes.\n */\n @Event() brDidUpdate: EventEmitter<void>\n componentDidUpdate() {\n this.brDidUpdate.emit()\n }\n\n /**\n * Emite um evento quando o componente é desconectado do DOM.\n * Utilize este evento para realizar a limpeza ou outras ações necessárias quando o componente é removido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#disconnectedcallback) para mais detalhes.\n */\n @Event() brDidDisconnect: EventEmitter<void>\n disconnectedCallback() {\n this.brDidDisconnect.emit()\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-loading': true,\n medium: this.isMedium,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n render() {\n return (\n <Host>\n {this.isProgress ? (\n <div\n {...this.inheritedAttributes}\n class={this.getCssClassMap()}\n role=\"progressbar\"\n data-progress={this.progressPercent}\n aria-label=\"Carregando exemplo com porcentagem\"\n aria-valuemin=\"0\"\n aria-valuenow={this.progressPercent}\n aria-valuemax=\"100\"\n >\n <div class=\"br-loading-mask full\">\n <div class=\"br-loading-fill\"></div>\n </div>\n <div class=\"br-loading-mask\">\n <div class=\"br-loading-fill\"></div>\n </div>\n </div>\n ) : (\n <div class=\"loading-progress-alignment\">\n <div\n class={this.getCssClassMap()}\n role=\"progressbar\"\n aria-label=\"Carregando exemplo indeterminado pequeno\"\n ></div>\n <span class=\"rotulo\">{this.label}</span>\n </div>\n )}\n </Host>\n )\n }\n}\n"],"mappings":"oGAAA,MAAMA,EAAa,26dACnB,MAAAC,EAAeD,E,MCWFE,EAAO,M,wZAgIVC,KAAAC,oBAAkC,G,gBApHK,M,qBAMI,K,cAKN,M,WAMJ,E,CAOzC,iBAAAC,GACEF,KAAKG,aAAaC,M,CASpB,iBAAAC,GACEL,KAAKM,WAAWF,OAChBJ,KAAKC,oBAAsBM,EAAsBP,KAAKQ,G,CASxD,gBAAAC,GACET,KAAKU,UAAUN,M,CASjB,mBAAAO,GACEX,KAAKY,aAAaR,M,CASpB,kBAAAS,GACEb,KAAKc,YAAYV,M,CASnB,qBAAAW,GACEf,KAAKgB,eAAeZ,M,CAStB,mBAAAa,GACEjB,KAAKkB,aAAad,M,CASpB,kBAAAe,GACEnB,KAAKoB,YAAYhB,M,CASnB,oBAAAiB,GACErB,KAAKsB,gBAAgBlB,M,CAGf,cAAAmB,GACN,MAAO,CACL,aAAc,KACdC,OAAQxB,KAAKyB,S,CAMjB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACF7B,KAAK8B,WACJH,EAAA,MAAAI,OAAAC,OAAA,GACMhC,KAAKC,oBAAmB,CAC5BgC,MAAOjC,KAAKuB,iBACZW,KAAK,cAAa,gBACHlC,KAAKmC,gBAAe,aACxB,qCAAoC,gBACjC,IAAG,gBACFnC,KAAKmC,gBAAe,gBACrB,QAEdR,EAAA,OAAKM,MAAM,wBACTN,EAAA,OAAKM,MAAM,qBAEbN,EAAA,OAAKM,MAAM,mBACTN,EAAA,OAAKM,MAAM,sBAIfN,EAAA,OAAKM,MAAM,8BACTN,EAAA,OACEM,MAAOjC,KAAKuB,iBACZW,KAAK,cAAa,aACP,6CAEbP,EAAA,QAAMM,MAAM,UAAUjC,KAAKoC,Q","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as a,c as t,h as r,H as e,g as i}from"./p-6849daee.js";import{i as o}from"./p-ee6f4f3f.js";import{v as n}from"./p-14616bce.js";const s="*,*::before,*::after{box-sizing:border-box}html{line-height:var(--font-line-height-medium);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}a{background-color:transparent}strong{font-weight:bolder}code{font-family:monospace;font-size:1em}small{font-size:80%}img{border-style:none}button,input,textarea{font-family:inherit;font-size:100%;line-height:var(--font-line-height-medium);margin:0}button,input{overflow:visible}button{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}[hidden]{display:none}.d-flex{display:flex !important}.align-items-center{align-items:center !important}.col,[class*=col-]{padding-left:calc(var(--grid-gutter) * 0.5);padding-right:calc(var(--grid-gutter) * 0.5);width:100%}.col{flex:1 0 0%;min-width:8.3333333333%}.col-auto{flex:0 0 auto;width:auto}.container{--grid-margin:var(--grid-portrait-margin);--grid-maxwidth:var(--grid-portrait-maxwidth);margin-left:auto;margin-right:auto;max-width:var(--grid-maxwidth);padding-left:var(--grid-margin);padding-right:var(--grid-margin);width:100%}.row{--grid-gutter:var(--grid-portrait-gutter);display:flex;flex-wrap:wrap;margin-left:calc(var(--grid-gutter) * -0.5);margin-right:calc(var(--grid-gutter) * -0.5)}@media (min-width: 576px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-sm) - var(--grid-tablet-margin))}}@media (min-width: 992px){.container{--grid-margin:var(--grid-tablet-margin)}.row{--grid-gutter:var(--grid-tablet-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-md) - var(--grid-tablet-margin))}}@media (min-width: 1280px){.container{--grid-margin:var(--grid-desktop-margin)}.row{--grid-gutter:var(--grid-desktop-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-lg) - var(--grid-desktop-margin))}}@media (min-width: 1600px){.container{--grid-margin:var(--grid-tv-margin)}.row{--grid-gutter:var(--grid-tv-gutter)}.container{--grid-maxwidth:calc(var(--grid-breakpoint-xl) - var(--grid-tv-margin))}}.mt-1{margin-top:var(--spacing-scale-half) !important}.mr-1{margin-right:var(--spacing-scale-half) !important}.mr-2{margin-right:var(--spacing-scale-base) !important}.mb-3{margin-bottom:var(--spacing-scale-2x) !important}.pt-half{padding-top:var(--spacing-scale-half) !important}.py-3{padding-bottom:var(--spacing-scale-2x) !important;padding-top:var(--spacing-scale-2x) !important}.py-4{padding-bottom:var(--spacing-scale-3x) !important;padding-top:var(--spacing-scale-3x) !important}body{--bg-color:var(--background);--bg-color-rgb:var(--background-rgb);--bg-color-hsl:var(--background-hsl);--font-size:var(--font-size-scale-base);--font-weight:var(--font-weight-regular);--link-color:var(--interactive);--link-color-rgb:var(--interactive-rgb);--link-color-hsl:var(--interactive-hsl);--line-height:var(--font-line-height-medium);--text-color:var(--color);--text-color-rgb:var(--color-rgb);--text-color-hsl:var(--color-hsl);background:var(--bg-color);color:var(--text-color);font-family:var(--font-family-base);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height)}p{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-2x);margin-top:0}p a{text-decoration:underline}@media (min-width: 576px){p{font-size:var(--font-size-scale-up-01)}}a{--focus-offset:var(--spacing-scale-half);color:var(--interactive);text-decoration:none}a:focus{outline:none}a:focus-visible{outline-color:var(--focus);outline-offset:var(--focus-offset);outline-style:var(--focus-style);outline-width:var(--focus-width)}a:not(:disabled):hover{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--hover)), rgba(var(--interactive-rgb), var(--hover)))}a:not(:disabled):active{background-image:linear-gradient(rgba(var(--interactive-rgb), var(--pressed)), rgba(var(--interactive-rgb), var(--pressed)))}button{cursor:pointer}img{max-width:100%;vertical-align:middle}ul{margin-bottom:var(--spacing-scale-2x);margin-top:0;padding:0 0 0 var(--spacing-scale-5x)}label,.label{color:var(--color);font-size:var(--font-size-scale-base);font-weight:var(--font-weight-semi-bold);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half)}::-moz-placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}::placeholder,.placeholder{color:var(--color-light);font-size:var(--font-size-scale-base);font-style:italic;font-weight:var(--font-weight-regular);line-height:var(--font-line-height-medium);margin-bottom:var(--spacing-scale-half);margin-top:var(--spacing-scale-half);opacity:1}input,textarea,.input{color:var(--color-light);font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);margin-bottom:var(--spacing-scale-half)}code,.code{background:var(--gray-5);border-radius:4px;color:var(--gray-80);display:inline-block;font-family:monospace;font-size:var(--font-size-scale-base);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-low);padding:var(--spacing-scale-half)}.text-pure-0{color:var(--pure-0) !important}.bg-support-01{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark);background:var(--color-support-01) !important}.text-nowrap{white-space:nowrap !important}.text-base{font-size:var(--font-size-scale-base) !important}.highlight{background:var(--status-highlight-background) linear-gradient(var(--status-highlight-overlay), var(--status-highlight-overlay));color:var(--status-highlight-text);padding:0 var(--spacing-scale-half)}[disabled],.disabled{cursor:not-allowed;opacity:var(--disabled)}[disabled] *,.disabled *{pointer-events:none}[data-toggle=dropdown]+*{position:absolute}.dropdown{position:relative}.dropdown [data-toggle=dropdown]+*{box-shadow:var(--surface-shadow-sm);left:0;position:absolute;top:100%}.dropdown .br-item{--color:var(--color-light);--color-rgb:var(--color-light-rgb);--text-color:var(--color-light);--interactive:var(--interactive-light);--interactive-rgb:var(--color-rgb);--visited:var(--visited-light);--hover:var(--hover-light);--pressed:var(--pressed-light);--focus-color:var(--focus-color-light);--focus:var(--focus-color-light);--item-padding-y:var(--spacing-scale-2x);background-color:var(--background-light);color:var(--color)}.dropdown .br-item:not(:last-child){border-bottom:1px solid var(--border-color)}.dropdown .br-item.selected{--color:var(--color-dark);--color-rgb:var(--color-dark-rgb);--text-color:var(--color-dark);--interactive:var(--interactive-dark);--interactive-rgb:var(--interactive-dark-rgb);--visited:var(--visited-dark);--hover:var(--hover-dark);--pressed:var(--pressed-dark);--focus-color:var(--focus-color-dark);--focus:var(--focus-color-dark)}.br-textarea{--textarea-padding:var(--textarea-medium);--textarea-small:var(--spacing-scale-base);--textarea-medium:var(--spacing-scale-baseh);--textarea-large:var(--spacing-scale-2x);color:var(--color)}.br-textarea label{display:inline-block;margin-bottom:var(--spacing-scale-half)}.br-textarea textarea{background:var(--background-light);border:1px solid var(--border-color-alternative);border-radius:6px;color:var(--color);display:block;font-size:var(--font-size-scale-up-01);font-weight:var(--font-weight-medium);padding:var(--textarea-padding);width:100%}.br-textarea.small textarea{--textarea-padding:var(--textarea-small)}.br-textarea.medium textarea{--textarea-padding:var(--textarea-medium)}.br-textarea.large textarea{--textarea-padding:var(--textarea-large)}.br-textarea.success textarea{border-color:var(--success);border-width:2px}.br-textarea.danger textarea{border-color:var(--danger);border-width:2px}.br-textarea.warning textarea{border-color:var(--warning);border-width:2px}.br-textarea.info textarea{border-color:var(--info);border-width:2px}.br-textarea textarea:focus,.br-textarea textarea:focus-visible{border-color:var(--focus) !important;box-shadow:0 0 0 var(--surface-width-md) var(--focus);outline:none}.br-textarea textarea:hover:not(:disabled):hover{background-image:linear-gradient(rgba(var(--color-rgb), var(--hover)), rgba(var(--color-rgb), var(--hover)))}.br-textarea.dark-mode,.br-textarea.dark-mode label{--color:var(--color-dark);--focus-color:var(--focus-color-dark)}.br-textarea.dark-mode textarea{color:var(--color-light)}:host{display:block;box-sizing:border-box;font-family:Rawline, Raleway, sans-serif}";const l=s;var c;(function(a){a["Small"]="small";a["Medium"]="medium";a["Large"]="large"})(c||(c={}));var d;(function(a){a["Danger"]="danger";a["Success"]="success";a["Warning"]="warning"})(d||(d={}));const g=class{constructor(r){a(this,r);this.brDidConnect=t(this,"brDidConnect",7);this.brWillLoad=t(this,"brWillLoad",7);this.brDidLoad=t(this,"brDidLoad",7);this.brWillRender=t(this,"brWillRender",7);this.brDidRender=t(this,"brDidRender",7);this.brShouldUpdate=t(this,"brShouldUpdate",7);this.brWillUpdate=t(this,"brWillUpdate",7);this.brDidUpdate=t(this,"brDidUpdate",7);this.brDidDisconnect=t(this,"brDidDisconnect",7);this.brFormAssociatedCallback=t(this,"brFormAssociatedCallback",7);this.brFormDisabledCallback=t(this,"brFormDisabledCallback",7);this.brFormResetCallback=t(this,"brFormResetCallback",7);this.brFormStateRestoreCallback=t(this,"brFormStateRestoreCallback",7);if(r.$hostElement$["s-ei"]){this.elementInternals=r.$hostElement$["s-ei"]}else{this.elementInternals=r.$hostElement$.attachInternals();r.$hostElement$["s-ei"]=this.elementInternals}this.inheritedAttributes={};this.value="";this.label="";this.placeholder="";this.disabled=false;this.maxlength=0;this.states=null;this.density=c.Medium;this.isDarkMode=false;this.isLabelLeft=false;this.currentLength=0;this.defaultId=`br-textarea-${n()}`}connectedCallback(){this.brDidConnect.emit()}componentWillLoad(){this.currentLength=this.value.length;this.brWillLoad.emit();this.inheritedAttributes=o(this.el)}componentDidLoad(){this.brDidLoad.emit()}componentWillRender(){this.brWillRender.emit()}componentDidRender(){this.brDidRender.emit()}componentShouldUpdate(){this.brShouldUpdate.emit()}componentWillUpdate(){this.brWillUpdate.emit()}componentDidUpdate(){this.brDidUpdate.emit()}disconnectedCallback(){this.brDidDisconnect.emit()}formAssociatedCallback(a){this.brFormAssociatedCallback.emit(a)}formDisabledCallback(a){this.brFormDisabledCallback.emit(a)}formResetCallback(){this.brFormResetCallback.emit()}formStateRestoreCallback(a,t){this.brFormStateRestoreCallback.emit([a,t])}valueChanged(){this.currentLength=this.value.length}handleChange(a){const t=a.target;this.value=t.value;this.currentLength=this.value.length;this.emitValueChange()}async setValue(a){this.value=a;this.currentLength=this.value.length;this.emitValueChange()}emitValueChange(){const a=new CustomEvent("valueChange",{detail:{value:this.value},bubbles:true,composed:true});this.el.dispatchEvent(a)}getCssClassMap(){return{"br-textarea":true,"dark-mode":this.isDarkMode,small:this.density===c.Small,medium:this.density===c.Medium,large:this.density===c.Large,success:this.states===d.Success,danger:this.states===d.Danger,warning:this.states===d.Warning}}render(){const a=this.maxlength-this.currentLength;const t=this.currentLength===0;return r(e,{key:"9aaae65f9b632e21c44a8ea4ce736d6e5e394b85"},r("div",Object.assign({key:"5bcc99ec860393cf7be86403fde553c12df1f3ca",class:this.getCssClassMap()},this.inheritedAttributes),r("div",{key:"b19610ee44e038fd69b38bbb6773f805116e99a1",class:this.isLabelLeft?"row":""},this.isLabelLeft?r("div",{class:"col-auto pt-half"},r("label",{htmlFor:this.defaultId},this.label)):r("label",{htmlFor:this.defaultId},this.label),r("div",{key:"3af5ad0220ff70f942ba7144e662066801b695bd",class:this.isLabelLeft?"col":""},r("textarea",Object.assign({key:"a0630ed64f956f5c7179738fba617dc387d1a87b",id:this.defaultId,value:this.value,placeholder:this.placeholder,disabled:this.disabled,onInput:this.handleChange.bind(this)},this.maxlength>0?{maxLength:this.maxlength}:{})),r("div",{key:"98c265485d7f229ea0284a77b610799037b0186b",class:"text-base mt-1"},this.maxlength>0&&r("div",{key:"3edc0d76bc64ca56dfbcc548e79eb2b379d2eb0e"},t?r("span",{class:"limit","aria-live":"polite"},"Limite máximo de ",r("strong",null,this.maxlength)," caracteres"):r("span",{class:"restantes","aria-live":"polite",role:"status",id:"limitmax"},"Restam ",r("strong",null,a)," caracteres"))),r("slot",{key:"8b41a47359ea19a8bee6e39c2b02ac65aa2cfaa1"})))))}static get formAssociated(){return true}get el(){return i(this)}static get watchers(){return{value:["valueChanged"]}}};g.style=l;export{g as br_textarea};
2
+ //# sourceMappingURL=p-e74737f9.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["textareaCss","BrTextareaStyle0","Density","States","Textarea","this","inheritedAttributes","Medium","uuidv4","connectedCallback","brDidConnect","emit","componentWillLoad","currentLength","value","length","brWillLoad","inheritAriaAttributes","el","componentDidLoad","brDidLoad","componentWillRender","brWillRender","componentDidRender","brDidRender","componentShouldUpdate","brShouldUpdate","componentWillUpdate","brWillUpdate","componentDidUpdate","brDidUpdate","disconnectedCallback","brDidDisconnect","formAssociatedCallback","form","brFormAssociatedCallback","formDisabledCallback","disabled","brFormDisabledCallback","formResetCallback","brFormResetCallback","formStateRestoreCallback","state","_mode","brFormStateRestoreCallback","valueChanged","handleChange","event","textarea","target","emitValueChange","setValue","newValue","changeEvent","CustomEvent","detail","bubbles","composed","dispatchEvent","getCssClassMap","isDarkMode","small","density","Small","medium","large","Large","success","states","Success","danger","Danger","warning","Warning","render","caracteresRestantes","maxlength","mostrarLimite","h","Host","key","Object","assign","class","isLabelLeft","htmlFor","defaultId","label","id","placeholder","onInput","bind","maxLength","role"],"sources":["src/components/textarea/textarea.scss?tag=br-textarea&encapsulation=shadow","src/components/textarea/textarea.tsx"],"sourcesContent":["@import \"../../../../../node_modules/@govbr-ds/core/src/components/textarea/textarea.scss\";\n:host {\n display: block;\n box-sizing: border-box;\n font-family: Rawline, Raleway, sans-serif;\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 { v4 as uuidv4 } from 'uuid'\nimport { Attributes, inheritAriaAttributes } from '../../utils/inherited-attributes'\nimport { CssClassMap } from '../../utils/interfaces'\n\nenum Density {\n Small = 'small',\n Medium = 'medium',\n Large = 'large',\n}\n\nenum States {\n Danger = 'danger',\n Success = 'success',\n Warning = 'warning',\n}\n\n/**\n * Para uma descrição detalhada, consulte a [documentação do GovBR-DS](https://www.gov.br/ds/components/textarea?tab=designer).\n *\n * @slot default - Espaço de conteúdo do textarea. Geralmente usado para incluir texto adicional ou instruções para o usuário.\n */\n@Component({\n tag: 'br-textarea',\n styleUrl: 'textarea.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Textarea {\n @Element() el: HTMLElement\n\n /**\n * Valor atual do textarea. Este valor pode ser alterado programaticamente.\n */\n @Prop({ mutable: true, reflect: true }) value: string = ''\n\n /**\n * Texto do rótulo associado ao textarea. Este rótulo é exibido acima do campo de entrada.\n */\n @Prop({ reflect: true }) label: string = ''\n\n /**\n * Texto exibido quando o textarea está vazio. Ajuda a guiar o usuário sobre o que deve ser inserido.\n */\n @Prop({ reflect: true }) placeholder: string = ''\n\n /**\n * Indica se o textarea está desabilitado. Quando verdadeiro, o usuário não pode interagir com o campo.\n */\n @Prop({ reflect: true }) disabled: boolean = false\n\n /**\n * Número máximo de caracteres permitidos no textarea. Se definido como 0, não há limite.\n */\n @Prop({ reflect: true }) maxlength: number = 0\n\n /**\n * Define o estado visual do componente, podendo ser 'danger', 'success' ou 'warning'.\n */\n @Prop({ reflect: true }) states: string = null\n\n /**\n * Ajusta a densidade do componente, podendo ser 'small', 'medium' ou 'large'.\n */\n @Prop({ reflect: true }) density: string = Density.Medium\n\n /**\n * Ativa o modo escuro para o componente. Quando verdadeiro, o componente será exibido em um tema escuro.\n */\n @Prop({ reflect: true }) isDarkMode: boolean = false\n\n /**\n * Define se o rótulo deve ser exibido à esquerda do textarea. Quando verdadeiro, o rótulo é posicionado à esquerda.\n */\n @Prop({ reflect: true }) isLabelLeft: boolean = false\n\n /**\n * Comprimento atual do texto no textarea. É atualizado sempre que o valor do textarea muda.\n */\n @State() currentLength: number = 0\n\n @AttachInternals() elementInternals: ElementInternals\n\n /**\n * Identificador único do textarea, gerado automaticamente.\n * Este ID é utilizado para associar o textarea a outros elementos, como rótulos,\n * e garantir que cada instância do componente tenha um identificador distinto.\n */\n @Prop({ reflect: true }) defaultId: string = `br-textarea-${uuidv4()}`\n\n /**\n * Emite um evento quando o componente é conectado ao DOM.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#connectedcallback) para mais detalhes.\n */\n @Event() brDidConnect: EventEmitter<void>\n connectedCallback() {\n this.brDidConnect.emit()\n }\n\n /**\n * Emite um evento antes que o componente seja carregado pela primeira vez.\n * Utilize este evento para realizar tarefas de inicialização antes do componente ser exibido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillload) para mais detalhes.\n */\n @Event() brWillLoad: EventEmitter<void>\n componentWillLoad() {\n this.currentLength = this.value.length\n this.brWillLoad.emit()\n this.inheritedAttributes = inheritAriaAttributes(this.el)\n }\n\n /**\n * Emite um evento após o componente ter sido carregado pela primeira vez.\n * Utilize este evento para realizar ações que devem ocorrer depois que o componente foi totalmente carregado.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidload) para mais detalhes.\n */\n @Event() brDidLoad: EventEmitter<void>\n componentDidLoad() {\n this.brDidLoad.emit()\n }\n\n /**\n * Emite um evento antes do componente ser renderizado.\n * Utilize este evento para preparar o componente antes de sua renderização.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillrender) para mais detalhes.\n */\n @Event() brWillRender: EventEmitter<void>\n componentWillRender() {\n this.brWillRender.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido renderizado.\n * Utilize este evento para executar ações que devem ocorrer após a renderização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidrender) para mais detalhes.\n */\n @Event() brDidRender: EventEmitter<void>\n componentDidRender() {\n this.brDidRender.emit()\n }\n\n /**\n * Emite um evento para indicar se o componente deve ser atualizado ou não.\n * Este evento é chamado antes de qualquer atualização do componente para decidir se a atualização deve prosseguir.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentshouldupdate) para mais detalhes.\n */\n @Event() brShouldUpdate: EventEmitter<void>\n componentShouldUpdate() {\n this.brShouldUpdate.emit()\n }\n\n /**\n * Emite um evento antes de o componente ser atualizado.\n * Utilize este evento para realizar ações preparatórias antes da atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentwillupdate) para mais detalhes.\n */\n @Event() brWillUpdate: EventEmitter<void>\n componentWillUpdate() {\n this.brWillUpdate.emit()\n }\n\n /**\n * Emite um evento após o componente ter sido atualizado.\n * Utilize este evento para realizar ações após a atualização do componente.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#componentdidupdate) para mais detalhes.\n */\n @Event() brDidUpdate: EventEmitter<void>\n componentDidUpdate() {\n this.brDidUpdate.emit()\n }\n\n /**\n * Emite um evento quando o componente é desconectado do DOM.\n * Utilize este evento para realizar a limpeza ou outras ações necessárias quando o componente é removido.\n * Consulte a documentação do [Stencil](https://stenciljs.com/docs/component-lifecycle#disconnectedcallback) para mais detalhes.\n */\n @Event() brDidDisconnect: EventEmitter<void>\n disconnectedCallback() {\n this.brDidDisconnect.emit()\n }\n\n /**\n * Emite um evento quando o formulário associado é enviado.\n * Utilize este evento para realizar ações quando o formulário é enviado.\n */\n @Event() brFormAssociatedCallback: EventEmitter<FormData>\n formAssociatedCallback(form: FormData) {\n this.brFormAssociatedCallback.emit(form)\n }\n\n /**\n * Emite um evento quando o estado do formulário é alterado para desabilitado.\n * Utilize este evento para realizar ações quando o formulário é desabilitado.\n */\n @Event() brFormDisabledCallback: EventEmitter<boolean>\n formDisabledCallback(disabled: boolean) {\n this.brFormDisabledCallback.emit(disabled)\n }\n\n /**\n * Emite um evento quando o formulário é redefinido.\n * Utilize este evento para realizar ações quando o formulário é redefinido.\n */\n @Event() brFormResetCallback: EventEmitter<void>\n formResetCallback() {\n this.brFormResetCallback.emit()\n }\n\n /**\n * Emite um evento para restaurar o estado do formulário.\n * Utilize este evento para realizar ações quando o estado do formulário é restaurado.\n */\n @Event() brFormStateRestoreCallback: EventEmitter<[state: string, _mode: string]>\n formStateRestoreCallback(state: string, _mode: string) {\n this.brFormStateRestoreCallback.emit([state, _mode])\n }\n\n @Watch('value')\n valueChanged() {\n this.currentLength = this.value.length\n }\n\n /**\n * Manipula a mudança de valor do textarea. Atualiza o valor e emite um evento de mudança.\n * @param event - O evento de entrada do textarea.\n */\n handleChange(event: Event) {\n const textarea = event.target as HTMLTextAreaElement\n this.value = textarea.value\n this.currentLength = this.value.length\n\n this.emitValueChange()\n }\n\n /**\n * Define um novo valor para o textarea.\n * @param newValue - O novo valor a ser definido.\n */\n @Method()\n async setValue(newValue: string) {\n this.value = newValue\n this.currentLength = this.value.length\n\n this.emitValueChange()\n }\n\n private emitValueChange() {\n const changeEvent = new CustomEvent('valueChange', {\n detail: { value: this.value },\n bubbles: true,\n composed: true,\n })\n this.el.dispatchEvent(changeEvent)\n }\n\n private getCssClassMap(): CssClassMap {\n return {\n 'br-textarea': true,\n 'dark-mode': this.isDarkMode,\n small: this.density === Density.Small,\n medium: this.density === Density.Medium,\n large: this.density === Density.Large,\n success: this.states === States.Success,\n danger: this.states === States.Danger,\n warning: this.states === States.Warning,\n }\n }\n\n private inheritedAttributes: Attributes = {}\n\n render() {\n const caracteresRestantes = this.maxlength - this.currentLength\n const mostrarLimite = this.currentLength === 0\n\n return (\n <Host>\n <div class={this.getCssClassMap()} {...this.inheritedAttributes}>\n <div class={this.isLabelLeft ? 'row' : ''}>\n {this.isLabelLeft ? (\n <div class=\"col-auto pt-half\">\n <label htmlFor={this.defaultId}>{this.label}</label>\n </div>\n ) : (\n <label htmlFor={this.defaultId}>{this.label}</label>\n )}\n <div class={this.isLabelLeft ? 'col' : ''}>\n <textarea\n id={this.defaultId}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n onInput={this.handleChange.bind(this)}\n {...(this.maxlength > 0 ? { maxLength: this.maxlength } : {})}\n ></textarea>\n <div class=\"text-base mt-1\">\n {this.maxlength > 0 && (\n <div>\n {mostrarLimite ? (\n <span class=\"limit\" aria-live=\"polite\">\n Limite máximo de <strong>{this.maxlength}</strong> caracteres\n </span>\n ) : (\n <span class=\"restantes\" aria-live=\"polite\" role=\"status\" id=\"limitmax\">\n Restam <strong>{caracteresRestantes}</strong> caracteres\n </span>\n )}\n </div>\n )}\n </div>\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"mappings":"wIAAA,MAAMA,EAAc,6jTACpB,MAAAC,EAAeD,ECiBf,IAAKE,GAAL,SAAKA,GACHA,EAAA,iBACAA,EAAA,mBACAA,EAAA,gBACD,EAJD,CAAKA,MAAO,KAMZ,IAAKC,GAAL,SAAKA,GACHA,EAAA,mBACAA,EAAA,qBACAA,EAAA,oBACD,EAJD,CAAKA,MAAM,K,MAiBEC,EAAQ,M,+0BAgPXC,KAAAC,oBAAkC,G,WA1Oc,G,WAKf,G,iBAKM,G,cAKF,M,eAKA,E,YAKH,K,aAKCJ,EAAQK,O,gBAKJ,M,iBAKC,M,mBAKf,E,eASY,eAAeC,K,CAO5D,iBAAAC,GACEJ,KAAKK,aAAaC,M,CASpB,iBAAAC,GACEP,KAAKQ,cAAgBR,KAAKS,MAAMC,OAChCV,KAAKW,WAAWL,OAChBN,KAAKC,oBAAsBW,EAAsBZ,KAAKa,G,CASxD,gBAAAC,GACEd,KAAKe,UAAUT,M,CASjB,mBAAAU,GACEhB,KAAKiB,aAAaX,M,CASpB,kBAAAY,GACElB,KAAKmB,YAAYb,M,CASnB,qBAAAc,GACEpB,KAAKqB,eAAef,M,CAStB,mBAAAgB,GACEtB,KAAKuB,aAAajB,M,CASpB,kBAAAkB,GACExB,KAAKyB,YAAYnB,M,CASnB,oBAAAoB,GACE1B,KAAK2B,gBAAgBrB,M,CAQvB,sBAAAsB,CAAuBC,GACrB7B,KAAK8B,yBAAyBxB,KAAKuB,E,CAQrC,oBAAAE,CAAqBC,GACnBhC,KAAKiC,uBAAuB3B,KAAK0B,E,CAQnC,iBAAAE,GACElC,KAAKmC,oBAAoB7B,M,CAQ3B,wBAAA8B,CAAyBC,EAAeC,GACtCtC,KAAKuC,2BAA2BjC,KAAK,CAAC+B,EAAOC,G,CAI/C,YAAAE,GACExC,KAAKQ,cAAgBR,KAAKS,MAAMC,M,CAOlC,YAAA+B,CAAaC,GACX,MAAMC,EAAWD,EAAME,OACvB5C,KAAKS,MAAQkC,EAASlC,MACtBT,KAAKQ,cAAgBR,KAAKS,MAAMC,OAEhCV,KAAK6C,iB,CAQP,cAAMC,CAASC,GACb/C,KAAKS,MAAQsC,EACb/C,KAAKQ,cAAgBR,KAAKS,MAAMC,OAEhCV,KAAK6C,iB,CAGC,eAAAA,GACN,MAAMG,EAAc,IAAIC,YAAY,cAAe,CACjDC,OAAQ,CAAEzC,MAAOT,KAAKS,OACtB0C,QAAS,KACTC,SAAU,OAEZpD,KAAKa,GAAGwC,cAAcL,E,CAGhB,cAAAM,GACN,MAAO,CACL,cAAe,KACf,YAAatD,KAAKuD,WAClBC,MAAOxD,KAAKyD,UAAY5D,EAAQ6D,MAChCC,OAAQ3D,KAAKyD,UAAY5D,EAAQK,OACjC0D,MAAO5D,KAAKyD,UAAY5D,EAAQgE,MAChCC,QAAS9D,KAAK+D,SAAWjE,EAAOkE,QAChCC,OAAQjE,KAAK+D,SAAWjE,EAAOoE,OAC/BC,QAASnE,KAAK+D,SAAWjE,EAAOsE,Q,CAMpC,MAAAC,GACE,MAAMC,EAAsBtE,KAAKuE,UAAYvE,KAAKQ,cAClD,MAAMgE,EAAgBxE,KAAKQ,gBAAkB,EAE7C,OACEiE,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,MAAAG,OAAAC,OAAA,CAAAF,IAAA,2CAAKG,MAAO9E,KAAKsD,kBAAsBtD,KAAKC,qBAC1CwE,EAAA,OAAAE,IAAA,2CAAKG,MAAO9E,KAAK+E,YAAc,MAAQ,IACpC/E,KAAK+E,YACJN,EAAA,OAAKK,MAAM,oBACTL,EAAA,SAAOO,QAAShF,KAAKiF,WAAYjF,KAAKkF,QAGxCT,EAAA,SAAOO,QAAShF,KAAKiF,WAAYjF,KAAKkF,OAExCT,EAAA,OAAAE,IAAA,2CAAKG,MAAO9E,KAAK+E,YAAc,MAAQ,IACrCN,EAAA,WAAAG,OAAAC,OAAA,CAAAF,IAAA,2CACEQ,GAAInF,KAAKiF,UACTxE,MAAOT,KAAKS,MACZ2E,YAAapF,KAAKoF,YAClBpD,SAAUhC,KAAKgC,SACfqD,QAASrF,KAAKyC,aAAa6C,KAAKtF,OAC3BA,KAAKuE,UAAY,EAAI,CAAEgB,UAAWvF,KAAKuE,WAAc,KAE5DE,EAAA,OAAAE,IAAA,2CAAKG,MAAM,kBACR9E,KAAKuE,UAAY,GAChBE,EAAA,OAAAE,IAAA,4CACGH,EACCC,EAAA,QAAMK,MAAM,QAAO,YAAW,UAAQ,oBACnBL,EAAA,cAASzE,KAAKuE,WAAmB,eAGpDE,EAAA,QAAMK,MAAM,YAAW,YAAW,SAASU,KAAK,SAASL,GAAG,YAAU,UAC7DV,EAAA,cAASH,GAA6B,iBAMvDG,EAAA,QAAAE,IAAA,gD","ignoreList":[]}