@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,158 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-fb4e9eaf.js');
6
+ const inheritedAttributes = require('./inherited-attributes-61a2aff9.js');
7
+ const v4 = require('./v4-c23234d2.js');
8
+
9
+ 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}";
10
+ const BrTextareaStyle0 = textareaCss;
11
+
12
+ var Density;
13
+ (function (Density) {
14
+ Density["Small"] = "small";
15
+ Density["Medium"] = "medium";
16
+ Density["Large"] = "large";
17
+ })(Density || (Density = {}));
18
+ var States;
19
+ (function (States) {
20
+ States["Danger"] = "danger";
21
+ States["Success"] = "success";
22
+ States["Warning"] = "warning";
23
+ })(States || (States = {}));
24
+ const Textarea = class {
25
+ constructor(hostRef) {
26
+ index.registerInstance(this, hostRef);
27
+ this.brDidConnect = index.createEvent(this, "brDidConnect", 7);
28
+ this.brWillLoad = index.createEvent(this, "brWillLoad", 7);
29
+ this.brDidLoad = index.createEvent(this, "brDidLoad", 7);
30
+ this.brWillRender = index.createEvent(this, "brWillRender", 7);
31
+ this.brDidRender = index.createEvent(this, "brDidRender", 7);
32
+ this.brShouldUpdate = index.createEvent(this, "brShouldUpdate", 7);
33
+ this.brWillUpdate = index.createEvent(this, "brWillUpdate", 7);
34
+ this.brDidUpdate = index.createEvent(this, "brDidUpdate", 7);
35
+ this.brDidDisconnect = index.createEvent(this, "brDidDisconnect", 7);
36
+ this.brFormAssociatedCallback = index.createEvent(this, "brFormAssociatedCallback", 7);
37
+ this.brFormDisabledCallback = index.createEvent(this, "brFormDisabledCallback", 7);
38
+ this.brFormResetCallback = index.createEvent(this, "brFormResetCallback", 7);
39
+ this.brFormStateRestoreCallback = index.createEvent(this, "brFormStateRestoreCallback", 7);
40
+ if (hostRef.$hostElement$["s-ei"]) {
41
+ this.elementInternals = hostRef.$hostElement$["s-ei"];
42
+ }
43
+ else {
44
+ this.elementInternals = hostRef.$hostElement$.attachInternals();
45
+ hostRef.$hostElement$["s-ei"] = this.elementInternals;
46
+ }
47
+ this.inheritedAttributes = {};
48
+ this.value = '';
49
+ this.label = '';
50
+ this.placeholder = '';
51
+ this.disabled = false;
52
+ this.maxlength = 0;
53
+ this.states = null;
54
+ this.density = Density.Medium;
55
+ this.isDarkMode = false;
56
+ this.isLabelLeft = false;
57
+ this.currentLength = 0;
58
+ this.defaultId = `br-textarea-${v4.v4()}`;
59
+ }
60
+ connectedCallback() {
61
+ this.brDidConnect.emit();
62
+ }
63
+ componentWillLoad() {
64
+ this.currentLength = this.value.length;
65
+ this.brWillLoad.emit();
66
+ this.inheritedAttributes = inheritedAttributes.inheritAriaAttributes(this.el);
67
+ }
68
+ componentDidLoad() {
69
+ this.brDidLoad.emit();
70
+ }
71
+ componentWillRender() {
72
+ this.brWillRender.emit();
73
+ }
74
+ componentDidRender() {
75
+ this.brDidRender.emit();
76
+ }
77
+ componentShouldUpdate() {
78
+ this.brShouldUpdate.emit();
79
+ }
80
+ componentWillUpdate() {
81
+ this.brWillUpdate.emit();
82
+ }
83
+ componentDidUpdate() {
84
+ this.brDidUpdate.emit();
85
+ }
86
+ disconnectedCallback() {
87
+ this.brDidDisconnect.emit();
88
+ }
89
+ formAssociatedCallback(form) {
90
+ this.brFormAssociatedCallback.emit(form);
91
+ }
92
+ formDisabledCallback(disabled) {
93
+ this.brFormDisabledCallback.emit(disabled);
94
+ }
95
+ formResetCallback() {
96
+ this.brFormResetCallback.emit();
97
+ }
98
+ formStateRestoreCallback(state, _mode) {
99
+ this.brFormStateRestoreCallback.emit([state, _mode]);
100
+ }
101
+ valueChanged() {
102
+ this.currentLength = this.value.length;
103
+ }
104
+ /**
105
+ * Manipula a mudança de valor do textarea. Atualiza o valor e emite um evento de mudança.
106
+ * @param event - O evento de entrada do textarea.
107
+ */
108
+ handleChange(event) {
109
+ const textarea = event.target;
110
+ this.value = textarea.value;
111
+ this.currentLength = this.value.length;
112
+ this.emitValueChange();
113
+ }
114
+ /**
115
+ * Define um novo valor para o textarea.
116
+ * @param newValue - O novo valor a ser definido.
117
+ */
118
+ async setValue(newValue) {
119
+ this.value = newValue;
120
+ this.currentLength = this.value.length;
121
+ this.emitValueChange();
122
+ }
123
+ emitValueChange() {
124
+ const changeEvent = new CustomEvent('valueChange', {
125
+ detail: { value: this.value },
126
+ bubbles: true,
127
+ composed: true,
128
+ });
129
+ this.el.dispatchEvent(changeEvent);
130
+ }
131
+ getCssClassMap() {
132
+ return {
133
+ 'br-textarea': true,
134
+ 'dark-mode': this.isDarkMode,
135
+ small: this.density === Density.Small,
136
+ medium: this.density === Density.Medium,
137
+ large: this.density === Density.Large,
138
+ success: this.states === States.Success,
139
+ danger: this.states === States.Danger,
140
+ warning: this.states === States.Warning,
141
+ };
142
+ }
143
+ render() {
144
+ const caracteresRestantes = this.maxlength - this.currentLength;
145
+ const mostrarLimite = this.currentLength === 0;
146
+ return (index.h(index.Host, { key: '9aaae65f9b632e21c44a8ea4ce736d6e5e394b85' }, index.h("div", Object.assign({ key: '5bcc99ec860393cf7be86403fde553c12df1f3ca', class: this.getCssClassMap() }, this.inheritedAttributes), index.h("div", { key: 'b19610ee44e038fd69b38bbb6773f805116e99a1', class: this.isLabelLeft ? 'row' : '' }, this.isLabelLeft ? (index.h("div", { class: "col-auto pt-half" }, index.h("label", { htmlFor: this.defaultId }, this.label))) : (index.h("label", { htmlFor: this.defaultId }, this.label)), index.h("div", { key: '3af5ad0220ff70f942ba7144e662066801b695bd', class: this.isLabelLeft ? 'col' : '' }, index.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 } : {}))), index.h("div", { key: '98c265485d7f229ea0284a77b610799037b0186b', class: "text-base mt-1" }, this.maxlength > 0 && (index.h("div", { key: '3edc0d76bc64ca56dfbcc548e79eb2b379d2eb0e' }, mostrarLimite ? (index.h("span", { class: "limit", "aria-live": "polite" }, "Limite m\u00E1ximo de ", index.h("strong", null, this.maxlength), " caracteres")) : (index.h("span", { class: "restantes", "aria-live": "polite", role: "status", id: "limitmax" }, "Restam ", index.h("strong", null, caracteresRestantes), " caracteres"))))), index.h("slot", { key: '8b41a47359ea19a8bee6e39c2b02ac65aa2cfaa1' }))))));
147
+ }
148
+ static get formAssociated() { return true; }
149
+ get el() { return index.getElement(this); }
150
+ static get watchers() { return {
151
+ "value": ["valueChanged"]
152
+ }; }
153
+ };
154
+ Textarea.style = BrTextareaStyle0;
155
+
156
+ exports.br_textarea = Textarea;
157
+
158
+ //# sourceMappingURL=br-textarea.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"br-textarea.entry.cjs.js","mappings":"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","names":["uuidv4","inheritAriaAttributes","h","Host"],"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}
@@ -21,7 +21,7 @@ function _interopNamespace(e) {
21
21
  }
22
22
 
23
23
  const NAMESPACE = 'webcomponents';
24
- 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 };
24
+ 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 };
25
25
 
26
26
  /*
27
27
  Stencil Client Platform v4.21.0 | MIT Licensed | https://stenciljs.com
@@ -82,6 +82,10 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
82
82
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
83
83
  /* webpackMode: "lazy" */
84
84
  './br-checkbox.cjs.entry.js')); }).then(processMod, consoleError);
85
+ case 'br-dropdown.cjs':
86
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
87
+ /* webpackMode: "lazy" */
88
+ './br-dropdown.cjs.entry.js')); }).then(processMod, consoleError);
85
89
  case 'br-input.cjs':
86
90
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
87
91
  /* webpackMode: "lazy" */
@@ -110,6 +114,10 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
110
114
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
111
115
  /* webpackMode: "lazy" */
112
116
  './br-switch.cjs.entry.js')); }).then(processMod, consoleError);
117
+ case 'br-textarea.cjs':
118
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
119
+ /* webpackMode: "lazy" */
120
+ './br-textarea.cjs.entry.js')); }).then(processMod, consoleError);
113
121
  case 'br-button_2.cjs':
114
122
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
115
123
  /* webpackMode: "lazy" */
@@ -1247,6 +1255,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
1247
1255
  `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).`
1248
1256
  );
1249
1257
  }
1258
+ const elm = hostRef.$hostElement$ ;
1250
1259
  const oldVal = hostRef.$instanceValues$.get(propName);
1251
1260
  const flags = hostRef.$flags$;
1252
1261
  const instance = hostRef.$lazyInstance$ ;
@@ -1256,6 +1265,18 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
1256
1265
  if ((!(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {
1257
1266
  hostRef.$instanceValues$.set(propName, newVal);
1258
1267
  if (instance) {
1268
+ if (cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {
1269
+ const watchMethods = cmpMeta.$watchers$[propName];
1270
+ if (watchMethods) {
1271
+ watchMethods.map((watchMethodName) => {
1272
+ try {
1273
+ instance[watchMethodName](newVal, oldVal, propName);
1274
+ } catch (e) {
1275
+ consoleError(e, elm);
1276
+ }
1277
+ });
1278
+ }
1279
+ }
1259
1280
  if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
1260
1281
  if (instance.componentShouldUpdate) {
1261
1282
  if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {
@@ -1291,7 +1312,10 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1291
1312
  })
1292
1313
  );
1293
1314
  }
1294
- if (cmpMeta.$members$ || BUILD.watchCallback ) {
1315
+ if (cmpMeta.$members$ || (cmpMeta.$watchers$ || Cstr.watchers)) {
1316
+ if (Cstr.watchers && !cmpMeta.$watchers$) {
1317
+ cmpMeta.$watchers$ = Cstr.watchers;
1318
+ }
1295
1319
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
1296
1320
  members.map(([memberName, [memberFlags]]) => {
1297
1321
  if ((memberFlags & 31 /* Prop */ || (flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {
@@ -1385,6 +1409,9 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1385
1409
  throw new Error(`Constructor for "${cmpMeta.$tagName$}#${hostRef.$modeName$}" was not found`);
1386
1410
  }
1387
1411
  if (!Cstr.isProxied) {
1412
+ {
1413
+ cmpMeta.$watchers$ = Cstr.watchers;
1414
+ }
1388
1415
  proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
1389
1416
  Cstr.isProxied = true;
1390
1417
  }
@@ -1400,6 +1427,9 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1400
1427
  {
1401
1428
  hostRef.$flags$ &= ~8 /* isConstructingInstance */;
1402
1429
  }
1430
+ {
1431
+ hostRef.$flags$ |= 128 /* isWatchReady */;
1432
+ }
1403
1433
  endNewInstance();
1404
1434
  fireConnectedCallback(hostRef.$lazyInstance$);
1405
1435
  } else {
@@ -1528,6 +1558,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1528
1558
  let hasSlotRelocation = false;
1529
1559
  lazyBundles.map((lazyBundle) => {
1530
1560
  lazyBundle[1].map((compactMeta) => {
1561
+ var _a2;
1531
1562
  const cmpMeta = {
1532
1563
  $flags$: compactMeta[0],
1533
1564
  $tagName$: compactMeta[1],
@@ -1546,6 +1577,9 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1546
1577
  {
1547
1578
  cmpMeta.$attrsToReflect$ = [];
1548
1579
  }
1580
+ {
1581
+ cmpMeta.$watchers$ = (_a2 = compactMeta[4]) != null ? _a2 : {};
1582
+ }
1549
1583
  const tagName = cmpMeta.$tagName$;
1550
1584
  const HostElement = class extends HTMLElement {
1551
1585
  // StencilLazyHost
@@ -1678,4 +1712,4 @@ exports.promiseResolve = promiseResolve;
1678
1712
  exports.registerInstance = registerInstance;
1679
1713
  exports.setNonce = setNonce;
1680
1714
 
1681
- //# sourceMappingURL=index-ecdd4399.js.map
1715
+ //# sourceMappingURL=index-fb4e9eaf.js.map