@govbr-ds/webcomponents 2.0.0-next.13 → 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 (208) hide show
  1. package/dist/cjs/br-avatar.cjs.entry.js +6 -6
  2. package/dist/cjs/br-avatar.cjs.entry.js.map +1 -1
  3. package/dist/cjs/br-button_2.cjs.entry.js +20 -21
  4. package/dist/cjs/br-button_2.cjs.entry.js.map +1 -1
  5. package/dist/cjs/br-checkbox.cjs.entry.js +9 -8
  6. package/dist/cjs/br-checkbox.cjs.entry.js.map +1 -1
  7. package/dist/cjs/br-dropdown.cjs.entry.js +142 -0
  8. package/dist/cjs/br-dropdown.cjs.entry.js.map +1 -0
  9. package/dist/cjs/br-input.cjs.entry.js +13 -12
  10. package/dist/cjs/br-input.cjs.entry.js.map +1 -1
  11. package/dist/cjs/br-item.cjs.entry.js +24 -24
  12. package/dist/cjs/br-item.cjs.entry.js.map +1 -1
  13. package/dist/cjs/br-list.cjs.entry.js +8 -7
  14. package/dist/cjs/br-list.cjs.entry.js.map +1 -1
  15. package/dist/cjs/br-loading.cjs.entry.js +3 -3
  16. package/dist/cjs/br-loading.cjs.entry.js.map +1 -1
  17. package/dist/cjs/br-message.cjs.entry.js +8 -7
  18. package/dist/cjs/br-message.cjs.entry.js.map +1 -1
  19. package/dist/cjs/br-radio.cjs.entry.js +27 -29
  20. package/dist/cjs/br-radio.cjs.entry.js.map +1 -1
  21. package/dist/cjs/br-switch.cjs.entry.js +9 -8
  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-ecdd4399.js → index-fb4e9eaf.js} +37 -3
  26. package/dist/cjs/index-fb4e9eaf.js.map +1 -0
  27. package/dist/cjs/loader.cjs.js +2 -2
  28. package/dist/cjs/webcomponents.cjs.js +2 -2
  29. package/dist/cjs/webcomponents.cjs.js.map +1 -1
  30. package/dist/collection/collection-manifest.json +3 -1
  31. package/dist/collection/components/avatar/avatar.css +112 -1
  32. package/dist/collection/components/avatar/avatar.js +4 -4
  33. package/dist/collection/components/avatar/avatar.js.map +1 -1
  34. package/dist/collection/components/button/button.css +117 -1
  35. package/dist/collection/components/button/button.js +15 -34
  36. package/dist/collection/components/button/button.js.map +1 -1
  37. package/dist/collection/components/checkbox/checkbox.css +103 -1
  38. package/dist/collection/components/checkbox/checkbox.js +9 -8
  39. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  40. package/dist/collection/components/dropdown/dropdown.css +471 -0
  41. package/dist/collection/components/dropdown/dropdown.js +426 -0
  42. package/dist/collection/components/dropdown/dropdown.js.map +1 -0
  43. package/dist/collection/components/icon/icon.css +103 -1
  44. package/dist/collection/components/icon/icon.js +4 -4
  45. package/dist/collection/components/icon/icon.js.map +1 -1
  46. package/dist/collection/components/input/input.css +103 -1
  47. package/dist/collection/components/input/input.js +11 -28
  48. package/dist/collection/components/input/input.js.map +1 -1
  49. package/dist/collection/components/item/item.css +103 -1
  50. package/dist/collection/components/item/item.js +25 -25
  51. package/dist/collection/components/item/item.js.map +1 -1
  52. package/dist/collection/components/list/list.css +103 -1
  53. package/dist/collection/components/list/list.js +13 -12
  54. package/dist/collection/components/list/list.js.map +1 -1
  55. package/dist/collection/components/loading/loading.css +117 -1
  56. package/dist/collection/components/loading/loading.js +1 -1
  57. package/dist/collection/components/loading/loading.js.map +1 -1
  58. package/dist/collection/components/message/message.css +103 -1
  59. package/dist/collection/components/message/message.js +6 -5
  60. package/dist/collection/components/message/message.js.map +1 -1
  61. package/dist/collection/components/radio/radio.css +103 -1
  62. package/dist/collection/components/radio/radio.js +26 -74
  63. package/dist/collection/components/radio/radio.js.map +1 -1
  64. package/dist/collection/components/switch/switch.css +103 -1
  65. package/dist/collection/components/switch/switch.js +9 -8
  66. package/dist/collection/components/switch/switch.js.map +1 -1
  67. package/dist/collection/components/textarea/textarea.css +522 -0
  68. package/dist/collection/components/textarea/textarea.js +566 -0
  69. package/dist/collection/components/textarea/textarea.js.map +1 -0
  70. package/dist/collection/pages/dropdown/dropdown.js +18 -0
  71. package/dist/collection/pages/textarea/textarea.js +19 -0
  72. package/dist/collection/scripts/menu.js +50 -48
  73. package/dist/components/br-avatar.js +7 -7
  74. package/dist/components/br-avatar.js.map +1 -1
  75. package/dist/components/br-button.js +1 -1
  76. package/dist/components/br-checkbox.js +11 -10
  77. package/dist/components/br-checkbox.js.map +1 -1
  78. package/dist/components/br-dropdown.d.ts +11 -0
  79. package/dist/components/br-dropdown.js +156 -0
  80. package/dist/components/br-dropdown.js.map +1 -0
  81. package/dist/components/br-icon.js +1 -1
  82. package/dist/components/br-input.js +15 -15
  83. package/dist/components/br-input.js.map +1 -1
  84. package/dist/components/br-item.js +27 -27
  85. package/dist/components/br-item.js.map +1 -1
  86. package/dist/components/br-list.js +10 -9
  87. package/dist/components/br-list.js.map +1 -1
  88. package/dist/components/br-loading.js +3 -3
  89. package/dist/components/br-loading.js.map +1 -1
  90. package/dist/components/br-message.js +10 -9
  91. package/dist/components/br-message.js.map +1 -1
  92. package/dist/components/br-radio.js +29 -33
  93. package/dist/components/br-radio.js.map +1 -1
  94. package/dist/components/br-switch.js +11 -10
  95. package/dist/components/br-switch.js.map +1 -1
  96. package/dist/components/br-textarea.d.ts +11 -0
  97. package/dist/components/br-textarea.js +181 -0
  98. package/dist/components/br-textarea.js.map +1 -0
  99. package/dist/components/index.d.ts +4 -0
  100. package/dist/components/index.js +3 -1
  101. package/dist/components/index.js.map +1 -1
  102. package/dist/components/{p-4c4ab942.js → p-698e7a18.js} +27 -3
  103. package/dist/components/p-698e7a18.js.map +1 -0
  104. package/dist/components/{p-ceec3589.js → p-af0dfebc.js} +6 -6
  105. package/dist/components/{p-ceec3589.js.map → p-af0dfebc.js.map} +1 -1
  106. package/dist/components/p-baa2948a.js +138 -0
  107. package/dist/components/p-baa2948a.js.map +1 -0
  108. package/dist/esm/br-avatar.entry.js +6 -6
  109. package/dist/esm/br-avatar.entry.js.map +1 -1
  110. package/dist/esm/br-button_2.entry.js +20 -21
  111. package/dist/esm/br-button_2.entry.js.map +1 -1
  112. package/dist/esm/br-checkbox.entry.js +9 -8
  113. package/dist/esm/br-checkbox.entry.js.map +1 -1
  114. package/dist/esm/br-dropdown.entry.js +138 -0
  115. package/dist/esm/br-dropdown.entry.js.map +1 -0
  116. package/dist/esm/br-input.entry.js +13 -12
  117. package/dist/esm/br-input.entry.js.map +1 -1
  118. package/dist/esm/br-item.entry.js +24 -24
  119. package/dist/esm/br-item.entry.js.map +1 -1
  120. package/dist/esm/br-list.entry.js +8 -7
  121. package/dist/esm/br-list.entry.js.map +1 -1
  122. package/dist/esm/br-loading.entry.js +3 -3
  123. package/dist/esm/br-loading.entry.js.map +1 -1
  124. package/dist/esm/br-message.entry.js +8 -7
  125. package/dist/esm/br-message.entry.js.map +1 -1
  126. package/dist/esm/br-radio.entry.js +27 -29
  127. package/dist/esm/br-radio.entry.js.map +1 -1
  128. package/dist/esm/br-switch.entry.js +9 -8
  129. package/dist/esm/br-switch.entry.js.map +1 -1
  130. package/dist/esm/br-textarea.entry.js +154 -0
  131. package/dist/esm/br-textarea.entry.js.map +1 -0
  132. package/dist/esm/{index-5866d5ff.js → index-c7037515.js} +37 -3
  133. package/dist/esm/index-c7037515.js.map +1 -0
  134. package/dist/esm/loader.js +3 -3
  135. package/dist/esm/webcomponents.js +3 -3
  136. package/dist/esm/webcomponents.js.map +1 -1
  137. package/dist/types/components/avatar/avatar.d.ts +3 -3
  138. package/dist/types/components/button/button.d.ts +2 -6
  139. package/dist/types/components/checkbox/checkbox.d.ts +2 -2
  140. package/dist/types/components/dropdown/dropdown.d.ts +154 -0
  141. package/dist/types/components/icon/icon.d.ts +2 -2
  142. package/dist/types/components/input/input.d.ts +9 -13
  143. package/dist/types/components/item/item.d.ts +4 -4
  144. package/dist/types/components/list/list.d.ts +17 -17
  145. package/dist/types/components/loading/loading.d.ts +1 -1
  146. package/dist/types/components/message/message.d.ts +2 -2
  147. package/dist/types/components/radio/radio.d.ts +5 -4
  148. package/dist/types/components/switch/switch.d.ts +3 -3
  149. package/dist/types/components/textarea/textarea.d.ts +157 -0
  150. package/dist/types/components.d.ts +328 -26
  151. package/dist/webcomponents/p-0f8df882.entry.js +2 -0
  152. package/dist/webcomponents/p-0f8df882.entry.js.map +1 -0
  153. package/dist/webcomponents/p-128b4b58.entry.js +2 -0
  154. package/dist/webcomponents/p-128b4b58.entry.js.map +1 -0
  155. package/dist/webcomponents/p-2bc17aba.entry.js +2 -0
  156. package/dist/webcomponents/p-2bc17aba.entry.js.map +1 -0
  157. package/dist/webcomponents/p-2ff6ee7a.entry.js +13 -0
  158. package/dist/webcomponents/p-2ff6ee7a.entry.js.map +1 -0
  159. package/dist/webcomponents/p-4645bc22.entry.js +2 -0
  160. package/dist/webcomponents/p-4645bc22.entry.js.map +1 -0
  161. package/dist/webcomponents/p-4e1a6b1e.entry.js +2 -0
  162. package/dist/webcomponents/p-4e1a6b1e.entry.js.map +1 -0
  163. package/dist/webcomponents/p-53a18892.entry.js +2 -0
  164. package/dist/webcomponents/p-53a18892.entry.js.map +1 -0
  165. package/dist/webcomponents/p-6783eb4f.entry.js +2 -0
  166. package/dist/webcomponents/p-6783eb4f.entry.js.map +1 -0
  167. package/dist/webcomponents/{p-6315c80a.js → p-6849daee.js} +3 -3
  168. package/dist/webcomponents/p-6849daee.js.map +1 -0
  169. package/dist/webcomponents/p-e1d4a515.entry.js +2 -0
  170. package/dist/webcomponents/p-e1d4a515.entry.js.map +1 -0
  171. package/dist/webcomponents/p-e74737f9.entry.js +2 -0
  172. package/dist/webcomponents/p-e74737f9.entry.js.map +1 -0
  173. package/dist/webcomponents/p-f66d6a1e.entry.js +2 -0
  174. package/dist/webcomponents/p-f66d6a1e.entry.js.map +1 -0
  175. package/dist/webcomponents/p-ffbd85fd.entry.js +2 -0
  176. package/dist/webcomponents/p-ffbd85fd.entry.js.map +1 -0
  177. package/dist/webcomponents/webcomponents.esm.js +1 -1
  178. package/dist/webcomponents/webcomponents.esm.js.map +1 -1
  179. package/hydrate/index.js +492 -147
  180. package/hydrate/index.mjs +492 -147
  181. package/package.json +10 -6
  182. package/vscode-data.json +66 -12
  183. package/dist/cjs/index-ecdd4399.js.map +0 -1
  184. package/dist/components/p-4c4ab942.js.map +0 -1
  185. package/dist/components/p-6c7f2b2a.js +0 -140
  186. package/dist/components/p-6c7f2b2a.js.map +0 -1
  187. package/dist/esm/index-5866d5ff.js.map +0 -1
  188. package/dist/webcomponents/p-0178bba0.entry.js +0 -2
  189. package/dist/webcomponents/p-0178bba0.entry.js.map +0 -1
  190. package/dist/webcomponents/p-47812ff4.entry.js +0 -2
  191. package/dist/webcomponents/p-47812ff4.entry.js.map +0 -1
  192. package/dist/webcomponents/p-5cb55733.entry.js +0 -2
  193. package/dist/webcomponents/p-5cb55733.entry.js.map +0 -1
  194. package/dist/webcomponents/p-6315c80a.js.map +0 -1
  195. package/dist/webcomponents/p-6f787c6e.entry.js +0 -2
  196. package/dist/webcomponents/p-6f787c6e.entry.js.map +0 -1
  197. package/dist/webcomponents/p-9054589f.entry.js +0 -2
  198. package/dist/webcomponents/p-9054589f.entry.js.map +0 -1
  199. package/dist/webcomponents/p-961ad7ab.entry.js +0 -13
  200. package/dist/webcomponents/p-961ad7ab.entry.js.map +0 -1
  201. package/dist/webcomponents/p-9810bb43.entry.js +0 -2
  202. package/dist/webcomponents/p-9810bb43.entry.js.map +0 -1
  203. package/dist/webcomponents/p-a1969013.entry.js +0 -2
  204. package/dist/webcomponents/p-a1969013.entry.js.map +0 -1
  205. package/dist/webcomponents/p-ca5f6891.entry.js +0 -2
  206. package/dist/webcomponents/p-ca5f6891.entry.js.map +0 -1
  207. package/dist/webcomponents/p-e981b8b4.entry.js +0 -2
  208. package/dist/webcomponents/p-e981b8b4.entry.js.map +0 -1
@@ -0,0 +1,154 @@
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-c7037515.js';
2
+ import { i as inheritAriaAttributes } from './inherited-attributes-c856c729.js';
3
+ import { v as v4 } from './v4-23648a96.js';
4
+
5
+ const textareaCss = "*,*::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}";
6
+ const BrTextareaStyle0 = textareaCss;
7
+
8
+ var Density;
9
+ (function (Density) {
10
+ Density["Small"] = "small";
11
+ Density["Medium"] = "medium";
12
+ Density["Large"] = "large";
13
+ })(Density || (Density = {}));
14
+ var States;
15
+ (function (States) {
16
+ States["Danger"] = "danger";
17
+ States["Success"] = "success";
18
+ States["Warning"] = "warning";
19
+ })(States || (States = {}));
20
+ const Textarea = class {
21
+ constructor(hostRef) {
22
+ registerInstance(this, hostRef);
23
+ this.brDidConnect = createEvent(this, "brDidConnect", 7);
24
+ this.brWillLoad = createEvent(this, "brWillLoad", 7);
25
+ this.brDidLoad = createEvent(this, "brDidLoad", 7);
26
+ this.brWillRender = createEvent(this, "brWillRender", 7);
27
+ this.brDidRender = createEvent(this, "brDidRender", 7);
28
+ this.brShouldUpdate = createEvent(this, "brShouldUpdate", 7);
29
+ this.brWillUpdate = createEvent(this, "brWillUpdate", 7);
30
+ this.brDidUpdate = createEvent(this, "brDidUpdate", 7);
31
+ this.brDidDisconnect = createEvent(this, "brDidDisconnect", 7);
32
+ this.brFormAssociatedCallback = createEvent(this, "brFormAssociatedCallback", 7);
33
+ this.brFormDisabledCallback = createEvent(this, "brFormDisabledCallback", 7);
34
+ this.brFormResetCallback = createEvent(this, "brFormResetCallback", 7);
35
+ this.brFormStateRestoreCallback = createEvent(this, "brFormStateRestoreCallback", 7);
36
+ if (hostRef.$hostElement$["s-ei"]) {
37
+ this.elementInternals = hostRef.$hostElement$["s-ei"];
38
+ }
39
+ else {
40
+ this.elementInternals = hostRef.$hostElement$.attachInternals();
41
+ hostRef.$hostElement$["s-ei"] = this.elementInternals;
42
+ }
43
+ this.inheritedAttributes = {};
44
+ this.value = '';
45
+ this.label = '';
46
+ this.placeholder = '';
47
+ this.disabled = false;
48
+ this.maxlength = 0;
49
+ this.states = null;
50
+ this.density = Density.Medium;
51
+ this.isDarkMode = false;
52
+ this.isLabelLeft = false;
53
+ this.currentLength = 0;
54
+ this.defaultId = `br-textarea-${v4()}`;
55
+ }
56
+ connectedCallback() {
57
+ this.brDidConnect.emit();
58
+ }
59
+ componentWillLoad() {
60
+ this.currentLength = this.value.length;
61
+ this.brWillLoad.emit();
62
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
63
+ }
64
+ componentDidLoad() {
65
+ this.brDidLoad.emit();
66
+ }
67
+ componentWillRender() {
68
+ this.brWillRender.emit();
69
+ }
70
+ componentDidRender() {
71
+ this.brDidRender.emit();
72
+ }
73
+ componentShouldUpdate() {
74
+ this.brShouldUpdate.emit();
75
+ }
76
+ componentWillUpdate() {
77
+ this.brWillUpdate.emit();
78
+ }
79
+ componentDidUpdate() {
80
+ this.brDidUpdate.emit();
81
+ }
82
+ disconnectedCallback() {
83
+ this.brDidDisconnect.emit();
84
+ }
85
+ formAssociatedCallback(form) {
86
+ this.brFormAssociatedCallback.emit(form);
87
+ }
88
+ formDisabledCallback(disabled) {
89
+ this.brFormDisabledCallback.emit(disabled);
90
+ }
91
+ formResetCallback() {
92
+ this.brFormResetCallback.emit();
93
+ }
94
+ formStateRestoreCallback(state, _mode) {
95
+ this.brFormStateRestoreCallback.emit([state, _mode]);
96
+ }
97
+ valueChanged() {
98
+ this.currentLength = this.value.length;
99
+ }
100
+ /**
101
+ * Manipula a mudança de valor do textarea. Atualiza o valor e emite um evento de mudança.
102
+ * @param event - O evento de entrada do textarea.
103
+ */
104
+ handleChange(event) {
105
+ const textarea = event.target;
106
+ this.value = textarea.value;
107
+ this.currentLength = this.value.length;
108
+ this.emitValueChange();
109
+ }
110
+ /**
111
+ * Define um novo valor para o textarea.
112
+ * @param newValue - O novo valor a ser definido.
113
+ */
114
+ async setValue(newValue) {
115
+ this.value = newValue;
116
+ this.currentLength = this.value.length;
117
+ this.emitValueChange();
118
+ }
119
+ emitValueChange() {
120
+ const changeEvent = new CustomEvent('valueChange', {
121
+ detail: { value: this.value },
122
+ bubbles: true,
123
+ composed: true,
124
+ });
125
+ this.el.dispatchEvent(changeEvent);
126
+ }
127
+ getCssClassMap() {
128
+ return {
129
+ 'br-textarea': true,
130
+ 'dark-mode': this.isDarkMode,
131
+ small: this.density === Density.Small,
132
+ medium: this.density === Density.Medium,
133
+ large: this.density === Density.Large,
134
+ success: this.states === States.Success,
135
+ danger: this.states === States.Danger,
136
+ warning: this.states === States.Warning,
137
+ };
138
+ }
139
+ render() {
140
+ const caracteresRestantes = this.maxlength - this.currentLength;
141
+ const mostrarLimite = this.currentLength === 0;
142
+ return (h(Host, { key: '9aaae65f9b632e21c44a8ea4ce736d6e5e394b85' }, h("div", Object.assign({ key: '5bcc99ec860393cf7be86403fde553c12df1f3ca', class: this.getCssClassMap() }, this.inheritedAttributes), h("div", { key: 'b19610ee44e038fd69b38bbb6773f805116e99a1', class: this.isLabelLeft ? 'row' : '' }, this.isLabelLeft ? (h("div", { class: "col-auto pt-half" }, h("label", { htmlFor: this.defaultId }, this.label))) : (h("label", { htmlFor: this.defaultId }, this.label)), h("div", { key: '3af5ad0220ff70f942ba7144e662066801b695bd', class: this.isLabelLeft ? 'col' : '' }, h("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 } : {}))), h("div", { key: '98c265485d7f229ea0284a77b610799037b0186b', class: "text-base mt-1" }, this.maxlength > 0 && (h("div", { key: '3edc0d76bc64ca56dfbcc548e79eb2b379d2eb0e' }, mostrarLimite ? (h("span", { class: "limit", "aria-live": "polite" }, "Limite m\u00E1ximo de ", h("strong", null, this.maxlength), " caracteres")) : (h("span", { class: "restantes", "aria-live": "polite", role: "status", id: "limitmax" }, "Restam ", h("strong", null, caracteresRestantes), " caracteres"))))), h("slot", { key: '8b41a47359ea19a8bee6e39c2b02ac65aa2cfaa1' }))))));
143
+ }
144
+ static get formAssociated() { return true; }
145
+ get el() { return getElement(this); }
146
+ static get watchers() { return {
147
+ "value": ["valueChanged"]
148
+ }; }
149
+ };
150
+ Textarea.style = BrTextareaStyle0;
151
+
152
+ export { Textarea as br_textarea };
153
+
154
+ //# sourceMappingURL=br-textarea.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"br-textarea.entry.js","mappings":"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","names":["uuidv4"],"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"],"version":3}
@@ -1,5 +1,5 @@
1
1
  const NAMESPACE = 'webcomponents';
2
- const BUILD = /* webcomponents */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: true, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: true, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: true, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: false };
2
+ const BUILD = /* webcomponents */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: true, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: true, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: true, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: false, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
3
3
 
4
4
  /*
5
5
  Stencil Client Platform v4.21.0 | MIT Licensed | https://stenciljs.com
@@ -60,6 +60,10 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
60
60
  return import(
61
61
  /* webpackMode: "lazy" */
62
62
  './br-checkbox.entry.js').then(processMod, consoleError);
63
+ case 'br-dropdown':
64
+ return import(
65
+ /* webpackMode: "lazy" */
66
+ './br-dropdown.entry.js').then(processMod, consoleError);
63
67
  case 'br-input':
64
68
  return import(
65
69
  /* webpackMode: "lazy" */
@@ -88,6 +92,10 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
88
92
  return import(
89
93
  /* webpackMode: "lazy" */
90
94
  './br-switch.entry.js').then(processMod, consoleError);
95
+ case 'br-textarea':
96
+ return import(
97
+ /* webpackMode: "lazy" */
98
+ './br-textarea.entry.js').then(processMod, consoleError);
91
99
  case 'br-button_2':
92
100
  return import(
93
101
  /* webpackMode: "lazy" */
@@ -1225,6 +1233,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
1225
1233
  `Couldn't find host element for "${cmpMeta.$tagName$}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`
1226
1234
  );
1227
1235
  }
1236
+ const elm = hostRef.$hostElement$ ;
1228
1237
  const oldVal = hostRef.$instanceValues$.get(propName);
1229
1238
  const flags = hostRef.$flags$;
1230
1239
  const instance = hostRef.$lazyInstance$ ;
@@ -1234,6 +1243,18 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
1234
1243
  if ((!(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {
1235
1244
  hostRef.$instanceValues$.set(propName, newVal);
1236
1245
  if (instance) {
1246
+ if (cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {
1247
+ const watchMethods = cmpMeta.$watchers$[propName];
1248
+ if (watchMethods) {
1249
+ watchMethods.map((watchMethodName) => {
1250
+ try {
1251
+ instance[watchMethodName](newVal, oldVal, propName);
1252
+ } catch (e) {
1253
+ consoleError(e, elm);
1254
+ }
1255
+ });
1256
+ }
1257
+ }
1237
1258
  if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
1238
1259
  if (instance.componentShouldUpdate) {
1239
1260
  if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {
@@ -1269,7 +1290,10 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1269
1290
  })
1270
1291
  );
1271
1292
  }
1272
- if (cmpMeta.$members$ || BUILD.watchCallback ) {
1293
+ if (cmpMeta.$members$ || (cmpMeta.$watchers$ || Cstr.watchers)) {
1294
+ if (Cstr.watchers && !cmpMeta.$watchers$) {
1295
+ cmpMeta.$watchers$ = Cstr.watchers;
1296
+ }
1273
1297
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
1274
1298
  members.map(([memberName, [memberFlags]]) => {
1275
1299
  if ((memberFlags & 31 /* Prop */ || (flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {
@@ -1363,6 +1387,9 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1363
1387
  throw new Error(`Constructor for "${cmpMeta.$tagName$}#${hostRef.$modeName$}" was not found`);
1364
1388
  }
1365
1389
  if (!Cstr.isProxied) {
1390
+ {
1391
+ cmpMeta.$watchers$ = Cstr.watchers;
1392
+ }
1366
1393
  proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
1367
1394
  Cstr.isProxied = true;
1368
1395
  }
@@ -1378,6 +1405,9 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1378
1405
  {
1379
1406
  hostRef.$flags$ &= ~8 /* isConstructingInstance */;
1380
1407
  }
1408
+ {
1409
+ hostRef.$flags$ |= 128 /* isWatchReady */;
1410
+ }
1381
1411
  endNewInstance();
1382
1412
  fireConnectedCallback(hostRef.$lazyInstance$);
1383
1413
  } else {
@@ -1506,6 +1536,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1506
1536
  let hasSlotRelocation = false;
1507
1537
  lazyBundles.map((lazyBundle) => {
1508
1538
  lazyBundle[1].map((compactMeta) => {
1539
+ var _a2;
1509
1540
  const cmpMeta = {
1510
1541
  $flags$: compactMeta[0],
1511
1542
  $tagName$: compactMeta[1],
@@ -1524,6 +1555,9 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1524
1555
  {
1525
1556
  cmpMeta.$attrsToReflect$ = [];
1526
1557
  }
1558
+ {
1559
+ cmpMeta.$watchers$ = (_a2 = compactMeta[4]) != null ? _a2 : {};
1560
+ }
1527
1561
  const tagName = cmpMeta.$tagName$;
1528
1562
  const HostElement = class extends HTMLElement {
1529
1563
  // StencilLazyHost
@@ -1649,4 +1683,4 @@ var setNonce = (nonce) => plt.$nonce$ = nonce;
1649
1683
 
1650
1684
  export { Host as H, bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
1651
1685
 
1652
- //# sourceMappingURL=index-5866d5ff.js.map
1686
+ //# sourceMappingURL=index-c7037515.js.map