@beeq/core 1.12.2-beta.0 → 1.12.3-beta.0

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 (640) hide show
  1. package/dist/beeq/beeq.esm.js +1 -44
  2. package/dist/beeq/beeq.esm.js.map +1 -1
  3. package/dist/beeq/index.esm.js +1 -69
  4. package/dist/beeq/p-026cfacc.entry.js +6 -0
  5. package/dist/beeq/p-026cfacc.entry.js.map +1 -0
  6. package/dist/beeq/p-061d53de.entry.js +6 -0
  7. package/dist/beeq/p-061d53de.entry.js.map +1 -0
  8. package/dist/beeq/{p-9a78587d.entry.js → p-08fef3d3.entry.js} +2 -134
  9. package/dist/beeq/p-08fef3d3.entry.js.map +1 -0
  10. package/dist/beeq/p-12d9420b.entry.js +6 -0
  11. package/dist/beeq/p-12d9420b.entry.js.map +1 -0
  12. package/dist/beeq/p-17454929.entry.js +6 -0
  13. package/dist/beeq/p-17454929.entry.js.map +1 -0
  14. package/dist/beeq/{p-ff327b98.entry.js → p-1bce390d.entry.js} +2 -116
  15. package/dist/beeq/p-1bce390d.entry.js.map +1 -0
  16. package/dist/beeq/p-1c09c7c0.entry.js +6 -0
  17. package/dist/beeq/p-1c09c7c0.entry.js.map +1 -0
  18. package/dist/beeq/p-1f819545.entry.js +6 -0
  19. package/dist/beeq/p-1f819545.entry.js.map +1 -0
  20. package/dist/beeq/p-292a8a40.entry.js +6 -0
  21. package/dist/beeq/p-292a8a40.entry.js.map +1 -0
  22. package/dist/beeq/p-2ec4fbf0.entry.js +6 -0
  23. package/dist/beeq/p-2ec4fbf0.entry.js.map +1 -0
  24. package/dist/beeq/p-34125078.entry.js +6 -0
  25. package/dist/beeq/p-34125078.entry.js.map +1 -0
  26. package/dist/beeq/{p-6b68123f.entry.js → p-36e8e717.entry.js} +2 -246
  27. package/dist/beeq/p-36e8e717.entry.js.map +1 -0
  28. package/dist/beeq/p-37f739f5.entry.js +6 -0
  29. package/dist/beeq/p-37f739f5.entry.js.map +1 -0
  30. package/dist/beeq/p-38a7015c.entry.js +6 -0
  31. package/dist/{components/p-CXLw0i9p.js.map → beeq/p-38a7015c.entry.js.map} +1 -1
  32. package/dist/beeq/p-4aa539d7.entry.js +6 -0
  33. package/dist/beeq/p-4aa539d7.entry.js.map +1 -0
  34. package/dist/beeq/p-51074699.entry.js +6 -0
  35. package/dist/beeq/p-51074699.entry.js.map +1 -0
  36. package/dist/beeq/p-64123cb2.entry.js +6 -0
  37. package/dist/beeq/p-64123cb2.entry.js.map +1 -0
  38. package/dist/beeq/{p-426fd908.entry.js → p-6a70511e.entry.js} +2 -211
  39. package/dist/beeq/p-6a70511e.entry.js.map +1 -0
  40. package/dist/beeq/{p-1011ae42.entry.js → p-7c9c6561.entry.js} +2 -89
  41. package/dist/beeq/p-7c9c6561.entry.js.map +1 -0
  42. package/dist/beeq/p-7e73ea84.entry.js +6 -0
  43. package/dist/beeq/p-7e73ea84.entry.js.map +1 -0
  44. package/dist/beeq/p-84db8789.entry.js +6 -0
  45. package/dist/beeq/p-84db8789.entry.js.map +1 -0
  46. package/dist/beeq/p-85af346a.entry.js +6 -0
  47. package/dist/beeq/p-85af346a.entry.js.map +1 -0
  48. package/dist/beeq/p-B4sM1t6Z.js +1 -8
  49. package/dist/beeq/p-BNvWMggA.js +1 -23
  50. package/dist/beeq/p-BRMw_HGf.js +1 -8
  51. package/dist/beeq/p-BRbYDZoo.js +1 -10
  52. package/dist/beeq/p-BcPwGxIn.js +1 -9
  53. package/dist/beeq/p-BsSDkLU5.js +1 -26
  54. package/dist/beeq/p-CCNjsDdb.js +1 -88
  55. package/dist/beeq/p-CVw85-WU.js +1 -64
  56. package/dist/beeq/p-Cau9SvT4.js +1 -12
  57. package/dist/beeq/p-CmKvDWiL.js +1 -1782
  58. package/dist/beeq/p-CpKQ7XUL.js +1 -284
  59. package/dist/beeq/p-D1A0LpG_.js +1 -10
  60. package/dist/beeq/p-DdvbF5yL.js +1 -119
  61. package/dist/beeq/p-DnkZCdMA.js +1 -8
  62. package/dist/beeq/p-Ds7rcaFH.js +1 -65
  63. package/dist/beeq/p-Dx-CEPSQ.js +1 -13
  64. package/dist/beeq/p-XbB3xSTR.js +7 -0
  65. package/dist/beeq/p-XbB3xSTR.js.map +1 -0
  66. package/dist/beeq/p-_RvVpeh2.js +1 -29
  67. package/dist/beeq/p-a4e6c238.entry.js +6 -0
  68. package/dist/beeq/p-a4e6c238.entry.js.map +1 -0
  69. package/dist/beeq/p-ab690c8e.entry.js +6 -0
  70. package/dist/beeq/p-ab690c8e.entry.js.map +1 -0
  71. package/dist/beeq/p-ad86b7ee.entry.js +6 -0
  72. package/dist/beeq/p-ad86b7ee.entry.js.map +1 -0
  73. package/dist/beeq/p-b31ab8df.entry.js +6 -0
  74. package/dist/beeq/p-b31ab8df.entry.js.map +1 -0
  75. package/dist/beeq/p-b4f1b67f.entry.js +6 -0
  76. package/dist/beeq/p-b4f1b67f.entry.js.map +1 -0
  77. package/dist/beeq/{p-8b5934a3.entry.js → p-bcd26036.entry.js} +2 -154
  78. package/dist/beeq/p-bcd26036.entry.js.map +1 -0
  79. package/dist/beeq/{p-11671252.entry.js → p-c08c4c7b.entry.js} +2 -124
  80. package/dist/beeq/p-c08c4c7b.entry.js.map +1 -0
  81. package/dist/{components/p-CXLw0i9p.js → beeq/p-c3013171.entry.js} +2 -291
  82. package/dist/beeq/p-c3013171.entry.js.map +1 -0
  83. package/dist/beeq/p-ce975008.entry.js +6 -0
  84. package/dist/beeq/p-ce975008.entry.js.map +1 -0
  85. package/dist/beeq/{p-db09cc1e.entry.js → p-cf843f3a.entry.js} +2 -83
  86. package/dist/beeq/p-cf843f3a.entry.js.map +1 -0
  87. package/dist/beeq/p-d1f4ce2e.entry.js +6 -0
  88. package/dist/beeq/p-d1f4ce2e.entry.js.map +1 -0
  89. package/dist/beeq/p-d6edf4cb.entry.js +6 -0
  90. package/dist/beeq/p-d6edf4cb.entry.js.map +1 -0
  91. package/dist/beeq/p-e38637a0.entry.js +6 -0
  92. package/dist/beeq/p-e38637a0.entry.js.map +1 -0
  93. package/dist/beeq/p-ec4c7f14.entry.js +6 -0
  94. package/dist/beeq/p-ec4c7f14.entry.js.map +1 -0
  95. package/dist/beeq/p-f3c8eda1.entry.js +6 -0
  96. package/dist/beeq/p-f3c8eda1.entry.js.map +1 -0
  97. package/dist/beeq/{p-1aba3eec.entry.js → p-f86bbd71.entry.js} +2 -146
  98. package/dist/beeq/p-f86bbd71.entry.js.map +1 -0
  99. package/dist/beeq/p-ff68b62f.entry.js +6 -0
  100. package/dist/beeq/p-ff68b62f.entry.js.map +1 -0
  101. package/dist/beeq/p-lysmVw2n.js +1 -12
  102. package/dist/beeq/p-uqkxeAeG.js +1 -88
  103. package/dist/beeq/p-zh4P02Kn.js +1 -21
  104. package/dist/beeq/scripts/esm-loader.js +24 -0
  105. package/dist/beeq/scripts/zeroheight-svg-loader.js +22 -0
  106. package/dist/beeq.html-custom-data.json +198 -198
  107. package/dist/cjs/beeq.cjs.js +2 -3
  108. package/dist/cjs/beeq.cjs.js.map +1 -1
  109. package/dist/cjs/bq-accordion-group.cjs.entry.js +2 -3
  110. package/dist/cjs/bq-accordion-group.cjs.entry.js.map +1 -1
  111. package/dist/cjs/bq-accordion.cjs.entry.js +14 -15
  112. package/dist/cjs/bq-accordion.cjs.entry.js.map +1 -1
  113. package/dist/cjs/bq-alert.cjs.entry.js +14 -15
  114. package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
  115. package/dist/cjs/bq-avatar.cjs.entry.js +13 -14
  116. package/dist/cjs/bq-avatar.cjs.entry.js.map +1 -1
  117. package/dist/cjs/bq-badge.cjs.entry.js +9 -10
  118. package/dist/cjs/bq-badge.cjs.entry.js.map +1 -1
  119. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +2 -3
  120. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js.map +1 -1
  121. package/dist/cjs/bq-breadcrumb.cjs.entry.js +7 -8
  122. package/dist/cjs/bq-breadcrumb.cjs.entry.js.map +1 -1
  123. package/dist/cjs/bq-button_2.cjs.entry.js +19 -20
  124. package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
  125. package/dist/cjs/bq-card.cjs.entry.js +7 -8
  126. package/dist/cjs/bq-card.cjs.entry.js.map +1 -1
  127. package/dist/cjs/bq-checkbox.cjs.entry.js +5 -6
  128. package/dist/cjs/bq-checkbox.cjs.entry.js.map +1 -1
  129. package/dist/cjs/bq-date-picker.cjs.entry.js +20 -21
  130. package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
  131. package/dist/cjs/bq-dialog.cjs.entry.js +15 -16
  132. package/dist/cjs/bq-dialog.cjs.entry.js.map +1 -1
  133. package/dist/cjs/bq-divider.cjs.entry.js +15 -16
  134. package/dist/cjs/bq-divider.cjs.entry.js.map +1 -1
  135. package/dist/cjs/bq-drawer.cjs.entry.js +19 -20
  136. package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
  137. package/dist/cjs/bq-dropdown_2.cjs.entry.js +7 -8
  138. package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +1 -1
  139. package/dist/cjs/bq-empty-state.cjs.entry.js +26 -27
  140. package/dist/cjs/bq-empty-state.cjs.entry.js.map +1 -1
  141. package/dist/cjs/bq-input.cjs.entry.js +22 -23
  142. package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
  143. package/dist/cjs/bq-notification.cjs.entry.js +12 -13
  144. package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
  145. package/dist/cjs/bq-option-group.cjs.entry.js +2 -3
  146. package/dist/cjs/bq-option-group.cjs.entry.js.map +1 -1
  147. package/dist/cjs/bq-option-list_2.cjs.entry.js +11 -12
  148. package/dist/cjs/bq-option-list_2.cjs.entry.js.map +1 -1
  149. package/dist/cjs/bq-option.cjs.entry.js +15 -16
  150. package/dist/cjs/bq-option.cjs.entry.js.map +1 -1
  151. package/dist/cjs/bq-page-title.cjs.entry.js +11 -12
  152. package/dist/cjs/bq-page-title.cjs.entry.js.map +1 -1
  153. package/dist/cjs/bq-progress.cjs.entry.js +13 -14
  154. package/dist/cjs/bq-progress.cjs.entry.js.map +1 -1
  155. package/dist/cjs/bq-radio-group.cjs.entry.js +2 -3
  156. package/dist/cjs/bq-radio-group.cjs.entry.js.map +1 -1
  157. package/dist/cjs/bq-radio.cjs.entry.js +9 -10
  158. package/dist/cjs/bq-radio.cjs.entry.js.map +1 -1
  159. package/dist/cjs/bq-select.cjs.entry.js +31 -32
  160. package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
  161. package/dist/cjs/bq-side-menu-item.cjs.entry.js +6 -7
  162. package/dist/cjs/bq-side-menu-item.cjs.entry.js.map +1 -1
  163. package/dist/cjs/bq-side-menu.cjs.entry.js +4 -5
  164. package/dist/cjs/bq-side-menu.cjs.entry.js.map +1 -1
  165. package/dist/cjs/bq-slider.cjs.entry.js +23 -24
  166. package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
  167. package/dist/cjs/bq-spinner.cjs.entry.js +10 -11
  168. package/dist/cjs/bq-spinner.cjs.entry.js.map +1 -1
  169. package/dist/cjs/bq-status.cjs.entry.js +2 -3
  170. package/dist/cjs/bq-status.cjs.entry.js.map +1 -1
  171. package/dist/cjs/bq-step-item.cjs.entry.js +17 -18
  172. package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
  173. package/dist/cjs/bq-steps.cjs.entry.js +3 -4
  174. package/dist/cjs/bq-steps.cjs.entry.js.map +1 -1
  175. package/dist/cjs/bq-switch.cjs.entry.js +10 -11
  176. package/dist/cjs/bq-switch.cjs.entry.js.map +1 -1
  177. package/dist/cjs/bq-tab-group.cjs.entry.js +8 -9
  178. package/dist/cjs/bq-tab-group.cjs.entry.js.map +1 -1
  179. package/dist/cjs/bq-tab.cjs.entry.js +5 -6
  180. package/dist/cjs/bq-tab.cjs.entry.js.map +1 -1
  181. package/dist/cjs/bq-textarea.cjs.entry.js +16 -17
  182. package/dist/cjs/bq-textarea.cjs.entry.js.map +1 -1
  183. package/dist/cjs/bq-toast.cjs.entry.js +2 -3
  184. package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
  185. package/dist/cjs/bq-tooltip.cjs.entry.js +9 -10
  186. package/dist/cjs/bq-tooltip.cjs.entry.js.map +1 -1
  187. package/dist/cjs/{index-BwvwUnfB.js → index-Bp6IQmE_.js} +68 -22
  188. package/dist/cjs/index-Bp6IQmE_.js.map +1 -0
  189. package/dist/cjs/loader.cjs.js +2 -3
  190. package/dist/cjs/loader.cjs.js.map +1 -1
  191. package/dist/collection/components/accordion/bq-accordion.js +14 -14
  192. package/dist/collection/components/accordion/bq-accordion.js.map +1 -1
  193. package/dist/collection/components/accordion-group/bq-accordion-group.js +2 -2
  194. package/dist/collection/components/accordion-group/bq-accordion-group.js.map +1 -1
  195. package/dist/collection/components/alert/bq-alert.js +14 -15
  196. package/dist/collection/components/alert/bq-alert.js.map +1 -1
  197. package/dist/collection/components/avatar/bq-avatar.js +13 -14
  198. package/dist/collection/components/avatar/bq-avatar.js.map +1 -1
  199. package/dist/collection/components/badge/bq-badge.js +9 -10
  200. package/dist/collection/components/badge/bq-badge.js.map +1 -1
  201. package/dist/collection/components/breadcrumb/bq-breadcrumb.js +6 -7
  202. package/dist/collection/components/breadcrumb/bq-breadcrumb.js.map +1 -1
  203. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +2 -2
  204. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js.map +1 -1
  205. package/dist/collection/components/button/bq-button.js +18 -19
  206. package/dist/collection/components/button/bq-button.js.map +1 -1
  207. package/dist/collection/components/card/bq-card.js +7 -8
  208. package/dist/collection/components/card/bq-card.js.map +1 -1
  209. package/dist/collection/components/checkbox/bq-checkbox.js +5 -5
  210. package/dist/collection/components/checkbox/bq-checkbox.js.map +1 -1
  211. package/dist/collection/components/date-picker/bq-date-picker.js +20 -20
  212. package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
  213. package/dist/collection/components/dialog/bq-dialog.js +15 -15
  214. package/dist/collection/components/dialog/bq-dialog.js.map +1 -1
  215. package/dist/collection/components/divider/bq-divider.js +15 -16
  216. package/dist/collection/components/divider/bq-divider.js.map +1 -1
  217. package/dist/collection/components/drawer/bq-drawer.js +19 -20
  218. package/dist/collection/components/drawer/bq-drawer.js.map +1 -1
  219. package/dist/collection/components/dropdown/bq-dropdown.js +2 -2
  220. package/dist/collection/components/dropdown/bq-dropdown.js.map +1 -1
  221. package/dist/collection/components/empty-state/bq-empty-state.js +26 -26
  222. package/dist/collection/components/empty-state/bq-empty-state.js.map +1 -1
  223. package/dist/collection/components/icon/bq-icon.js +2 -3
  224. package/dist/collection/components/icon/bq-icon.js.map +1 -1
  225. package/dist/collection/components/input/bq-input.js +22 -22
  226. package/dist/collection/components/input/bq-input.js.map +1 -1
  227. package/dist/collection/components/notification/bq-notification.js +12 -13
  228. package/dist/collection/components/notification/bq-notification.js.map +1 -1
  229. package/dist/collection/components/option/bq-option.js +15 -16
  230. package/dist/collection/components/option/bq-option.js.map +1 -1
  231. package/dist/collection/components/option-group/bq-option-group.js +2 -2
  232. package/dist/collection/components/option-group/bq-option-group.js.map +1 -1
  233. package/dist/collection/components/option-list/bq-option-list.js +2 -2
  234. package/dist/collection/components/option-list/bq-option-list.js.map +1 -1
  235. package/dist/collection/components/page-title/bq-page-title.js +11 -11
  236. package/dist/collection/components/page-title/bq-page-title.js.map +1 -1
  237. package/dist/collection/components/panel/bq-panel.js +3 -3
  238. package/dist/collection/components/panel/bq-panel.js.map +1 -1
  239. package/dist/collection/components/progress/bq-progress.js +13 -14
  240. package/dist/collection/components/progress/bq-progress.js.map +1 -1
  241. package/dist/collection/components/radio/bq-radio.js +9 -10
  242. package/dist/collection/components/radio/bq-radio.js.map +1 -1
  243. package/dist/collection/components/radio-group/bq-radio-group.js +2 -3
  244. package/dist/collection/components/radio-group/bq-radio-group.js.map +1 -1
  245. package/dist/collection/components/select/bq-select.js +27 -27
  246. package/dist/collection/components/select/bq-select.js.map +1 -1
  247. package/dist/collection/components/select/scss/bq-select.css +1 -1
  248. package/dist/collection/components/side-menu/bq-side-menu.js +4 -4
  249. package/dist/collection/components/side-menu/bq-side-menu.js.map +1 -1
  250. package/dist/collection/components/side-menu-item/bq-side-menu-item.js +6 -6
  251. package/dist/collection/components/side-menu-item/bq-side-menu-item.js.map +1 -1
  252. package/dist/collection/components/slider/bq-slider.js +23 -23
  253. package/dist/collection/components/slider/bq-slider.js.map +1 -1
  254. package/dist/collection/components/spinner/bq-spinner.js +10 -10
  255. package/dist/collection/components/spinner/bq-spinner.js.map +1 -1
  256. package/dist/collection/components/status/bq-status.js +2 -2
  257. package/dist/collection/components/status/bq-status.js.map +1 -1
  258. package/dist/collection/components/step-item/bq-step-item.js +16 -16
  259. package/dist/collection/components/step-item/bq-step-item.js.map +1 -1
  260. package/dist/collection/components/step-item/scss/bq-step-item.css +1 -1
  261. package/dist/collection/components/steps/bq-steps.js +3 -3
  262. package/dist/collection/components/steps/bq-steps.js.map +1 -1
  263. package/dist/collection/components/switch/bq-switch.js +10 -11
  264. package/dist/collection/components/switch/bq-switch.js.map +1 -1
  265. package/dist/collection/components/tab/bq-tab.js +5 -5
  266. package/dist/collection/components/tab/bq-tab.js.map +1 -1
  267. package/dist/collection/components/tab-group/bq-tab-group.js +8 -9
  268. package/dist/collection/components/tab-group/bq-tab-group.js.map +1 -1
  269. package/dist/collection/components/tag/bq-tag.js +10 -11
  270. package/dist/collection/components/tag/bq-tag.js.map +1 -1
  271. package/dist/collection/components/tag/scss/bq-tag.css +1 -1
  272. package/dist/collection/components/textarea/bq-textarea.js +16 -16
  273. package/dist/collection/components/textarea/bq-textarea.js.map +1 -1
  274. package/dist/collection/components/toast/bq-toast.js +2 -3
  275. package/dist/collection/components/toast/bq-toast.js.map +1 -1
  276. package/dist/collection/components/tooltip/bq-tooltip.js +8 -8
  277. package/dist/collection/components/tooltip/bq-tooltip.js.map +1 -1
  278. package/dist/collection/global/scripts/esm-loader.js +23 -6
  279. package/dist/collection/scripts/esm-loader.js +24 -0
  280. package/dist/collection/scripts/zeroheight-svg-loader.js +22 -0
  281. package/dist/components/bq-accordion-group.js +1 -157
  282. package/dist/components/bq-accordion-group.js.map +1 -1
  283. package/dist/components/bq-accordion.js +1 -444
  284. package/dist/components/bq-accordion.js.map +1 -1
  285. package/dist/components/bq-alert.js +1 -354
  286. package/dist/components/bq-alert.js.map +1 -1
  287. package/dist/components/bq-avatar.js +1 -206
  288. package/dist/components/bq-avatar.js.map +1 -1
  289. package/dist/components/bq-badge.js +1 -8
  290. package/dist/components/bq-breadcrumb-item.js +1 -129
  291. package/dist/components/bq-breadcrumb-item.js.map +1 -1
  292. package/dist/components/bq-breadcrumb.js +1 -138
  293. package/dist/components/bq-breadcrumb.js.map +1 -1
  294. package/dist/components/bq-button.js +1 -8
  295. package/dist/components/bq-card.js +1 -118
  296. package/dist/components/bq-card.js.map +1 -1
  297. package/dist/components/bq-checkbox.js +1 -314
  298. package/dist/components/bq-checkbox.js.map +1 -1
  299. package/dist/components/bq-date-picker.js +1 -1113
  300. package/dist/components/bq-date-picker.js.map +1 -1
  301. package/dist/components/bq-dialog.js +1 -347
  302. package/dist/components/bq-dialog.js.map +1 -1
  303. package/dist/components/bq-divider.js +1 -8
  304. package/dist/components/bq-drawer.js +1 -356
  305. package/dist/components/bq-drawer.js.map +1 -1
  306. package/dist/components/bq-dropdown.js +1 -8
  307. package/dist/components/bq-empty-state.js +1 -192
  308. package/dist/components/bq-empty-state.js.map +1 -1
  309. package/dist/components/bq-icon.js +1 -8
  310. package/dist/components/bq-input.js +1 -502
  311. package/dist/components/bq-input.js.map +1 -1
  312. package/dist/components/bq-notification.js +1 -381
  313. package/dist/components/bq-notification.js.map +1 -1
  314. package/dist/components/bq-option-group.js +1 -104
  315. package/dist/components/bq-option-group.js.map +1 -1
  316. package/dist/components/bq-option-list.js +1 -8
  317. package/dist/components/bq-option.js +1 -200
  318. package/dist/components/bq-option.js.map +1 -1
  319. package/dist/components/bq-page-title.js +1 -150
  320. package/dist/components/bq-page-title.js.map +1 -1
  321. package/dist/components/bq-panel.js +1 -8
  322. package/dist/components/bq-progress.js +1 -220
  323. package/dist/components/bq-progress.js.map +1 -1
  324. package/dist/components/bq-radio-group.js +1 -457
  325. package/dist/components/bq-radio-group.js.map +1 -1
  326. package/dist/components/bq-radio.js +1 -219
  327. package/dist/components/bq-radio.js.map +1 -1
  328. package/dist/components/bq-select.js +1 -794
  329. package/dist/components/bq-select.js.map +1 -1
  330. package/dist/components/bq-side-menu-item.js +1 -181
  331. package/dist/components/bq-side-menu-item.js.map +1 -1
  332. package/dist/components/bq-side-menu.js +1 -200
  333. package/dist/components/bq-side-menu.js.map +1 -1
  334. package/dist/components/bq-slider.js +1 -443
  335. package/dist/components/bq-slider.js.map +1 -1
  336. package/dist/components/bq-spinner.js +1 -248
  337. package/dist/components/bq-spinner.js.map +1 -1
  338. package/dist/components/bq-status.js +1 -119
  339. package/dist/components/bq-status.js.map +1 -1
  340. package/dist/components/bq-step-item.js +1 -236
  341. package/dist/components/bq-step-item.js.map +1 -1
  342. package/dist/components/bq-steps.js +1 -175
  343. package/dist/components/bq-steps.js.map +1 -1
  344. package/dist/components/bq-switch.js +1 -330
  345. package/dist/components/bq-switch.js.map +1 -1
  346. package/dist/components/bq-tab-group.js +1 -273
  347. package/dist/components/bq-tab-group.js.map +1 -1
  348. package/dist/components/bq-tab.js +1 -248
  349. package/dist/components/bq-tab.js.map +1 -1
  350. package/dist/components/bq-tag.js +1 -8
  351. package/dist/components/bq-textarea.js +1 -393
  352. package/dist/components/bq-textarea.js.map +1 -1
  353. package/dist/components/bq-toast.js +1 -281
  354. package/dist/components/bq-toast.js.map +1 -1
  355. package/dist/components/bq-tooltip.js +1 -8
  356. package/dist/components/index.js +1 -149
  357. package/dist/components/index.js.map +1 -1
  358. package/dist/components/p-4z5qnOaY.js +6 -0
  359. package/dist/components/p-4z5qnOaY.js.map +1 -0
  360. package/dist/components/p-8mobOXPw.js +6 -0
  361. package/dist/components/p-8mobOXPw.js.map +1 -0
  362. package/dist/components/p-B4sM1t6Z.js +1 -8
  363. package/dist/components/p-B4sM1t6Z.js.map +1 -1
  364. package/dist/components/p-BHxv_w2i.js +6 -0
  365. package/dist/components/p-BHxv_w2i.js.map +1 -0
  366. package/dist/components/p-BRMw_HGf.js +1 -8
  367. package/dist/components/p-BRMw_HGf.js.map +1 -1
  368. package/dist/components/p-BRbYDZoo.js +1 -10
  369. package/dist/components/p-BRbYDZoo.js.map +1 -1
  370. package/dist/components/p-BcPwGxIn.js +1 -9
  371. package/dist/components/p-BcPwGxIn.js.map +1 -1
  372. package/dist/components/{p-C8_OKNHL.js → p-Br5pwRAS.js} +2 -221
  373. package/dist/components/p-Br5pwRAS.js.map +1 -0
  374. package/dist/components/p-BsSDkLU5.js +1 -26
  375. package/dist/components/p-BsSDkLU5.js.map +1 -1
  376. package/dist/components/p-C4FuG35Q.js +6 -0
  377. package/dist/components/p-C4FuG35Q.js.map +1 -0
  378. package/dist/components/p-CVw85-WU.js +1 -64
  379. package/dist/components/p-CVw85-WU.js.map +1 -1
  380. package/dist/components/p-CmKvDWiL.js +1 -1782
  381. package/dist/components/p-CmKvDWiL.js.map +1 -1
  382. package/dist/components/p-D1A0LpG_.js +1 -10
  383. package/dist/components/p-D1A0LpG_.js.map +1 -1
  384. package/dist/components/p-D97CZ-cz.js +6 -0
  385. package/dist/components/p-D97CZ-cz.js.map +1 -0
  386. package/dist/components/p-DDVIIUm1.js +6 -0
  387. package/dist/components/p-DDVIIUm1.js.map +1 -0
  388. package/dist/components/p-DSdUt2Ay.js +6 -0
  389. package/dist/components/p-DSdUt2Ay.js.map +1 -0
  390. package/dist/components/p-DdvbF5yL.js +1 -119
  391. package/dist/components/p-DdvbF5yL.js.map +1 -1
  392. package/dist/components/p-Dla7kvqV.js +6 -0
  393. package/dist/components/p-Dla7kvqV.js.map +1 -0
  394. package/dist/components/p-DnkZCdMA.js +1 -8
  395. package/dist/components/p-DnkZCdMA.js.map +1 -1
  396. package/dist/components/{p-YyF6_fWE.js → p-DoX6g7vo.js} +2 -381
  397. package/dist/components/p-DoX6g7vo.js.map +1 -0
  398. package/dist/components/p-Dx-CEPSQ.js +1 -13
  399. package/dist/components/p-Dx-CEPSQ.js.map +1 -1
  400. package/dist/components/p-_RvVpeh2.js +1 -29
  401. package/dist/components/p-_RvVpeh2.js.map +1 -1
  402. package/dist/components/p-lysmVw2n.js +1 -12
  403. package/dist/components/p-lysmVw2n.js.map +1 -1
  404. package/dist/components/p-uqkxeAeG.js +1 -88
  405. package/dist/components/p-uqkxeAeG.js.map +1 -1
  406. package/dist/components/p-zh4P02Kn.js +1 -21
  407. package/dist/components/p-zh4P02Kn.js.map +1 -1
  408. package/dist/custom-elements.json +5184 -5184
  409. package/dist/esm/beeq.js +2 -3
  410. package/dist/esm/beeq.js.map +1 -1
  411. package/dist/esm/bq-accordion-group.entry.js +2 -3
  412. package/dist/esm/bq-accordion-group.entry.js.map +1 -1
  413. package/dist/esm/bq-accordion.entry.js +14 -15
  414. package/dist/esm/bq-accordion.entry.js.map +1 -1
  415. package/dist/esm/bq-alert.entry.js +14 -15
  416. package/dist/esm/bq-alert.entry.js.map +1 -1
  417. package/dist/esm/bq-avatar.entry.js +13 -14
  418. package/dist/esm/bq-avatar.entry.js.map +1 -1
  419. package/dist/esm/bq-badge.entry.js +9 -10
  420. package/dist/esm/bq-badge.entry.js.map +1 -1
  421. package/dist/esm/bq-breadcrumb-item.entry.js +2 -3
  422. package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
  423. package/dist/esm/bq-breadcrumb.entry.js +7 -8
  424. package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
  425. package/dist/esm/bq-button_2.entry.js +19 -20
  426. package/dist/esm/bq-button_2.entry.js.map +1 -1
  427. package/dist/esm/bq-card.entry.js +7 -8
  428. package/dist/esm/bq-card.entry.js.map +1 -1
  429. package/dist/esm/bq-checkbox.entry.js +5 -6
  430. package/dist/esm/bq-checkbox.entry.js.map +1 -1
  431. package/dist/esm/bq-date-picker.entry.js +20 -21
  432. package/dist/esm/bq-date-picker.entry.js.map +1 -1
  433. package/dist/esm/bq-dialog.entry.js +15 -16
  434. package/dist/esm/bq-dialog.entry.js.map +1 -1
  435. package/dist/esm/bq-divider.entry.js +15 -16
  436. package/dist/esm/bq-divider.entry.js.map +1 -1
  437. package/dist/esm/bq-drawer.entry.js +19 -20
  438. package/dist/esm/bq-drawer.entry.js.map +1 -1
  439. package/dist/esm/bq-dropdown_2.entry.js +5 -6
  440. package/dist/esm/bq-dropdown_2.entry.js.map +1 -1
  441. package/dist/esm/bq-empty-state.entry.js +26 -27
  442. package/dist/esm/bq-empty-state.entry.js.map +1 -1
  443. package/dist/esm/bq-input.entry.js +22 -23
  444. package/dist/esm/bq-input.entry.js.map +1 -1
  445. package/dist/esm/bq-notification.entry.js +12 -13
  446. package/dist/esm/bq-notification.entry.js.map +1 -1
  447. package/dist/esm/bq-option-group.entry.js +2 -3
  448. package/dist/esm/bq-option-group.entry.js.map +1 -1
  449. package/dist/esm/bq-option-list_2.entry.js +11 -12
  450. package/dist/esm/bq-option-list_2.entry.js.map +1 -1
  451. package/dist/esm/bq-option.entry.js +15 -16
  452. package/dist/esm/bq-option.entry.js.map +1 -1
  453. package/dist/esm/bq-page-title.entry.js +11 -12
  454. package/dist/esm/bq-page-title.entry.js.map +1 -1
  455. package/dist/esm/bq-progress.entry.js +13 -14
  456. package/dist/esm/bq-progress.entry.js.map +1 -1
  457. package/dist/esm/bq-radio-group.entry.js +2 -3
  458. package/dist/esm/bq-radio-group.entry.js.map +1 -1
  459. package/dist/esm/bq-radio.entry.js +9 -10
  460. package/dist/esm/bq-radio.entry.js.map +1 -1
  461. package/dist/esm/bq-select.entry.js +28 -29
  462. package/dist/esm/bq-select.entry.js.map +1 -1
  463. package/dist/esm/bq-side-menu-item.entry.js +6 -7
  464. package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
  465. package/dist/esm/bq-side-menu.entry.js +4 -5
  466. package/dist/esm/bq-side-menu.entry.js.map +1 -1
  467. package/dist/esm/bq-slider.entry.js +23 -24
  468. package/dist/esm/bq-slider.entry.js.map +1 -1
  469. package/dist/esm/bq-spinner.entry.js +10 -11
  470. package/dist/esm/bq-spinner.entry.js.map +1 -1
  471. package/dist/esm/bq-status.entry.js +2 -3
  472. package/dist/esm/bq-status.entry.js.map +1 -1
  473. package/dist/esm/bq-step-item.entry.js +17 -18
  474. package/dist/esm/bq-step-item.entry.js.map +1 -1
  475. package/dist/esm/bq-steps.entry.js +3 -4
  476. package/dist/esm/bq-steps.entry.js.map +1 -1
  477. package/dist/esm/bq-switch.entry.js +10 -11
  478. package/dist/esm/bq-switch.entry.js.map +1 -1
  479. package/dist/esm/bq-tab-group.entry.js +8 -9
  480. package/dist/esm/bq-tab-group.entry.js.map +1 -1
  481. package/dist/esm/bq-tab.entry.js +5 -6
  482. package/dist/esm/bq-tab.entry.js.map +1 -1
  483. package/dist/esm/bq-textarea.entry.js +16 -17
  484. package/dist/esm/bq-textarea.entry.js.map +1 -1
  485. package/dist/esm/bq-toast.entry.js +2 -3
  486. package/dist/esm/bq-toast.entry.js.map +1 -1
  487. package/dist/esm/bq-tooltip.entry.js +9 -10
  488. package/dist/esm/bq-tooltip.entry.js.map +1 -1
  489. package/dist/esm/{index-D0hQxkOP.js → index-XbB3xSTR.js} +67 -23
  490. package/dist/esm/index-XbB3xSTR.js.map +1 -0
  491. package/dist/esm/loader.js +2 -3
  492. package/dist/esm/loader.js.map +1 -1
  493. package/dist/hydrate/index.js +413 -417
  494. package/dist/hydrate/index.mjs +413 -417
  495. package/dist/stencil.config.js +1 -1
  496. package/dist/stencil.config.js.map +1 -1
  497. package/dist/types/components/accordion/bq-accordion.d.ts +1 -1
  498. package/dist/types/components/accordion-group/bq-accordion-group.d.ts +1 -1
  499. package/dist/types/components/alert/bq-alert.d.ts +1 -1
  500. package/dist/types/components/avatar/bq-avatar.d.ts +1 -1
  501. package/dist/types/components/badge/bq-badge.d.ts +1 -1
  502. package/dist/types/components/breadcrumb/bq-breadcrumb.d.ts +1 -1
  503. package/dist/types/components/breadcrumb-item/bq-breadcrumb-item.d.ts +1 -1
  504. package/dist/types/components/button/bq-button.d.ts +1 -1
  505. package/dist/types/components/card/bq-card.d.ts +1 -1
  506. package/dist/types/components/checkbox/bq-checkbox.d.ts +1 -1
  507. package/dist/types/components/date-picker/bq-date-picker.d.ts +1 -1
  508. package/dist/types/components/dialog/bq-dialog.d.ts +1 -1
  509. package/dist/types/components/divider/bq-divider.d.ts +1 -1
  510. package/dist/types/components/drawer/bq-drawer.d.ts +1 -1
  511. package/dist/types/components/dropdown/bq-dropdown.d.ts +1 -1
  512. package/dist/types/components/empty-state/bq-empty-state.d.ts +1 -1
  513. package/dist/types/components/icon/bq-icon.d.ts +1 -1
  514. package/dist/types/components/input/bq-input.d.ts +1 -1
  515. package/dist/types/components/notification/bq-notification.d.ts +1 -1
  516. package/dist/types/components/option/bq-option.d.ts +1 -1
  517. package/dist/types/components/option-group/bq-option-group.d.ts +1 -1
  518. package/dist/types/components/option-list/bq-option-list.d.ts +1 -1
  519. package/dist/types/components/page-title/bq-page-title.d.ts +1 -1
  520. package/dist/types/components/panel/bq-panel.d.ts +1 -1
  521. package/dist/types/components/progress/bq-progress.d.ts +1 -1
  522. package/dist/types/components/radio/bq-radio.d.ts +1 -1
  523. package/dist/types/components/radio-group/bq-radio-group.d.ts +1 -1
  524. package/dist/types/components/select/bq-select.d.ts +1 -1
  525. package/dist/types/components/side-menu/bq-side-menu.d.ts +1 -1
  526. package/dist/types/components/side-menu-item/bq-side-menu-item.d.ts +1 -1
  527. package/dist/types/components/slider/bq-slider.d.ts +1 -1
  528. package/dist/types/components/spinner/bq-spinner.d.ts +1 -1
  529. package/dist/types/components/status/bq-status.d.ts +1 -1
  530. package/dist/types/components/step-item/bq-step-item.d.ts +1 -1
  531. package/dist/types/components/steps/bq-steps.d.ts +1 -1
  532. package/dist/types/components/switch/bq-switch.d.ts +1 -1
  533. package/dist/types/components/tab/bq-tab.d.ts +1 -1
  534. package/dist/types/components/tab-group/bq-tab-group.d.ts +1 -1
  535. package/dist/types/components/tag/bq-tag.d.ts +1 -1
  536. package/dist/types/components/textarea/bq-textarea.d.ts +1 -1
  537. package/dist/types/components/toast/bq-toast.d.ts +1 -1
  538. package/dist/types/components/tooltip/bq-tooltip.d.ts +1 -1
  539. package/package.json +1 -1
  540. package/dist/beeq/p-1011ae42.entry.js.map +0 -1
  541. package/dist/beeq/p-110c262d.entry.js +0 -173
  542. package/dist/beeq/p-110c262d.entry.js.map +0 -1
  543. package/dist/beeq/p-11671252.entry.js.map +0 -1
  544. package/dist/beeq/p-11fcb99b.entry.js +0 -281
  545. package/dist/beeq/p-11fcb99b.entry.js.map +0 -1
  546. package/dist/beeq/p-1aba3eec.entry.js.map +0 -1
  547. package/dist/beeq/p-20162842.entry.js +0 -151
  548. package/dist/beeq/p-20162842.entry.js.map +0 -1
  549. package/dist/beeq/p-3a4c4de9.entry.js +0 -188
  550. package/dist/beeq/p-3a4c4de9.entry.js.map +0 -1
  551. package/dist/beeq/p-426fd908.entry.js.map +0 -1
  552. package/dist/beeq/p-47571092.entry.js +0 -289
  553. package/dist/beeq/p-47571092.entry.js.map +0 -1
  554. package/dist/beeq/p-49e90223.entry.js +0 -86
  555. package/dist/beeq/p-49e90223.entry.js.map +0 -1
  556. package/dist/beeq/p-4b00a155.entry.js +0 -747
  557. package/dist/beeq/p-4b00a155.entry.js.map +0 -1
  558. package/dist/beeq/p-54ddd09f.entry.js +0 -392
  559. package/dist/beeq/p-54ddd09f.entry.js.map +0 -1
  560. package/dist/beeq/p-6b68123f.entry.js.map +0 -1
  561. package/dist/beeq/p-6d708caf.entry.js +0 -339
  562. package/dist/beeq/p-6d708caf.entry.js.map +0 -1
  563. package/dist/beeq/p-70607940.entry.js +0 -174
  564. package/dist/beeq/p-70607940.entry.js.map +0 -1
  565. package/dist/beeq/p-72c376a9.entry.js +0 -165
  566. package/dist/beeq/p-72c376a9.entry.js.map +0 -1
  567. package/dist/beeq/p-78bbd845.entry.js +0 -109
  568. package/dist/beeq/p-78bbd845.entry.js.map +0 -1
  569. package/dist/beeq/p-8012f01d.entry.js +0 -556
  570. package/dist/beeq/p-8012f01d.entry.js.map +0 -1
  571. package/dist/beeq/p-8b5934a3.entry.js.map +0 -1
  572. package/dist/beeq/p-94c2081a.entry.js +0 -681
  573. package/dist/beeq/p-94c2081a.entry.js.map +0 -1
  574. package/dist/beeq/p-95979cb0.entry.js +0 -289
  575. package/dist/beeq/p-95979cb0.entry.js.map +0 -1
  576. package/dist/beeq/p-978b2249.entry.js +0 -196
  577. package/dist/beeq/p-978b2249.entry.js.map +0 -1
  578. package/dist/beeq/p-9a78587d.entry.js.map +0 -1
  579. package/dist/beeq/p-BtYhUEAn.js +0 -9
  580. package/dist/beeq/p-BtYhUEAn.js.map +0 -1
  581. package/dist/beeq/p-C33fRBEf.js +0 -156
  582. package/dist/beeq/p-C33fRBEf.js.map +0 -1
  583. package/dist/beeq/p-D0hQxkOP.js +0 -2816
  584. package/dist/beeq/p-D0hQxkOP.js.map +0 -1
  585. package/dist/beeq/p-ac7cd72b.entry.js +0 -322
  586. package/dist/beeq/p-ac7cd72b.entry.js.map +0 -1
  587. package/dist/beeq/p-ae85a23a.entry.js +0 -408
  588. package/dist/beeq/p-ae85a23a.entry.js.map +0 -1
  589. package/dist/beeq/p-b0f9a0cb.entry.js +0 -296
  590. package/dist/beeq/p-b0f9a0cb.entry.js.map +0 -1
  591. package/dist/beeq/p-b194e120.entry.js +0 -293
  592. package/dist/beeq/p-b194e120.entry.js.map +0 -1
  593. package/dist/beeq/p-b2858324.entry.js +0 -210
  594. package/dist/beeq/p-b2858324.entry.js.map +0 -1
  595. package/dist/beeq/p-c34fc2c7.entry.js +0 -351
  596. package/dist/beeq/p-c34fc2c7.entry.js.map +0 -1
  597. package/dist/beeq/p-c630a8b8.entry.js +0 -442
  598. package/dist/beeq/p-c630a8b8.entry.js.map +0 -1
  599. package/dist/beeq/p-cb9b1edc.entry.js +0 -232
  600. package/dist/beeq/p-cb9b1edc.entry.js.map +0 -1
  601. package/dist/beeq/p-cc6b349e.entry.js +0 -172
  602. package/dist/beeq/p-cc6b349e.entry.js.map +0 -1
  603. package/dist/beeq/p-d0edfaa5.entry.js +0 -388
  604. package/dist/beeq/p-d0edfaa5.entry.js.map +0 -1
  605. package/dist/beeq/p-db09cc1e.entry.js.map +0 -1
  606. package/dist/beeq/p-f6d82c39.entry.js +0 -206
  607. package/dist/beeq/p-f6d82c39.entry.js.map +0 -1
  608. package/dist/beeq/p-f83010e9.entry.js +0 -118
  609. package/dist/beeq/p-f83010e9.entry.js.map +0 -1
  610. package/dist/beeq/p-f97c679f.entry.js +0 -233
  611. package/dist/beeq/p-f97c679f.entry.js.map +0 -1
  612. package/dist/beeq/p-ff327b98.entry.js.map +0 -1
  613. package/dist/beeq/p-ff73f344.entry.js +0 -396
  614. package/dist/beeq/p-ff73f344.entry.js.map +0 -1
  615. package/dist/cjs/app-globals-BY_z0SzA.js +0 -12
  616. package/dist/cjs/app-globals-BY_z0SzA.js.map +0 -1
  617. package/dist/cjs/index-BwvwUnfB.js.map +0 -1
  618. package/dist/cjs/index-C09ZVaB4.js +0 -154
  619. package/dist/cjs/index-C09ZVaB4.js.map +0 -1
  620. package/dist/components/p-C8_OKNHL.js.map +0 -1
  621. package/dist/components/p-C97BzPa8.js +0 -177
  622. package/dist/components/p-C97BzPa8.js.map +0 -1
  623. package/dist/components/p-CMejKLsB.js +0 -248
  624. package/dist/components/p-CMejKLsB.js.map +0 -1
  625. package/dist/components/p-DBPU_cIr.js +0 -338
  626. package/dist/components/p-DBPU_cIr.js.map +0 -1
  627. package/dist/components/p-DDCN9O42.js +0 -2669
  628. package/dist/components/p-DDCN9O42.js.map +0 -1
  629. package/dist/components/p-DHhUeR-_.js +0 -377
  630. package/dist/components/p-DHhUeR-_.js.map +0 -1
  631. package/dist/components/p-DSqLegVR.js +0 -100
  632. package/dist/components/p-DSqLegVR.js.map +0 -1
  633. package/dist/components/p-YyF6_fWE.js.map +0 -1
  634. package/dist/components/p-qOL6hl5s.js +0 -298
  635. package/dist/components/p-qOL6hl5s.js.map +0 -1
  636. package/dist/esm/app-globals-BtYhUEAn.js +0 -10
  637. package/dist/esm/app-globals-BtYhUEAn.js.map +0 -1
  638. package/dist/esm/index-C33fRBEf.js +0 -151
  639. package/dist/esm/index-C33fRBEf.js.map +0 -1
  640. package/dist/esm/index-D0hQxkOP.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"bq-tab-group.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/tab-group/bq-tab-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { EventEmitter } from '@stencil/core';\nimport { Component, Element, Event, Host, Listen, Prop, Watch } from '@stencil/core';\n\nimport { debounce, getNextElement, isHTMLElement, isNil, type TDebounce, validatePropValue } from '../../shared/utils';\nimport type { TTabOrientation, TTabPlacement, TTabSize } from '../tab/bq-tab.types';\nimport { TAB_ORIENTATION, TAB_PLACEMENT, TAB_SIZE } from '../tab/bq-tab.types';\n\n/**\n * The tab group is a user interface element that allows users wrap a set of tab items.\n *\n * @example How to use it\n * ```html\n * <bq-tab-group value=\"5\">\n * <bq-tab tab-id=\"1\">Tab</bq-tab>\n * <bq-tab tab-id=\"2\" active>Tab</bq-tab>\n * <bq-tab tab-id=\"3\">Long Tab name</bq-tab>\n * <bq-tab tab-id=\"4\" disabled>Tab</bq-tab>\n * </bq-tab-group>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/775321-tabs\n * @status stable\n *\n * @attr {number} debounce-time - A number representing the delay value applied to bqChange event handler\n * @attr {boolean} disable-divider - If true, the underline divider below the tabs won't be shown\n * @attr {string} orientation - The direction that tab should be render\n * @attr {string} placement - The placement that tab should be render\n * @attr {string} size - The size of the tab\n * @attr {string} value - A string representing the id of the selected tab.\n *\n * @event bqChange - Handler to be called when the tab value changes\n *\n * @slot - The bq-tab items\n *\n * @part base - The HTML div wrapper inside the shadow DOM.\n * @part tabs - The HTML div used to hold the tab buttons.\n */\n@Component({\n tag: 'bq-tab-group',\n styleUrl: './scss/bq-tab-group.scss',\n shadow: true,\n})\nexport class BqTabGroup {\n // Own Properties\n // ====================\n\n private debouncedBqChange: TDebounce<{ value: string; target: HTMLBqTabElement }>;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqTabGroupElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** A number representing the delay value applied to bqChange event handler */\n @Prop({ reflect: true, mutable: true }) debounceTime = 0;\n\n /** If true, the underline divider below the tabs won't be shown */\n @Prop({ reflect: true }) disableDivider = false;\n\n /** The direction that tab should be render */\n @Prop({ reflect: true }) orientation?: TTabOrientation = 'horizontal';\n\n /** The placement that tab should be render */\n @Prop({ reflect: true }) placement?: TTabPlacement = 'start';\n\n /** The size of the tab */\n @Prop({ reflect: true }) size: TTabSize = 'medium';\n\n /** A string representing the id of the selected tab. */\n @Prop({ reflect: true, mutable: true }) value: string;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('debounceTime')\n checkDebounceChange() {\n if (this.debounceTime < 0) {\n this.debounceTime = Math.max(0, this.debounceTime);\n }\n\n if (this.debouncedBqChange) {\n this.debouncedBqChange.cancel();\n }\n\n this.debouncedBqChange = debounce((event: Parameters<typeof this.debouncedBqChange>[0]) => {\n this.bqChange.emit(event);\n }, this.debounceTime);\n }\n\n @Watch('size')\n @Watch('value')\n @Watch('orientation')\n @Watch('placement')\n checkPropValues() {\n validatePropValue(TAB_SIZE, 'medium', this.el, 'size');\n validatePropValue(TAB_ORIENTATION, 'horizontal', this.el, 'orientation');\n validatePropValue(TAB_PLACEMENT, 'start', this.el, 'placement');\n\n this.bqTabElements.forEach((bqTabElement) => {\n bqTabElement.size = this.size;\n bqTabElement.orientation = this.orientation;\n bqTabElement.placement = this.placement;\n bqTabElement.active = !isNil(this.value) ? bqTabElement.tabId === this.value : false;\n });\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the tab value changes */\n @Event() bqChange: EventEmitter<{ target: HTMLBqTabElement; value: string }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkDebounceChange();\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.checkPropValues();\n }\n\n // Listeners\n // ==============\n\n @Listen('keyup', { target: 'body', passive: true, capture: true })\n onKeyUp(event: KeyboardEvent) {\n const { target } = event;\n if (!isHTMLElement(target, 'bq-tab')) return;\n\n this.makeTabsFocusable();\n }\n\n @Listen('bqClick', { passive: true })\n onBqClick(event: CustomEvent<HTMLBqTabElement>) {\n const { detail: target } = event;\n this.bqTabElements.forEach((bqTabElement) => {\n bqTabElement.active = bqTabElement === target;\n });\n this.debouncedBqChange({ value: target.tabId, target });\n this.selectTab(target);\n }\n\n @Listen('bqKeyDown', { passive: true })\n async onBqKeyDown(event: CustomEvent<KeyboardEvent>) {\n const { target } = event;\n\n // NOTE: ensures the target is an HTML element with the tag name 'bq-tab'\n if (!isHTMLElement(target, 'bq-tab')) return;\n\n const keyActions: { [key: string]: 'forward' | 'backward' } = {\n ArrowDown: 'forward',\n ArrowRight: 'forward',\n ArrowUp: 'backward',\n ArrowLeft: 'backward',\n };\n\n // NOTE: gets the direction based on key pressed\n const direction = keyActions[event.detail.key];\n\n if (!direction) return;\n\n await this.focusTabSibling(target, direction);\n }\n\n @Listen('bqBlur', { capture: true, passive: true })\n onBqBlur() {\n this.restoreTabsFocus();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private focusTabSibling = async (\n currentTarget: HTMLBqTabElement,\n direction: 'forward' | 'backward',\n ): Promise<void> => {\n let target: HTMLBqTabElement | null = null;\n\n this.bqTabElements.forEach((bqTabElement, index, elements) => {\n bqTabElement.active = false;\n\n if (bqTabElement === currentTarget) {\n target = getNextElement(elements, index, direction);\n }\n });\n\n if (target) {\n await target.vFocus();\n this.selectTab(target);\n }\n };\n\n private makeTabsFocusable = (): void => {\n this.bqTabElements.forEach((bqTabElement) => {\n if (bqTabElement.disabled) return;\n\n /**\n * This is a \"fire and forget\" operation. The callback itself doesn't do anything special\n * with the asynchronous code (doesn't await it or do anything with the result)\n * Details: https://stackoverflow.com/a/63488201\n */\n (async () => {\n await bqTabElement.enableFocus(true);\n })();\n });\n };\n\n private restoreTabsFocus = (): void => {\n this.bqTabElements.forEach((bqTabElement) => {\n if (bqTabElement.disabled || bqTabElement.active) return;\n\n /** @See line #173 */\n (async () => {\n await bqTabElement.enableFocus(false);\n })();\n });\n };\n\n private get bqTabElements(): HTMLBqTabElement[] {\n return Array.from(this.el.querySelectorAll('bq-tab'));\n }\n\n private selectTab = (target: HTMLBqTabElement): void => {\n const { tabId } = target;\n target.active = true;\n this.value = tabId;\n this.debouncedBqChange({ value: tabId, target });\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host class={{ 'inline-block': this.orientation === 'vertical' }}>\n <div\n class={{\n [`bq-tab-group bq-tab-group--${this.orientation}-${this.placement} is-full flex`]: true,\n 'no-divider': this.disableDivider,\n }}\n part=\"base\"\n >\n <div\n class={{\n 'bq-tab-group--container flex overflow-x-auto': true,\n 'flex-col': this.orientation !== 'horizontal',\n }}\n part=\"tabs\"\n role=\"tablist\"\n >\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"bq-tab-group.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/tab-group/bq-tab-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { EventEmitter } from '@stencil/core';\nimport { Component, Element, Event, Host, h, Listen, Prop, Watch } from '@stencil/core';\n\nimport { debounce, getNextElement, isHTMLElement, isNil, type TDebounce, validatePropValue } from '../../shared/utils';\nimport type { TTabOrientation, TTabPlacement, TTabSize } from '../tab/bq-tab.types';\nimport { TAB_ORIENTATION, TAB_PLACEMENT, TAB_SIZE } from '../tab/bq-tab.types';\n\n/**\n * The tab group is a user interface element that allows users wrap a set of tab items.\n *\n * @example How to use it\n * ```html\n * <bq-tab-group value=\"5\">\n * <bq-tab tab-id=\"1\">Tab</bq-tab>\n * <bq-tab tab-id=\"2\" active>Tab</bq-tab>\n * <bq-tab tab-id=\"3\">Long Tab name</bq-tab>\n * <bq-tab tab-id=\"4\" disabled>Tab</bq-tab>\n * </bq-tab-group>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/775321-tabs\n * @status stable\n *\n * @attr {number} debounce-time - A number representing the delay value applied to bqChange event handler\n * @attr {boolean} disable-divider - If true, the underline divider below the tabs won't be shown\n * @attr {string} orientation - The direction that tab should be render\n * @attr {string} placement - The placement that tab should be render\n * @attr {string} size - The size of the tab\n * @attr {string} value - A string representing the id of the selected tab.\n *\n * @event bqChange - Handler to be called when the tab value changes\n *\n * @slot - The bq-tab items\n *\n * @part base - The HTML div wrapper inside the shadow DOM.\n * @part tabs - The HTML div used to hold the tab buttons.\n */\n@Component({\n tag: 'bq-tab-group',\n styleUrl: './scss/bq-tab-group.scss',\n shadow: true,\n})\nexport class BqTabGroup {\n // Own Properties\n // ====================\n\n private debouncedBqChange: TDebounce<{ value: string; target: HTMLBqTabElement }>;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqTabGroupElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n // Public Property API\n // ========================\n\n /** A number representing the delay value applied to bqChange event handler */\n @Prop({ reflect: true, mutable: true }) debounceTime = 0;\n\n /** If true, the underline divider below the tabs won't be shown */\n @Prop({ reflect: true }) disableDivider = false;\n\n /** The direction that tab should be render */\n @Prop({ reflect: true }) orientation?: TTabOrientation = 'horizontal';\n\n /** The placement that tab should be render */\n @Prop({ reflect: true }) placement?: TTabPlacement = 'start';\n\n /** The size of the tab */\n @Prop({ reflect: true }) size: TTabSize = 'medium';\n\n /** A string representing the id of the selected tab. */\n @Prop({ reflect: true, mutable: true }) value: string;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('debounceTime')\n checkDebounceChange() {\n if (this.debounceTime < 0) {\n this.debounceTime = Math.max(0, this.debounceTime);\n }\n\n if (this.debouncedBqChange) {\n this.debouncedBqChange.cancel();\n }\n\n this.debouncedBqChange = debounce((event: Parameters<typeof this.debouncedBqChange>[0]) => {\n this.bqChange.emit(event);\n }, this.debounceTime);\n }\n\n @Watch('size')\n @Watch('value')\n @Watch('orientation')\n @Watch('placement')\n checkPropValues() {\n validatePropValue(TAB_SIZE, 'medium', this.el, 'size');\n validatePropValue(TAB_ORIENTATION, 'horizontal', this.el, 'orientation');\n validatePropValue(TAB_PLACEMENT, 'start', this.el, 'placement');\n\n this.bqTabElements.forEach((bqTabElement) => {\n bqTabElement.size = this.size;\n bqTabElement.orientation = this.orientation;\n bqTabElement.placement = this.placement;\n bqTabElement.active = !isNil(this.value) ? bqTabElement.tabId === this.value : false;\n });\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the tab value changes */\n @Event() bqChange: EventEmitter<{ target: HTMLBqTabElement; value: string }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkDebounceChange();\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.checkPropValues();\n }\n\n // Listeners\n // ==============\n\n @Listen('keyup', { target: 'body', passive: true, capture: true })\n onKeyUp(event: KeyboardEvent) {\n const { target } = event;\n if (!isHTMLElement(target, 'bq-tab')) return;\n\n this.makeTabsFocusable();\n }\n\n @Listen('bqClick', { passive: true })\n onBqClick(event: CustomEvent<HTMLBqTabElement>) {\n const { detail: target } = event;\n this.bqTabElements.forEach((bqTabElement) => {\n bqTabElement.active = bqTabElement === target;\n });\n this.debouncedBqChange({ value: target.tabId, target });\n this.selectTab(target);\n }\n\n @Listen('bqKeyDown', { passive: true })\n async onBqKeyDown(event: CustomEvent<KeyboardEvent>) {\n const { target } = event;\n\n // NOTE: ensures the target is an HTML element with the tag name 'bq-tab'\n if (!isHTMLElement(target, 'bq-tab')) return;\n\n const keyActions: { [key: string]: 'forward' | 'backward' } = {\n ArrowDown: 'forward',\n ArrowRight: 'forward',\n ArrowUp: 'backward',\n ArrowLeft: 'backward',\n };\n\n // NOTE: gets the direction based on key pressed\n const direction = keyActions[event.detail.key];\n\n if (!direction) return;\n\n await this.focusTabSibling(target, direction);\n }\n\n @Listen('bqBlur', { capture: true, passive: true })\n onBqBlur() {\n this.restoreTabsFocus();\n }\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private focusTabSibling = async (\n currentTarget: HTMLBqTabElement,\n direction: 'forward' | 'backward',\n ): Promise<void> => {\n let target: HTMLBqTabElement | null = null;\n\n this.bqTabElements.forEach((bqTabElement, index, elements) => {\n bqTabElement.active = false;\n\n if (bqTabElement === currentTarget) {\n target = getNextElement(elements, index, direction);\n }\n });\n\n if (target) {\n await target.vFocus();\n this.selectTab(target);\n }\n };\n\n private makeTabsFocusable = (): void => {\n this.bqTabElements.forEach((bqTabElement) => {\n if (bqTabElement.disabled) return;\n\n /**\n * This is a \"fire and forget\" operation. The callback itself doesn't do anything special\n * with the asynchronous code (doesn't await it or do anything with the result)\n * Details: https://stackoverflow.com/a/63488201\n */\n (async () => {\n await bqTabElement.enableFocus(true);\n })();\n });\n };\n\n private restoreTabsFocus = (): void => {\n this.bqTabElements.forEach((bqTabElement) => {\n if (bqTabElement.disabled || bqTabElement.active) return;\n\n /** @See line #173 */\n (async () => {\n await bqTabElement.enableFocus(false);\n })();\n });\n };\n\n private get bqTabElements(): HTMLBqTabElement[] {\n return Array.from(this.el.querySelectorAll('bq-tab'));\n }\n\n private selectTab = (target: HTMLBqTabElement): void => {\n const { tabId } = target;\n target.active = true;\n this.value = tabId;\n this.debouncedBqChange({ value: tabId, target });\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host class={{ 'inline-block': this.orientation === 'vertical' }}>\n <div\n class={{\n [`bq-tab-group bq-tab-group--${this.orientation}-${this.placement} is-full flex`]: true,\n 'no-divider': this.disableDivider,\n }}\n part=\"base\"\n >\n <div\n class={{\n 'bq-tab-group--container flex overflow-x-auto': true,\n 'flex-col': this.orientation !== 'horizontal',\n }}\n part=\"tabs\"\n role=\"tablist\"\n >\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -2,8 +2,7 @@
2
2
  * Built by Endavans
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
- import { jsx as _jsx, jsxs as _jsxs } from "@stencil/core/jsx-runtime";
6
- import { Host } from "@stencil/core";
5
+ import { Host, h } from "@stencil/core";
7
6
  import { getColorCSSVariable, hasSlotContent, validatePropValue } from "../../shared/utils";
8
7
  import { TAG_COLOR, TAG_SIZE, TAG_VARIANT } from "./bq-tag.types";
9
8
  import { iconSize, textColor } from "./helper";
@@ -229,15 +228,15 @@ export class BqTag {
229
228
  // Decide the tag element based on whether it's clickable or not for better semantics and accessibility
230
229
  const TagElement = this.isClickable ? 'button' : 'div';
231
230
  const ariaHidden = this.hidden ? 'true' : 'false';
232
- return (_jsx(Host, { "aria-hidden": ariaHidden, hidden: this.hidden || undefined, style: this.computedHostClasses, children: _jsxs(TagElement, { class: this.computeWrapperClasses, disabled: this.isClickable ? this.disabled : undefined, part: "wrapper", ...this.computeButtonInteractiveProps, children: [_jsx("span", { class: { 'bq-tag__prefix inline-flex': true, '!hidden': !this.hasPrefix }, part: "prefix", ref: (spanElem) => {
233
- this.prefixElem = spanElem;
234
- }, children: _jsx("slot", { name: "prefix", onSlotchange: this.handleSlotChange }, 'e12b4f155953ab749d6034cbe710b6ea4ed43942') }, 'c934665f27f7a2d6b58341314a7f421b7b06d08b'), _jsx("div", { class: {
235
- 'text-xs': this.size === 'xsmall',
236
- 'text-s': this.size === 'small',
237
- 'text-m': this.size === 'medium',
238
- }, part: "text", children: _jsx("slot", {}, '1f274d065e49e301d22ab25680925e0528190d10') }, 'ee30704ff84e6b602647350a503c28831d501f13'), this.isRemovable && !this.disabled && (
239
- // biome-ignore lint/a11y/noStaticElementInteractions: `onClick` will behave better than the custom `bqClick` inside the shadow DOM
240
- _jsx("bq-button", { appearance: "text", border: "s", class: "bq-tag__close [&::part(button)]:border-none [&::part(button)]:p-0", label: "Close", onClick: this.handleClose, onlyIcon: true, part: "btn-close", size: "small", children: _jsx("bq-icon", { "aria-hidden": "true", color: this.color && !this.hasCustomColor ? textColor(this.color)[this.variant] : 'text--primary', name: "x-circle", size: iconSize(this.size) }, 'bdfb1cf1eb45c8f946a53c6a328b66786efdc858') }, '8a31c1d0c8f998f60b368e40849f026c3bd9463c'))] }, 'b6bc39f6b5fdcf1f274137e13669361c33e9e3ff') }, '3b47673f2011103c3057c932bd604ace828ef10a'));
231
+ return (h(Host, { key: '48cce67427cc8b61e7dee105d46894547a5a7975', "aria-hidden": ariaHidden, hidden: this.hidden || undefined, style: this.computedHostClasses }, h(TagElement, { key: '3c8134b4354f497a3c665906c4d91c05e5d67034', class: this.computeWrapperClasses, disabled: this.isClickable ? this.disabled : undefined, part: "wrapper", ...this.computeButtonInteractiveProps }, h("span", { key: 'c9cfdcb208165fb305e6a1c71469942b1284f13a', class: { 'bq-tag__prefix inline-flex': true, '!hidden': !this.hasPrefix }, part: "prefix", ref: (spanElem) => {
232
+ this.prefixElem = spanElem;
233
+ } }, h("slot", { key: '7454aefdd8a19d6d3fd24398c357030b6c2818ff', name: "prefix", onSlotchange: this.handleSlotChange })), h("div", { key: '045d8a76324bf56636f14c3e7f2244dbe0c0e14d', class: {
234
+ 'text-xs': this.size === 'xsmall',
235
+ 'text-s': this.size === 'small',
236
+ 'text-m': this.size === 'medium',
237
+ }, part: "text" }, h("slot", { key: 'f41039c96ed3f8e9c61b0ae8d392d30decc80a2f' })), this.isRemovable && !this.disabled && (
238
+ // biome-ignore lint/a11y/noStaticElementInteractions: `onClick` will behave better than the custom `bqClick` inside the shadow DOM
239
+ h("bq-button", { key: '9afeeee50e8d84e710ab3e7e48dcf017210d4076', appearance: "text", border: "s", class: "bq-tag__close [&::part(button)]:border-none [&::part(button)]:p-0", label: "Close", onClick: this.handleClose, onlyIcon: true, part: "btn-close", size: "small" }, h("bq-icon", { key: 'e88683b1f2808ae172fb3f88b214a87007996a5e', "aria-hidden": "true", color: this.color && !this.hasCustomColor ? textColor(this.color)[this.variant] : 'text--primary', name: "x-circle", size: iconSize(this.size) }))))));
241
240
  }
242
241
  static get is() { return "bq-tag"; }
243
242
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"bq-tag.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/tag/bq-tag.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { EventEmitter } from '@stencil/core';\nimport { Component, Element, Event, Host, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { getColorCSSVariable, hasSlotContent, validatePropValue } from '../../shared/utils';\nimport type { TTagBorderRadius, TTagColor, TTagSize, TTagVariant } from './bq-tag.types';\nimport { TAG_COLOR, TAG_SIZE, TAG_VARIANT } from './bq-tag.types';\nimport { iconSize, textColor } from './helper';\n\n/**\n * The Tag Component is a UI element used to label and categorize content within an application.\n * Tags are commonly used to label items with keywords or categories, making it easier to find and organize content.\n *\n * @example How to use it\n * ```html\n * <bq-tag color=\"success\" size=\"medium\" variant=\"filled\">Success</bq-tag>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/42f8c9-tag\n * @status stable\n *\n * @dependency bq-button\n * @dependency bq-icon\n *\n * @attr {string} border - The corner radius of the Tag (will override size's predefined border)\n * @attr {boolean} clickable - If `true`, the Tag can be clickable\n * @attr {\"error\" | \"gray\" | \"info\" | \"success\" | \"warning\"} color - The color style of the Tag\n * @attr {boolean} disabled - If `true`, the Tag will be disabled (only if clickable = `true`, no interaction allowed)\n * @attr {boolean} hidden - If `true`, the Tag component will be hidden\n * @attr {boolean} removable - If `true`, the Tag component can be removed\n * @attr {boolean} selected - If `true`, the Tag is selected (only if clickable = `true`)\n * @attr {\"xsmall\" | \"small\" | \"medium\"} size - The size of the Tag component\n * @attr {\"outline\" | \"filled\"} variant - The variant of Tag to apply on top of the variant\n *\n * @method hide - Method to be called to remove the tag component\n * @method show - Method to be called to show the tag component\n *\n * @event bqClose - Callback handler to be called when the tag is close/hidden\n * @event bqOpen - Callback handler to be called when the tag is not open/shown\n * @event bqBlur - Handler to be called when tag loses focus\n * @event bqClick - Handler to be called when tag is clicked\n * @event bqFocus - Handler to be called when tag is focused\n *\n * @slot prefix - The prefix slot to add an icon or any other content before the text\n * @slot - The text content of the tag\n *\n * @part wrapper - The wrapper container `<div>` of the element inside the shadow DOM.\n * @part prefix - The `<span>` tag element that acts as prefix container (when icon exists in front of tag).\n * @part text - The `<div>` element containing the text of the tag component.\n * @part btn-close - The close button element to remove the tag component.\n *\n * @cssprop --bq-tag--background-color - Tag background color\n * @cssprop --bq-tag--border-color - Tag border color\n * @cssprop --bq-tag--border-radius - Tag border radius\n * @cssprop --bq-tag--border-style - Tag border style\n * @cssprop --bq-tag--border-width - Tag border width\n * @cssprop --bq-tag--small-border-radius - Tag small border radius\n * @cssprop --bq-tag--small-gap - Tag small gap between content\n * @cssprop --bq-tag--small-padding-x - Tag small padding horizontal\n * @cssprop --bq-tag--small-padding-y - Tag small padding vertical\n * @cssprop --bq-tag--medium-gap - Tag medium gap between content\n * @cssprop --bq-tag--medium-padding-x - Tag medium padding horizontal\n * @cssprop --bq-tag--medium-padding-y - Tag medium padding vertical\n */\n@Component({\n tag: 'bq-tag',\n styleUrl: './scss/bq-tag.scss',\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqTag {\n // Own Properties\n // ====================\n\n private prefixElem: HTMLElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqTagElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasPrefix = false;\n\n // Public Property API\n // ========================\n\n /** The corner radius of the Tag (will override size's predefined border) */\n @Prop({ reflect: true }) border: TTagBorderRadius;\n\n /** If true, the Tag can be clickable */\n @Prop({ reflect: true }) clickable: boolean = false;\n\n /** The color style of the Tag */\n @Prop({ reflect: true }) color: TTagColor;\n\n /** If true, the Tag will be disabled (only if clickable = `true`, no interaction allowed) */\n @Prop({ reflect: true }) disabled?: boolean = false;\n\n /** If true, the Tag component will be hidden */\n @Prop({ reflect: true, mutable: true }) hidden: boolean;\n\n /** If true, the Tag component can be removed */\n @Prop({ reflect: true }) removable: boolean = false;\n\n /** If true, the Tag is selected (only if clickable = `true`) */\n @Prop({ reflect: true, mutable: true }) selected: boolean = false;\n\n /** The size of the Tag component */\n @Prop({ reflect: true }) size: TTagSize = 'medium';\n\n /** The variant of Tag to apply on top of the variant */\n @Prop({ reflect: true }) variant: TTagVariant = 'filled';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('size')\n @Watch('variant')\n checkPropValues() {\n validatePropValue(TAG_SIZE, 'medium', this.el, 'size');\n validatePropValue(TAG_VARIANT, 'filled', this.el, 'variant');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the tag is close/hidden */\n @Event() bqClose: EventEmitter;\n\n /** Callback handler to be called when the tag is not open/shown */\n @Event() bqOpen: EventEmitter;\n\n /** Handler to be called when tag loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqTagElement>;\n\n /** Handler to be called when tag is clicked */\n @Event() bqClick: EventEmitter<HTMLBqTagElement>;\n\n /** Handler to be called when tag is focused */\n @Event() bqFocus: EventEmitter<HTMLBqTagElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.handleSlotChange();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /** Method to be called to remove the tag component */\n @Method()\n async hide(): Promise<void> {\n this.handleClose();\n }\n\n /** Method to be called to show the tag component */\n @Method()\n async show(): Promise<void> {\n this.handleShow();\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleClose = (event?: MouseEvent) => {\n event?.stopPropagation();\n // Only allow closing/hiding if the tag is removable (have the close button)\n if (!this.isRemovable) return;\n\n const ev = this.bqClose.emit(this.el);\n if (!ev.defaultPrevented) {\n this.hidden = true;\n }\n };\n\n private handleShow = () => {\n // Only allow showing after closing if the tag is removable (have the close button)\n if (!this.isRemovable) return;\n\n const ev = this.bqOpen.emit(this.el);\n if (!ev.defaultPrevented) {\n this.hidden = false;\n }\n };\n\n private handleClick = () => {\n // If the tag is not clickable or the tag is disabled, we don't want to handle the click\n if (!this.isClickable || this.disabled) return;\n\n // Emit a click event on the element\n const ev = this.bqClick.emit(this.el);\n // If the event was not prevented, toggle the clickable state\n if (!ev.defaultPrevented) {\n this.selected = !this.selected;\n }\n };\n\n private handleBlur = () => {\n if (!this.isClickable) return;\n\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n if (!this.isClickable) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem, 'prefix');\n };\n\n private get isClickable(): boolean {\n return this.clickable && !this.color && !this.hasCustomColor && !this.removable;\n }\n\n private get isRemovable(): boolean {\n return this.removable && !this.isClickable;\n }\n\n private get hasCustomColor(): boolean {\n return this.color !== undefined ? !TAG_COLOR.includes(this.color) : false;\n }\n\n private get computedHostClasses() {\n return {\n '--bq-tag--icon-prefix-size': `${iconSize(this.size)}px`,\n ...(this.border && { '--bq-tag--border-radius': `var(--bq-radius--${this.border})` }),\n ...(this.color && { '--bq-tag--background-color': getColorCSSVariable(this.color) ?? this.color }),\n ...(this.hasCustomColor && { '--bq-text--primary': `var(--bq-text--alt)` }),\n };\n }\n\n private get computeWrapperClasses() {\n return {\n [`bq-tag bq-tag__${this.size}`]: true,\n [`bq-tag__${this.color || 'default'} bq-tag__${this.variant}`]: !this.hasCustomColor,\n 'is-clickable': this.isClickable,\n 'is-removable': this.removable,\n active: this.isClickable && this.selected,\n 'has-border': !!this.border,\n };\n }\n\n private get computeButtonInteractiveProps() {\n if (!this.isClickable) return {};\n\n return {\n onClick: this.handleClick,\n onBlur: this.handleBlur,\n onFocus: this.handleFocus,\n tabindex: 0,\n type: 'button',\n };\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n // Decide the tag element based on whether it's clickable or not for better semantics and accessibility\n const TagElement = this.isClickable ? 'button' : 'div';\n const ariaHidden = this.hidden ? 'true' : 'false';\n\n return (\n <Host aria-hidden={ariaHidden} hidden={this.hidden || undefined} style={this.computedHostClasses}>\n <TagElement\n class={this.computeWrapperClasses}\n disabled={this.isClickable ? this.disabled : undefined}\n part=\"wrapper\"\n {...this.computeButtonInteractiveProps}\n >\n <span\n class={{ 'bq-tag__prefix inline-flex': true, '!hidden': !this.hasPrefix }}\n part=\"prefix\"\n ref={(spanElem) => {\n this.prefixElem = spanElem;\n }}\n >\n <slot name=\"prefix\" onSlotchange={this.handleSlotChange} />\n </span>\n <div\n class={{\n 'text-xs': this.size === 'xsmall',\n 'text-s': this.size === 'small',\n 'text-m': this.size === 'medium',\n }}\n part=\"text\"\n >\n <slot />\n </div>\n {this.isRemovable && !this.disabled && (\n // biome-ignore lint/a11y/noStaticElementInteractions: `onClick` will behave better than the custom `bqClick` inside the shadow DOM\n <bq-button\n appearance=\"text\"\n border=\"s\"\n class=\"bq-tag__close [&::part(button)]:border-none [&::part(button)]:p-0\"\n label=\"Close\"\n onClick={this.handleClose}\n onlyIcon\n part=\"btn-close\"\n size=\"small\"\n >\n <bq-icon\n aria-hidden=\"true\"\n color={this.color && !this.hasCustomColor ? textColor(this.color)[this.variant] : 'text--primary'}\n name=\"x-circle\"\n size={iconSize(this.size)}\n />\n </bq-button>\n )}\n </TagElement>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"bq-tag.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/tag/bq-tag.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { EventEmitter } from '@stencil/core';\nimport { Component, Element, Event, Host, h, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { getColorCSSVariable, hasSlotContent, validatePropValue } from '../../shared/utils';\nimport type { TTagBorderRadius, TTagColor, TTagSize, TTagVariant } from './bq-tag.types';\nimport { TAG_COLOR, TAG_SIZE, TAG_VARIANT } from './bq-tag.types';\nimport { iconSize, textColor } from './helper';\n\n/**\n * The Tag Component is a UI element used to label and categorize content within an application.\n * Tags are commonly used to label items with keywords or categories, making it easier to find and organize content.\n *\n * @example How to use it\n * ```html\n * <bq-tag color=\"success\" size=\"medium\" variant=\"filled\">Success</bq-tag>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/42f8c9-tag\n * @status stable\n *\n * @dependency bq-button\n * @dependency bq-icon\n *\n * @attr {string} border - The corner radius of the Tag (will override size's predefined border)\n * @attr {boolean} clickable - If `true`, the Tag can be clickable\n * @attr {\"error\" | \"gray\" | \"info\" | \"success\" | \"warning\"} color - The color style of the Tag\n * @attr {boolean} disabled - If `true`, the Tag will be disabled (only if clickable = `true`, no interaction allowed)\n * @attr {boolean} hidden - If `true`, the Tag component will be hidden\n * @attr {boolean} removable - If `true`, the Tag component can be removed\n * @attr {boolean} selected - If `true`, the Tag is selected (only if clickable = `true`)\n * @attr {\"xsmall\" | \"small\" | \"medium\"} size - The size of the Tag component\n * @attr {\"outline\" | \"filled\"} variant - The variant of Tag to apply on top of the variant\n *\n * @method hide - Method to be called to remove the tag component\n * @method show - Method to be called to show the tag component\n *\n * @event bqClose - Callback handler to be called when the tag is close/hidden\n * @event bqOpen - Callback handler to be called when the tag is not open/shown\n * @event bqBlur - Handler to be called when tag loses focus\n * @event bqClick - Handler to be called when tag is clicked\n * @event bqFocus - Handler to be called when tag is focused\n *\n * @slot prefix - The prefix slot to add an icon or any other content before the text\n * @slot - The text content of the tag\n *\n * @part wrapper - The wrapper container `<div>` of the element inside the shadow DOM.\n * @part prefix - The `<span>` tag element that acts as prefix container (when icon exists in front of tag).\n * @part text - The `<div>` element containing the text of the tag component.\n * @part btn-close - The close button element to remove the tag component.\n *\n * @cssprop --bq-tag--background-color - Tag background color\n * @cssprop --bq-tag--border-color - Tag border color\n * @cssprop --bq-tag--border-radius - Tag border radius\n * @cssprop --bq-tag--border-style - Tag border style\n * @cssprop --bq-tag--border-width - Tag border width\n * @cssprop --bq-tag--small-border-radius - Tag small border radius\n * @cssprop --bq-tag--small-gap - Tag small gap between content\n * @cssprop --bq-tag--small-padding-x - Tag small padding horizontal\n * @cssprop --bq-tag--small-padding-y - Tag small padding vertical\n * @cssprop --bq-tag--medium-gap - Tag medium gap between content\n * @cssprop --bq-tag--medium-padding-x - Tag medium padding horizontal\n * @cssprop --bq-tag--medium-padding-y - Tag medium padding vertical\n */\n@Component({\n tag: 'bq-tag',\n styleUrl: './scss/bq-tag.scss',\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqTag {\n // Own Properties\n // ====================\n\n private prefixElem: HTMLElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqTagElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasPrefix = false;\n\n // Public Property API\n // ========================\n\n /** The corner radius of the Tag (will override size's predefined border) */\n @Prop({ reflect: true }) border: TTagBorderRadius;\n\n /** If true, the Tag can be clickable */\n @Prop({ reflect: true }) clickable: boolean = false;\n\n /** The color style of the Tag */\n @Prop({ reflect: true }) color: TTagColor;\n\n /** If true, the Tag will be disabled (only if clickable = `true`, no interaction allowed) */\n @Prop({ reflect: true }) disabled?: boolean = false;\n\n /** If true, the Tag component will be hidden */\n @Prop({ reflect: true, mutable: true }) hidden: boolean;\n\n /** If true, the Tag component can be removed */\n @Prop({ reflect: true }) removable: boolean = false;\n\n /** If true, the Tag is selected (only if clickable = `true`) */\n @Prop({ reflect: true, mutable: true }) selected: boolean = false;\n\n /** The size of the Tag component */\n @Prop({ reflect: true }) size: TTagSize = 'medium';\n\n /** The variant of Tag to apply on top of the variant */\n @Prop({ reflect: true }) variant: TTagVariant = 'filled';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('size')\n @Watch('variant')\n checkPropValues() {\n validatePropValue(TAG_SIZE, 'medium', this.el, 'size');\n validatePropValue(TAG_VARIANT, 'filled', this.el, 'variant');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the tag is close/hidden */\n @Event() bqClose: EventEmitter;\n\n /** Callback handler to be called when the tag is not open/shown */\n @Event() bqOpen: EventEmitter;\n\n /** Handler to be called when tag loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqTagElement>;\n\n /** Handler to be called when tag is clicked */\n @Event() bqClick: EventEmitter<HTMLBqTagElement>;\n\n /** Handler to be called when tag is focused */\n @Event() bqFocus: EventEmitter<HTMLBqTagElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n componentDidLoad() {\n this.handleSlotChange();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n /** Method to be called to remove the tag component */\n @Method()\n async hide(): Promise<void> {\n this.handleClose();\n }\n\n /** Method to be called to show the tag component */\n @Method()\n async show(): Promise<void> {\n this.handleShow();\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleClose = (event?: MouseEvent) => {\n event?.stopPropagation();\n // Only allow closing/hiding if the tag is removable (have the close button)\n if (!this.isRemovable) return;\n\n const ev = this.bqClose.emit(this.el);\n if (!ev.defaultPrevented) {\n this.hidden = true;\n }\n };\n\n private handleShow = () => {\n // Only allow showing after closing if the tag is removable (have the close button)\n if (!this.isRemovable) return;\n\n const ev = this.bqOpen.emit(this.el);\n if (!ev.defaultPrevented) {\n this.hidden = false;\n }\n };\n\n private handleClick = () => {\n // If the tag is not clickable or the tag is disabled, we don't want to handle the click\n if (!this.isClickable || this.disabled) return;\n\n // Emit a click event on the element\n const ev = this.bqClick.emit(this.el);\n // If the event was not prevented, toggle the clickable state\n if (!ev.defaultPrevented) {\n this.selected = !this.selected;\n }\n };\n\n private handleBlur = () => {\n if (!this.isClickable) return;\n\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n if (!this.isClickable) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem, 'prefix');\n };\n\n private get isClickable(): boolean {\n return this.clickable && !this.color && !this.hasCustomColor && !this.removable;\n }\n\n private get isRemovable(): boolean {\n return this.removable && !this.isClickable;\n }\n\n private get hasCustomColor(): boolean {\n return this.color !== undefined ? !TAG_COLOR.includes(this.color) : false;\n }\n\n private get computedHostClasses() {\n return {\n '--bq-tag--icon-prefix-size': `${iconSize(this.size)}px`,\n ...(this.border && { '--bq-tag--border-radius': `var(--bq-radius--${this.border})` }),\n ...(this.color && { '--bq-tag--background-color': getColorCSSVariable(this.color) ?? this.color }),\n ...(this.hasCustomColor && { '--bq-text--primary': `var(--bq-text--alt)` }),\n };\n }\n\n private get computeWrapperClasses() {\n return {\n [`bq-tag bq-tag__${this.size}`]: true,\n [`bq-tag__${this.color || 'default'} bq-tag__${this.variant}`]: !this.hasCustomColor,\n 'is-clickable': this.isClickable,\n 'is-removable': this.removable,\n active: this.isClickable && this.selected,\n 'has-border': !!this.border,\n };\n }\n\n private get computeButtonInteractiveProps() {\n if (!this.isClickable) return {};\n\n return {\n onClick: this.handleClick,\n onBlur: this.handleBlur,\n onFocus: this.handleFocus,\n tabindex: 0,\n type: 'button',\n };\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n // Decide the tag element based on whether it's clickable or not for better semantics and accessibility\n const TagElement = this.isClickable ? 'button' : 'div';\n const ariaHidden = this.hidden ? 'true' : 'false';\n\n return (\n <Host aria-hidden={ariaHidden} hidden={this.hidden || undefined} style={this.computedHostClasses}>\n <TagElement\n class={this.computeWrapperClasses}\n disabled={this.isClickable ? this.disabled : undefined}\n part=\"wrapper\"\n {...this.computeButtonInteractiveProps}\n >\n <span\n class={{ 'bq-tag__prefix inline-flex': true, '!hidden': !this.hasPrefix }}\n part=\"prefix\"\n ref={(spanElem) => {\n this.prefixElem = spanElem;\n }}\n >\n <slot name=\"prefix\" onSlotchange={this.handleSlotChange} />\n </span>\n <div\n class={{\n 'text-xs': this.size === 'xsmall',\n 'text-s': this.size === 'small',\n 'text-m': this.size === 'medium',\n }}\n part=\"text\"\n >\n <slot />\n </div>\n {this.isRemovable && !this.disabled && (\n // biome-ignore lint/a11y/noStaticElementInteractions: `onClick` will behave better than the custom `bqClick` inside the shadow DOM\n <bq-button\n appearance=\"text\"\n border=\"s\"\n class=\"bq-tag__close [&::part(button)]:border-none [&::part(button)]:p-0\"\n label=\"Close\"\n onClick={this.handleClose}\n onlyIcon\n part=\"btn-close\"\n size=\"small\"\n >\n <bq-icon\n aria-hidden=\"true\"\n color={this.color && !this.hasCustomColor ? textColor(this.color)[this.variant] : 'text--primary'}\n name=\"x-circle\"\n size={iconSize(this.size)}\n />\n </bq-button>\n )}\n </TagElement>\n </Host>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- .transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{text-size-adjust:none;font-family:var(--bq-font-family);font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);line-height:var(--bq-font-line-height--regular);min-height:100vb;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:where(:root){--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq:not([bq-mode]),.light,:root:not([bq-theme]):not([bq-mode]),:root[bq-theme=beeq]:not([bq-mode]),[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}:where(.endava),:where([bq-theme=endava]){--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,.endava:not([bq-mode]),[bq-theme=endava]:not([bq-mode]),[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.relative{position:relative}.box-border{box-sizing:border-box}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.hidden{display:none}.select-none{user-select:none}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.gap-\[--bq-tag--medium-gap\]{gap:var(--bq-tag--medium-gap)}.gap-\[--bq-tag--small-gap\]{gap:var(--bq-tag--small-gap)}.rounded-\[--bq-tag--border-radius\]{border-radius:var(--bq-tag--border-radius)}.rounded-\[--bq-tag--small-border-radius\]{border-radius:var(--bq-tag--small-border-radius)}.border-\[length\:--bq-tag--border-width\]{border-width:var(--bq-tag--border-width)}.border-\[color\:--bq-tag--border-color\]{border-color:var(--bq-tag--border-color)}.border-warning{border-color:var(--bq-stroke--warning)}.bg-\[--bq-tag--background-color\]{background-color:var(--bq-tag--background-color)}.bg-ui-brand{background-color:var(--bq-ui--brand)}.bg-ui-brand-alt{background-color:var(--bq-ui--brand-alt)}.bg-ui-danger{background-color:var(--bq-ui--danger)}.bg-ui-danger-alt{background-color:var(--bq-ui--danger-alt)}.bg-ui-primary{background-color:var(--bq-ui--primary)}.bg-ui-success{background-color:var(--bq-ui--success)}.bg-ui-success-alt{background-color:var(--bq-ui--success-alt)}.bg-ui-tertiary{background-color:var(--bq-ui--tertiary)}.bg-ui-warning{background-color:var(--bq-ui--warning)}.bg-ui-warning-alt{background-color:var(--bq-ui--warning-alt)}.font-medium{font-weight:var(--bq-font-weight--medium)}.leading-regular{line-height:var(--bq-font-line-height--regular)}.text-alt{color:var(--bq-text--alt)}.text-brand{color:var(--bq-text--brand)}.text-danger{color:var(--bq-text--danger)}.text-primary{color:var(--bq-text--primary)}.text-success{color:var(--bq-text--success)}.text-warning{color:var(--bq-text--warning)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.p-b-\[--bq-tag--medium-padding-y\]{padding-block:var(--bq-tag--medium-padding-y)}.p-b-\[--bq-tag--small-padding-y\]{padding-block:var(--bq-tag--small-padding-y)}.p-i-\[--bq-tag--medium-padding-x\]{padding-inline:var(--bq-tag--medium-padding-x)}.p-i-\[--bq-tag--small-padding-x\]{padding-inline:var(--bq-tag--small-padding-x)}.\[--bq-tag--border-color\:--bq-stroke--brand\]{--bq-tag--border-color:var(--bq-stroke--brand)}.\[--bq-tag--border-color\:--bq-stroke--danger\]{--bq-tag--border-color:var(--bq-stroke--danger)}.\[--bq-tag--border-color\:--bq-stroke--tertiary\]{--bq-tag--border-color:var(--bq-stroke--tertiary)}.\[--bq-tag--border-color\:--bq-tag--border-success\]{--bq-tag--border-color:var(--bq-tag--border-success)}@-webkit-keyframes fade-in{0%{opacity:0}}@keyframes fade-in{0%{opacity:0}}@-webkit-keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}:host{--bq-tag--background-color:var(--bq-ui--secondary);--bq-tag--border-color:transparent;--bq-tag--border-radius:var(--bq-radius--s);--bq-tag--border-style:solid;--bq-tag--border-width:var(--bq-stroke-s);--bq-tag--small-border-radius:var(--bq-radius--xs);--bq-tag--small-gap:var(--bq-spacing-xs2);--bq-tag--small-padding-x:calc(var(--bq-spacing-xs) - var(--bq-tag--border-width));--bq-tag--small-padding-y:calc(var(--bq-spacing-xs3) - var(--bq-tag--border-width));--bq-tag--medium-gap:var(--bq-spacing-xs);--bq-tag--medium-padding-x:calc(var(--bq-spacing-s) - var(--bq-tag--border-width));--bq-tag--medium-padding-y:calc(var(--bq-spacing-xs2) - var(--bq-tag--border-width));display:inline-block;position:relative}:host([hidden]){display:none}.bq-tag{align-items:center;background-color:var(--bq-tag--background-color);border-color:var(--bq-tag--border-color);border-radius:var(--bq-tag--border-radius);border-style:var(--bq-tag--border-style);border-width:var(--bq-tag--border-width);box-sizing:border-box;color:var(--bq-text--primary);display:inline-flex;flex-direction:row;font-weight:var(--bq-font-weight--medium);gap:var(--bq-tag--medium-gap);justify-content:center;line-height:var(--bq-font-line-height--regular);padding-block:var(--bq-tag--medium-padding-y);padding-inline:var(--bq-tag--medium-padding-x);transition-duration:.3s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);user-select:none}.bq-tag__small,.bq-tag__xsmall{gap:var(--bq-tag--small-gap);padding-block:var(--bq-tag--small-padding-y);padding-inline:var(--bq-tag--small-padding-x)}.bq-tag__small:not(.has-border),.bq-tag__xsmall:not(.has-border){border-radius:var(--bq-tag--small-border-radius)}.bq-tag__default.is-clickable{cursor:pointer}.bq-tag__default.is-clickable:focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.bq-tag__default.is-clickable:enabled:hover{background-color:color-mix(in srgb,var(--bq-tag--background-color),var(--bq-hover) 20%)}.bq-tag__default.is-clickable.active{--bq-tag--background-color:var(--bq-ui--brand);color:var(--bq-text--alt)}.bq-tag__default.is-clickable:disabled{border-style:none;cursor:not-allowed;opacity:.6}.bq-tag__error.bq-tag__filled{background-color:var(--bq-ui--danger);color:var(--bq-text--alt)}.bq-tag__error.bq-tag__outline{--bq-tag--border-color:var(--bq-stroke--danger);background-color:var(--bq-ui--danger-alt);color:var(--bq-text--danger)}.bq-tag__gray.bq-tag__filled{background-color:var(--bq-ui--tertiary);color:var(--bq-text--alt)}.bq-tag__gray.bq-tag__outline{--bq-tag--border-color:var(--bq-stroke--tertiary);background-color:var(--bq-ui--primary);color:var(--bq-text--primary)}.bq-tag__info.bq-tag__filled{background-color:var(--bq-ui--brand);color:var(--bq-text--alt)}.bq-tag__info.bq-tag__outline{--bq-tag--border-color:var(--bq-stroke--brand);background-color:var(--bq-ui--brand-alt);color:var(--bq-text--brand)}.bq-tag__success.bq-tag__filled{background-color:var(--bq-ui--success);color:var(--bq-text--alt)}.bq-tag__success.bq-tag__outline{--bq-tag--border-color:var(--bq-tag--border-success);background-color:var(--bq-ui--success-alt);color:var(--bq-text--success)}.bq-tag__warning.bq-tag__filled{background-color:var(--bq-ui--warning);color:var(--bq-text--alt)}.bq-tag__warning.bq-tag__outline{background-color:var(--bq-ui--warning-alt);border-color:var(--bq-stroke--warning);color:var(--bq-text--warning)}.bq-tag__prefix ::slotted(bq-icon){--bq-icon--size:var(--bq-tag--icon-prefix-size)!important}.focus-visible\:focus:focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.hover\:enabled\:bg-\[color-mix\(in_srgb\2c _var\(--bq-tag--background-color\)\2c _var\(--bq-hover\)_20\%\)\]:enabled:hover{background-color:color-mix(in srgb,var(--bq-tag--background-color),var(--bq-hover) 20%)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-none:disabled{border-style:none}.disabled\:opacity-60:disabled{opacity:.6}.\[\&\.active\]\:text-alt.active{color:var(--bq-text--alt)}.\[\&\.active\]\:\[--bq-tag--background-color\:--bq-ui--brand\].active{--bq-tag--background-color:var(--bq-ui--brand)}.static{position:static}.\!hidden{display:none!important}.text-m{font-size:var(--bq-font-size--m)}.text-s{font-size:var(--bq-font-size--s)}.text-xs{font-size:var(--bq-font-size--xs)}.outline{outline-style:solid}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.\[\&\:\:part\(button\)\]\:border-none::part(button){border-style:none}.\[\&\:\:part\(button\)\]\:p-0::part(button){padding:0}.flex{display:flex}.text-\[--bq-icon--color\]{color:var(--bq-icon--color)}.bs-\[--bq-icon--size\]{block-size:var(--bq-icon--size)}.is-\[--bq-icon--size\]{inline-size:var(--bq-icon--size)}.block{display:block}.inline{display:inline}
1
+ .transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{text-size-adjust:none;font-family:var(--bq-font-family);font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);line-height:var(--bq-font-line-height--regular);min-height:100vb;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:where(:root){--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq:not([bq-mode]),.light,:root:not([bq-theme]):not([bq-mode]),:root[bq-theme=beeq]:not([bq-mode]),[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}:where(.endava),:where([bq-theme=endava]){--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,.endava:not([bq-mode]),[bq-theme=endava]:not([bq-mode]),[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.relative{position:relative}.box-border{box-sizing:border-box}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.hidden{display:none}.select-none{user-select:none}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.gap-\[--bq-tag--medium-gap\]{gap:var(--bq-tag--medium-gap)}.gap-\[--bq-tag--small-gap\]{gap:var(--bq-tag--small-gap)}.rounded-\[--bq-tag--border-radius\]{border-radius:var(--bq-tag--border-radius)}.rounded-\[--bq-tag--small-border-radius\]{border-radius:var(--bq-tag--small-border-radius)}.border-\[length\:--bq-tag--border-width\]{border-width:var(--bq-tag--border-width)}.border-\[color\:--bq-tag--border-color\]{border-color:var(--bq-tag--border-color)}.border-warning{border-color:var(--bq-stroke--warning)}.bg-\[--bq-tag--background-color\]{background-color:var(--bq-tag--background-color)}.bg-ui-brand{background-color:var(--bq-ui--brand)}.bg-ui-brand-alt{background-color:var(--bq-ui--brand-alt)}.bg-ui-danger{background-color:var(--bq-ui--danger)}.bg-ui-danger-alt{background-color:var(--bq-ui--danger-alt)}.bg-ui-primary{background-color:var(--bq-ui--primary)}.bg-ui-success{background-color:var(--bq-ui--success)}.bg-ui-success-alt{background-color:var(--bq-ui--success-alt)}.bg-ui-tertiary{background-color:var(--bq-ui--tertiary)}.bg-ui-warning{background-color:var(--bq-ui--warning)}.bg-ui-warning-alt{background-color:var(--bq-ui--warning-alt)}.font-medium{font-weight:var(--bq-font-weight--medium)}.leading-regular{line-height:var(--bq-font-line-height--regular)}.text-alt{color:var(--bq-text--alt)}.text-brand{color:var(--bq-text--brand)}.text-danger{color:var(--bq-text--danger)}.text-primary{color:var(--bq-text--primary)}.text-success{color:var(--bq-text--success)}.text-warning{color:var(--bq-text--warning)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.p-b-\[--bq-tag--medium-padding-y\]{padding-block:var(--bq-tag--medium-padding-y)}.p-b-\[--bq-tag--small-padding-y\]{padding-block:var(--bq-tag--small-padding-y)}.p-i-\[--bq-tag--medium-padding-x\]{padding-inline:var(--bq-tag--medium-padding-x)}.p-i-\[--bq-tag--small-padding-x\]{padding-inline:var(--bq-tag--small-padding-x)}.\[--bq-tag--border-color\:--bq-stroke--brand\]{--bq-tag--border-color:var(--bq-stroke--brand)}.\[--bq-tag--border-color\:--bq-stroke--danger\]{--bq-tag--border-color:var(--bq-stroke--danger)}.\[--bq-tag--border-color\:--bq-stroke--tertiary\]{--bq-tag--border-color:var(--bq-stroke--tertiary)}.\[--bq-tag--border-color\:--bq-tag--border-success\]{--bq-tag--border-color:var(--bq-tag--border-success)}@-webkit-keyframes fade-in{0%{opacity:0}}@keyframes fade-in{0%{opacity:0}}@-webkit-keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@keyframes slide-in{0%{-webkit-transform:translateY(10px);transform:translateY(10px)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}:host{--bq-tag--background-color:var(--bq-ui--secondary);--bq-tag--border-color:transparent;--bq-tag--border-radius:var(--bq-radius--s);--bq-tag--border-style:solid;--bq-tag--border-width:var(--bq-stroke-s);--bq-tag--small-border-radius:var(--bq-radius--xs);--bq-tag--small-gap:var(--bq-spacing-xs2);--bq-tag--small-padding-x:calc(var(--bq-spacing-xs) - var(--bq-tag--border-width));--bq-tag--small-padding-y:calc(var(--bq-spacing-xs3) - var(--bq-tag--border-width));--bq-tag--medium-gap:var(--bq-spacing-xs);--bq-tag--medium-padding-x:calc(var(--bq-spacing-s) - var(--bq-tag--border-width));--bq-tag--medium-padding-y:calc(var(--bq-spacing-xs2) - var(--bq-tag--border-width));display:inline-block;position:relative}:host([hidden]){display:none}.bq-tag{align-items:center;background-color:var(--bq-tag--background-color);border-color:var(--bq-tag--border-color);border-radius:var(--bq-tag--border-radius);border-style:var(--bq-tag--border-style);border-width:var(--bq-tag--border-width);box-sizing:border-box;color:var(--bq-text--primary);display:inline-flex;flex-direction:row;font-weight:var(--bq-font-weight--medium);gap:var(--bq-tag--medium-gap);justify-content:center;line-height:var(--bq-font-line-height--regular);padding-block:var(--bq-tag--medium-padding-y);padding-inline:var(--bq-tag--medium-padding-x);transition-duration:.3s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);user-select:none}.bq-tag__small,.bq-tag__xsmall{gap:var(--bq-tag--small-gap);padding-block:var(--bq-tag--small-padding-y);padding-inline:var(--bq-tag--small-padding-x)}.bq-tag__small:not(.has-border),.bq-tag__xsmall:not(.has-border){border-radius:var(--bq-tag--small-border-radius)}.bq-tag__default.is-clickable{cursor:pointer}.bq-tag__default.is-clickable:focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.bq-tag__default.is-clickable:enabled:hover{background-color:color-mix(in srgb,var(--bq-tag--background-color),var(--bq-hover) 20%)}.bq-tag__default.is-clickable.active{--bq-tag--background-color:var(--bq-ui--brand);color:var(--bq-text--alt)}.bq-tag__default.is-clickable:disabled{border-style:none;cursor:not-allowed;opacity:.6}.bq-tag__error.bq-tag__filled{background-color:var(--bq-ui--danger);color:var(--bq-text--alt)}.bq-tag__error.bq-tag__outline{--bq-tag--border-color:var(--bq-stroke--danger);background-color:var(--bq-ui--danger-alt);color:var(--bq-text--danger)}.bq-tag__gray.bq-tag__filled{background-color:var(--bq-ui--tertiary);color:var(--bq-text--alt)}.bq-tag__gray.bq-tag__outline{--bq-tag--border-color:var(--bq-stroke--tertiary);background-color:var(--bq-ui--primary);color:var(--bq-text--primary)}.bq-tag__info.bq-tag__filled{background-color:var(--bq-ui--brand);color:var(--bq-text--alt)}.bq-tag__info.bq-tag__outline{--bq-tag--border-color:var(--bq-stroke--brand);background-color:var(--bq-ui--brand-alt);color:var(--bq-text--brand)}.bq-tag__success.bq-tag__filled{background-color:var(--bq-ui--success);color:var(--bq-text--alt)}.bq-tag__success.bq-tag__outline{--bq-tag--border-color:var(--bq-tag--border-success);background-color:var(--bq-ui--success-alt);color:var(--bq-text--success)}.bq-tag__warning.bq-tag__filled{background-color:var(--bq-ui--warning);color:var(--bq-text--alt)}.bq-tag__warning.bq-tag__outline{background-color:var(--bq-ui--warning-alt);border-color:var(--bq-stroke--warning);color:var(--bq-text--warning)}.bq-tag__prefix ::slotted(bq-icon){--bq-icon--size:var(--bq-tag--icon-prefix-size)!important}.focus-visible\:focus:focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.hover\:enabled\:bg-\[color-mix\(in_srgb\2c _var\(--bq-tag--background-color\)\2c _var\(--bq-hover\)_20\%\)\]:enabled:hover{background-color:color-mix(in srgb,var(--bq-tag--background-color),var(--bq-hover) 20%)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-none:disabled{border-style:none}.disabled\:opacity-60:disabled{opacity:.6}.\[\&\.active\]\:text-alt.active{color:var(--bq-text--alt)}.\[\&\.active\]\:\[--bq-tag--background-color\:--bq-ui--brand\].active{--bq-tag--background-color:var(--bq-ui--brand)}.static{position:static}.\!hidden{display:none!important}.text-m{font-size:var(--bq-font-size--m)}.text-s{font-size:var(--bq-font-size--s)}.text-xs{font-size:var(--bq-font-size--xs)}.outline{outline-style:solid}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.\[\&\:\:part\(button\)\]\:border-none::part(button){border-style:none}.\[\&\:\:part\(button\)\]\:p-0::part(button){padding:0}.block{display:block}.inline{display:inline}.flex{display:flex}.text-\[--bq-icon--color\]{color:var(--bq-icon--color)}.bs-\[--bq-icon--size\]{block-size:var(--bq-icon--size)}.is-\[--bq-icon--size\]{inline-size:var(--bq-icon--size)}
@@ -2,7 +2,7 @@
2
2
  * Built by Endavans
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
- import { jsx as _jsx, jsxs as _jsxs } from "@stencil/core/jsx-runtime";
5
+ import { h } from "@stencil/core";
6
6
  import { debounce, hasSlotContent, isHTMLElement, isNil } from "../../shared/utils";
7
7
  /**
8
8
  * The Textarea component is a multi-line text input control that is often used in a form to collect user inputs like comments or reviews.
@@ -298,21 +298,21 @@ export class BqTextarea {
298
298
  // Always the last one in the class.
299
299
  // ===================================
300
300
  render() {
301
- return (_jsxs("div", { class: "bq-textarea flex flex-auto flex-col", part: "base", children: [_jsx("label", { "aria-label": this.name ?? this.fallbackId, class: { 'bq-textarea__label': true, '!hidden': !this.hasLabel }, htmlFor: this.name ?? this.fallbackId, part: "label", ref: (label) => {
302
- this.labelElem = label;
303
- }, children: _jsx("slot", { name: "label", onSlotchange: this.handleSlotChange }, '6d02974de11bf31ebb6da60e7608b659ac2d462d') }, '8121cff062625dc74d01afe61afd734cbda953ac'), _jsx("textarea", { autocapitalize: this.autocapitalize, autocomplete: this.autocomplete, autofocus: this.autofocus, class: {
304
- 'bq-textarea__input': true,
305
- 'resize-none': this.disableResize,
306
- [`validation-${this.validationStatus}`]: true,
307
- }, disabled: this.disabled, form: this.form, id: this.name ?? this.fallbackId, maxLength: this.maxlength > 0 ? this.maxlength : undefined, name: this.name, onBlur: this.handleBlur, onChange: this.handleChange, onFocus: this.handleFocus, onInput: this.handleInput, part: "input", placeholder: this.placeholder, readOnly: this.readonly, ref: (elem) => {
308
- this.textarea = elem;
309
- }, required: this.required, rows: this.rows, spellcheck: this.spellcheck, wrap: this.wrap, children: this.value }, '28fd67642c49deae46c0e8966df132b752b56725'), _jsxs("div", { class: {
310
- 'bq-textarea__helper flex items-center justify-between': true,
311
- [`validation-${this.validationStatus}`]: true,
312
- '!hidden': !this.hasHelperText && !this.maxlength,
313
- }, part: "helper-info", children: [_jsx("span", { class: "bq-textarea__helper--text", part: "helper-text", ref: (span) => {
314
- this.helperTextElem = span;
315
- }, children: _jsx("slot", { name: "helper-text", onSlotchange: this.handleSlotChange }, '31765c8f2f546ffbc95ba26c50830ff86d84d062') }, 'e331426d3eec275ccaa37c451968cf3c6d1beb67'), _jsxs("span", { class: { 'bq-textarea__helper--counter [fontVariant:tabular-nums]': true, '!hidden': !this.maxlength }, part: "helper-counter", children: [this.numberOfCharacters ?? 0, "/", this.maxlength] }, '050123325d09fbadee93eda14b406012faaa998b')] }, '2eb37a48714447275eea400a61f78785ba824cf2')] }, '79dbf4a3fefa9a9ecc04cfe88a789bfc832a40c6'));
301
+ return (h("div", { key: 'e3d5a7f7e29000b2959b5c1946f8227046915754', class: "bq-textarea flex flex-auto flex-col", part: "base" }, h("label", { key: '48ac0c9258331b1d44a4afe1803f30a9bc42e0d2', "aria-label": this.name ?? this.fallbackId, class: { 'bq-textarea__label': true, '!hidden': !this.hasLabel }, htmlFor: this.name ?? this.fallbackId, part: "label", ref: (label) => {
302
+ this.labelElem = label;
303
+ } }, h("slot", { key: 'b1b88f2b474ab4965f05361a7877c6696b4db96e', name: "label", onSlotchange: this.handleSlotChange })), h("textarea", { key: '79fef7eb93fb8021d1a2291a9a2c9aa7594f8fd0', autocapitalize: this.autocapitalize, autocomplete: this.autocomplete, autofocus: this.autofocus, class: {
304
+ 'bq-textarea__input': true,
305
+ 'resize-none': this.disableResize,
306
+ [`validation-${this.validationStatus}`]: true,
307
+ }, disabled: this.disabled, form: this.form, id: this.name ?? this.fallbackId, maxLength: this.maxlength > 0 ? this.maxlength : undefined, name: this.name, onBlur: this.handleBlur, onChange: this.handleChange, onFocus: this.handleFocus, onInput: this.handleInput, part: "input", placeholder: this.placeholder, readOnly: this.readonly, ref: (elem) => {
308
+ this.textarea = elem;
309
+ }, required: this.required, rows: this.rows, spellcheck: this.spellcheck, wrap: this.wrap }, this.value), h("div", { key: 'ccf267c2b3bd8daaa6b9192a17c63b881d5b6f0f', class: {
310
+ 'bq-textarea__helper flex items-center justify-between': true,
311
+ [`validation-${this.validationStatus}`]: true,
312
+ '!hidden': !this.hasHelperText && !this.maxlength,
313
+ }, part: "helper-info" }, h("span", { key: 'cd852d5dec02f6db0d18c011929bffcdf780ecdd', class: "bq-textarea__helper--text", part: "helper-text", ref: (span) => {
314
+ this.helperTextElem = span;
315
+ } }, h("slot", { key: '74d0affa4d84369647794f3a5cf014c5c1939974', name: "helper-text", onSlotchange: this.handleSlotChange })), h("span", { key: '2ab7e59c29ed618d7e5110622aa253eadd11fd0a', class: { 'bq-textarea__helper--counter [fontVariant:tabular-nums]': true, '!hidden': !this.maxlength }, part: "helper-counter" }, this.numberOfCharacters ?? 0, "/", this.maxlength))));
316
316
  }
317
317
  static get is() { return "bq-textarea"; }
318
318
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"bq-textarea.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/textarea/bq-textarea.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { EventEmitter } from '@stencil/core';\nimport { AttachInternals, Component, Element, Event, Prop, State, Watch } from '@stencil/core';\n\nimport { debounce, hasSlotContent, isHTMLElement, isNil, type TDebounce } from '../../shared/utils';\nimport type { TInputValidation } from '../input/bq-input.types';\nimport type { TTextareaAutoCapitalize, TTextareaWrap } from './bq-textarea.types';\n\n/**\n * The Textarea component is a multi-line text input control that is often used in a form to collect user inputs like comments or reviews.\n *\n * @example How to use it\n * ```html\n * <bq-textarea maxlength=\"0\" name=\"textarea\" placeholder=\"Placeholder...\" rows=\"5\">\n * <label slot=\"label\">Label</label>\n * <span class=\"flex items-center gap-xs\" slot=\"helper-text\">\n * <bq-icon name=\"star\"></bq-icon>\n * Helper text\n * </span>\n * </bq-textarea>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/16792c-textarea\n * @status stable\n *\n * @attr {string} autocapitalize - Controls whether or not the textarea field should be capitalized and how.\n * @attr {string} autocomplete - Specifies whether or not the textarea field should have autocomplete enabled.\n * @attr {boolean} autofocus - If `true`, the textarea will be focused on component render.\n * @attr {boolean} auto-grow - If `true`, the textarea will automatically grow and shrink to fit its contents.\n * @attr {number} debounce-time - The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the textarea value changes.\n * @attr {boolean} disabled - If `true`, the user cannot interact with the textarea.\n * @attr {boolean} disable-resize - If `true`, it will block the user's ability to resize the textarea.\n * @attr {string} form - The ID of the form that the textarea field belongs to.\n * @attr {string} form-validation-message - The native form validation message.\n * @attr {number} maxlength - The maximum number of characters that can be entered into the textarea (`0`: no limit).\n * @attr {string} name - The name of the textarea element.\n * @attr {string} placeholder - The placeholder text to show when there is no value.\n * @attr {boolean} readonly - If `true`, the textarea field cannot be modified.\n * @attr {boolean} required - Indicates whether or not the textarea field is required to be filled out before submitting the form.\n * @attr {number} rows - The number of visible text lines for the control. It must be a positive integer.\n * @attr {boolean} spellcheck - If `true`, the textarea content may be checked for spelling errors.\n * @attr {\"error\" | \"none\" | \"success\" | \"warning\"} validation-status - The validation status of the textarea.\n * @attr {string} value - The value of the textarea. It can be used to reset the textarea to a previous value.\n * @attr {\"soft\" | \"hard\"} wrap - Specifies how the text in a text area is to be wrapped when submitted in a form.\n *\n * @event bqBlur - Handler to be called when the textarea loses focus.\n * @event bqChange - Handler to be called when the textarea value has changed and the textarea loses focus.\n * @event bqClear - Handler to be called when the textarea value has been cleared.\n * @event bqFocus - Handler to be called when the textarea has received focus.\n * @event bqInput - Handler to be called when the textarea value changes.\n *\n * @slot label - The textarea label.\n * @slot helper-text - The helper text.\n *\n * @part base - The component's base wrapper.\n * @part input - The textarea element.\n * @part label - The textarea label.\n * @part helper-info - The helper info container.\n * @part helper-text - The helper text.\n * @part helper-counter - The helper counter.\n *\n * @cssprop --bq-textarea--background-color - Textarea background color\n * @cssprop --bq-textarea--border-color - Textarea border color\n * @cssprop --bq-textarea--border-color-focus - Textarea border color on focus\n * @cssprop --bq-textarea--border-radius - Textarea border radius\n * @cssprop --bq-textarea--border-width - Textarea border width\n * @cssprop --bq-textarea--border-style - Textarea border style\n * @cssprop --bq-textarea--helper-margin-top - Textarea helper text margin top\n * @cssprop --bq-textarea--helper-text-color - Textarea helper text color\n * @cssprop --bq-textarea--helper-text-size - Textarea helper text size\n * @cssprop --bq-textarea--label-margin-bottom - Textarea label margin bottom\n * @cssprop --bq-textarea--label-text-color - Textarea label text color\n * @cssprop --bq-textarea--label-text-size - Textarea label text size\n * @cssprop --bq-textarea--paddingY - Textarea padding top and bottom\n * @cssprop --bq-textarea--padding-start - Textarea padding start\n * @cssprop --bq-textarea--padding-end - Textarea padding end\n * @cssprop --bq-textarea--text-color - Textarea text color\n * @cssprop --bq-textarea--text-size - Textarea text size\n * @cssprop --bq-textarea--text-placeholder-color - Textarea placeholder text color\n */\n@Component({\n tag: 'bq-textarea',\n styleUrl: './scss/bq-textarea.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqTextarea {\n // Own Properties\n // ====================\n\n private debounceBqInput: TDebounce<void>;\n private fallbackId = 'textarea';\n\n private helperTextElem?: HTMLElement;\n private labelElem?: HTMLLabelElement;\n private textarea: HTMLTextAreaElement;\n\n // Reference to host HTML element\n // ===================================\n\n @AttachInternals() internals!: ElementInternals;\n @Element() el!: HTMLBqTextareaElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasHelperText = false;\n @State() private hasLabel = false;\n\n // Public Property API\n // ========================\n\n /**\n * Controls whether or not the textarea field should be capitalized and how.\n * Possible values are 'off', 'none', 'on', 'sentences', 'words', and 'characters'.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize\n */\n @Prop({ reflect: true }) autocapitalize: TTextareaAutoCapitalize = 'off';\n\n /**\n * Specifies whether or not the textarea field should have autocomplete enabled.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values\n */\n @Prop({ reflect: true }) autocomplete: string = 'off';\n\n /** If true, the textarea will be focused on component render */\n @Prop({ reflect: true }) autofocus: boolean = false;\n\n /**\n * If `true`, the textarea will automatically grow and shrink to fit its contents.\n * If `false`, the textarea will have a fixed height specified by the `rows` property.\n */\n @Prop({ reflect: true }) autoGrow: boolean = false;\n\n /**\n * The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the textarea value changes.\n * A value of 0 means no debouncing will occur.\n */\n @Prop({ reflect: true, mutable: true }) debounceTime? = 0;\n\n /** If `true`, the user cannot interact with the textarea. */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** If `true`, it will block the user's ability to resize the textarea. */\n @Prop({ reflect: true }) disableResize?: boolean = false;\n\n /** The ID of the form that the textarea field belongs to. */\n @Prop({ reflect: true }) form?: string;\n\n /** The native form validation message */\n @Prop({ mutable: true }) formValidationMessage?: string;\n\n /**\n * The maximum number of characters that can be entered into the textarea (`0`: no limit).\n * When enabled, a character counter will be shown underneath the textarea.\n */\n @Prop({ reflect: true }) maxlength: number;\n\n /** The name of the textarea element. */\n @Prop({ reflect: true }) name!: string;\n\n /** The placeholder text to show when there is no value. */\n @Prop({ reflect: true }) placeholder!: string;\n\n /** If true, the textarea field cannot be modified. */\n @Prop({ reflect: true }) readonly?: boolean = false;\n\n /** Indicates whether or not the textarea field is required to be filled out before submitting the form. */\n @Prop({ reflect: true }) required?: boolean = false;\n\n /** The number of visible text lines for the control. It must be a positive integer. */\n @Prop({ reflect: true }) rows: number = 5;\n\n /** If true, the textarea content may be checked for spelling errors. */\n @Prop({ reflect: true }) spellcheck: boolean = false;\n\n /**\n * The validation status of the textarea.\n *\n * @remarks\n * This property is used to indicate the validation status of the textarea. It can be set to one of the following values:\n * - `'none'`: No validation status is set.\n * - `'error'`: The textarea has a validation error.\n * - `'warning'`: The textarea has a validation warning.\n * - `'success'`: The textarea has passed validation.\n */\n @Prop({ reflect: true, mutable: true }) validationStatus: TInputValidation = 'none';\n\n /** The value of the textarea. It can be used to reset the textarea to a previous value. */\n @Prop({ mutable: true }) value: string;\n\n /** Specifies how the text in a text area is to be wrapped when submitted in a form */\n @Prop({ reflect: true }) wrap: TTextareaWrap = 'soft';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('value')\n handleValueChange() {\n if (!this.textarea) return;\n if (!this.maxlength || this.value?.length < this.maxlength) return;\n // If the value is longer than the maxlength, we need to truncate it\n this.value = this.value?.substring(0, this.maxlength);\n this.textarea.value = this.value ?? '';\n }\n\n @Watch('required')\n handleRequiredPropChange() {\n this.updateFormValidity();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the textarea loses focus */\n @Event() bqBlur!: EventEmitter<HTMLBqTextareaElement>;\n\n /**\n * Callback handler emitted when the textarea value has changed and the textarea loses focus.\n * This handler is called whenever the user finishes typing or pasting text into the textarea field and then clicks outside of the textarea field.\n */\n @Event() bqChange!: EventEmitter<{ value: string; el: HTMLBqTextareaElement }>;\n\n /** Callback handler emitted when the textarea value has been cleared */\n @Event() bqClear!: EventEmitter<HTMLBqTextareaElement>;\n\n /** Callback handler emitted when the textarea has received focus */\n @Event() bqFocus!: EventEmitter<HTMLBqTextareaElement>;\n\n /**\n * Callback handler emitted when the textarea value changes.\n * This handler is called whenever the user types or pastes text into the textarea field.\n */\n @Event() bqInput!: EventEmitter<{ value: string; el: HTMLBqTextareaElement }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentDidLoad() {\n this.handleSlotChange();\n this.handleValueChange();\n }\n\n formAssociatedCallback() {\n this.setFormValue(this.value);\n this.updateFormValidity();\n }\n\n formResetCallback() {\n this.clearSelection();\n // Reset the form validity state\n this.setFormValue();\n this.updateFormValidity();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private get numberOfCharacters() {\n if (!this.maxlength || !this.textarea) return 0;\n\n return this.value?.length;\n }\n\n private handleBlur = () => {\n if (this.disabled) return;\n\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleChange = (ev: Event) => {\n if (this.disabled) return;\n\n if (!isHTMLElement(ev.target, 'textarea')) return;\n this.value = ev.target.value;\n this.setFormValue(this.value);\n this.updateFormValidity();\n\n this.bqChange.emit({ value: this.value, el: this.el });\n };\n\n private handleInput = (ev: Event) => {\n if (this.disabled) return;\n\n this.debounceBqInput?.cancel();\n\n if (!isHTMLElement(ev.target, 'textarea')) return;\n this.value = ev.target.value;\n\n this.debounceBqInput = debounce(() => {\n this.bqInput.emit({ value: this.value, el: this.el });\n }, this.debounceTime);\n this.debounceBqInput();\n\n this.autoResize();\n };\n\n private autoResize = () => {\n if (!this.autoGrow) return;\n\n const inputElem = this.textarea;\n if (!inputElem) return;\n\n inputElem.style.height = 'auto';\n inputElem.style.height = `${inputElem.scrollHeight}px`;\n };\n\n private handleSlotChange = () => {\n this.hasLabel = hasSlotContent(this.labelElem);\n this.hasHelperText = hasSlotContent(this.helperTextElem);\n };\n\n private setFormValue = (value?: string) => {\n this.internals.setFormValue(!isNil(value) ? `${value}` : undefined);\n };\n\n private updateFormValidity = () => {\n const { formValidationMessage, internals, required, value, textarea } = this;\n\n // Clear the validity state\n internals?.states.clear();\n\n if (required && (!value || value.trim() === '')) {\n // Set validity state to invalid\n internals?.states.add('invalid');\n internals?.setValidity({ valueMissing: true }, formValidationMessage, textarea);\n return;\n }\n\n // Set validity state to valid if textarea has value or is not required\n internals?.states.add('valid');\n internals?.setValidity({});\n };\n\n private clearSelection = () => {\n this.value = '';\n this.textarea.value = this.value;\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"bq-textarea flex flex-auto flex-col\" part=\"base\">\n <label\n aria-label={this.name ?? this.fallbackId}\n class={{ 'bq-textarea__label': true, '!hidden': !this.hasLabel }}\n htmlFor={this.name ?? this.fallbackId}\n part=\"label\"\n ref={(label: HTMLLabelElement) => {\n this.labelElem = label;\n }}\n >\n <slot name=\"label\" onSlotchange={this.handleSlotChange} />\n </label>\n <textarea\n autocapitalize={this.autocapitalize}\n autocomplete={this.autocomplete}\n autofocus={this.autofocus}\n class={{\n 'bq-textarea__input': true,\n 'resize-none': this.disableResize,\n [`validation-${this.validationStatus}`]: true,\n }}\n disabled={this.disabled}\n form={this.form}\n id={this.name ?? this.fallbackId}\n maxLength={this.maxlength > 0 ? this.maxlength : undefined}\n name={this.name}\n onBlur={this.handleBlur}\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onInput={this.handleInput}\n part=\"input\"\n placeholder={this.placeholder}\n readOnly={this.readonly}\n ref={(elem: HTMLTextAreaElement) => {\n this.textarea = elem;\n }}\n required={this.required}\n rows={this.rows}\n spellcheck={this.spellcheck}\n wrap={this.wrap}\n >\n {this.value}\n </textarea>\n <div\n class={{\n 'bq-textarea__helper flex items-center justify-between': true,\n [`validation-${this.validationStatus}`]: true,\n '!hidden': !this.hasHelperText && !this.maxlength,\n }}\n part=\"helper-info\"\n >\n <span\n class=\"bq-textarea__helper--text\"\n part=\"helper-text\"\n ref={(span: HTMLElement) => {\n this.helperTextElem = span;\n }}\n >\n <slot name=\"helper-text\" onSlotchange={this.handleSlotChange} />\n </span>\n <span\n class={{ 'bq-textarea__helper--counter [fontVariant:tabular-nums]': true, '!hidden': !this.maxlength }}\n part=\"helper-counter\"\n >\n {this.numberOfCharacters ?? 0}/{this.maxlength}\n </span>\n </div>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"bq-textarea.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/textarea/bq-textarea.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAElG,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,EAAkB,MAAM,oBAAoB,CAAC;AAIpG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AASH,MAAM,OAAO,UAAU;IACrB,iBAAiB;IACjB,uBAAuB;IAEf,eAAe,CAAkB;IACjC,UAAU,GAAG,UAAU,CAAC;IAExB,cAAc,CAAe;IAC7B,SAAS,CAAoB;IAC7B,QAAQ,CAAsB;IAEtC,iCAAiC;IACjC,sCAAsC;IAEnB,SAAS,CAAoB;IACrC,EAAE,CAAyB;IAEtC,oBAAoB;IACpB,wCAAwC;IACxC,0CAA0C;IAEzB,aAAa,GAAG,KAAK,CAAC;IACtB,QAAQ,GAAG,KAAK,CAAC;IAElC,sBAAsB;IACtB,2BAA2B;IAE3B;;;;;OAKG;IACsB,cAAc,GAA4B,KAAK,CAAC;IAEzE;;;;OAIG;IACsB,YAAY,GAAW,KAAK,CAAC;IAEtD,gEAAgE;IACvC,SAAS,GAAY,KAAK,CAAC;IAEpD;;;OAGG;IACsB,QAAQ,GAAY,KAAK,CAAC;IAEnD;;;OAGG;IACqC,YAAY,GAAI,CAAC,CAAC;IAE1D,6DAA6D;IACpC,QAAQ,GAAY,KAAK,CAAC;IAEnD,0EAA0E;IACjD,aAAa,GAAa,KAAK,CAAC;IAEzD,6DAA6D;IACpC,IAAI,CAAU;IAEvC,yCAAyC;IAChB,qBAAqB,CAAU;IAExD;;;OAGG;IACsB,SAAS,CAAS;IAE3C,wCAAwC;IACf,IAAI,CAAU;IAEvC,2DAA2D;IAClC,WAAW,CAAU;IAE9C,sDAAsD;IAC7B,QAAQ,GAAa,KAAK,CAAC;IAEpD,2GAA2G;IAClF,QAAQ,GAAa,KAAK,CAAC;IAEpD,uFAAuF;IAC9D,IAAI,GAAW,CAAC,CAAC;IAE1C,wEAAwE;IAC/C,UAAU,GAAY,KAAK,CAAC;IAErD;;;;;;;;;OASG;IACqC,gBAAgB,GAAqB,MAAM,CAAC;IAEpF,2FAA2F;IAClE,KAAK,CAAS;IAEvC,sFAAsF;IAC7D,IAAI,GAAkB,MAAM,CAAC;IAEtD,wBAAwB;IACxB,0BAA0B;IAG1B,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,SAAS;YAAE,OAAO;QACnE,oEAAoE;QACpE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IACzC,CAAC;IAGD,wBAAwB;QACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,iBAAiB;IACjB,+CAA+C;IAC/C,iDAAiD;IAEjD,6DAA6D;IACpD,MAAM,CAAuC;IAEtD;;;OAGG;IACM,QAAQ,CAA8D;IAE/E,wEAAwE;IAC/D,OAAO,CAAuC;IAEvD,oEAAoE;IAC3D,OAAO,CAAuC;IAEvD;;;OAGG;IACM,OAAO,CAA8D;IAE9E,6BAA6B;IAC7B,sCAAsC;IACtC,wCAAwC;IAExC,gBAAgB;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,gCAAgC;QAChC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,YAAY;IACZ,iBAAiB;IAEjB,qBAAqB;IACrB,iDAAiD;IACjD,wBAAwB;IACxB,gCAAgC;IAChC,gDAAgD;IAChD,kDAAkD;IAElD,gBAAgB;IAChB,2BAA2B;IAC3B,wDAAwD;IACxD,0DAA0D;IAE1D,IAAY,kBAAkB;QAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;IAC5B,CAAC;IAEO,UAAU,GAAG,GAAG,EAAE;QACxB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEM,WAAW,GAAG,GAAG,EAAE;QACzB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEM,YAAY,GAAG,CAAC,EAAS,EAAE,EAAE;QACnC,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;YAAE,OAAO;QAClD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC;IAEM,WAAW,GAAG,CAAC,EAAS,EAAE,EAAE;QAClC,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;QAE/B,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;YAAE,OAAO;QAClD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QAE7B,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,GAAG,EAAE;YACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC,CAAC;IAEM,UAAU,GAAG,GAAG,EAAE;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAChC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,IAAI,CAAC;IACzD,CAAC,CAAC;IAEM,gBAAgB,GAAG,GAAG,EAAE;QAC9B,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEM,YAAY,GAAG,CAAC,KAAc,EAAE,EAAE;QACxC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACtE,CAAC,CAAC;IAEM,kBAAkB,GAAG,GAAG,EAAE;QAChC,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAE7E,2BAA2B;QAC3B,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAE1B,IAAI,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAChD,gCAAgC;YAChC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACjC,SAAS,EAAE,WAAW,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC;YAChF,OAAO;QACT,CAAC;QAED,uEAAuE;QACvE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/B,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEM,cAAc,GAAG,GAAG,EAAE;QAC5B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACnC,CAAC,CAAC;IAEF,oBAAoB;IACpB,oCAAoC;IACpC,sCAAsC;IAEtC,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAC,qCAAqC,EAAC,IAAI,EAAC,MAAM;YAC1D,4EACc,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EACxC,KAAK,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAChE,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EACrC,IAAI,EAAC,OAAO,EACZ,GAAG,EAAE,CAAC,KAAuB,EAAE,EAAE;oBAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACzB,CAAC;gBAED,6DAAM,IAAI,EAAC,OAAO,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,GAAI,CACpD;YACR,iEACE,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,KAAK,EAAE;oBACL,oBAAoB,EAAE,IAAI;oBAC1B,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,CAAC,cAAc,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,IAAI;iBAC9C,EACD,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAChC,SAAS,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAC1D,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAC,OAAO,EACZ,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,GAAG,EAAE,CAAC,IAAyB,EAAE,EAAE;oBACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACvB,CAAC,EACD,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,IAEd,IAAI,CAAC,KAAK,CACF;YACX,4DACE,KAAK,EAAE;oBACL,uDAAuD,EAAE,IAAI;oBAC7D,CAAC,cAAc,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,IAAI;oBAC7C,SAAS,EAAE,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS;iBAClD,EACD,IAAI,EAAC,aAAa;gBAElB,6DACE,KAAK,EAAC,2BAA2B,EACjC,IAAI,EAAC,aAAa,EAClB,GAAG,EAAE,CAAC,IAAiB,EAAE,EAAE;wBACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC7B,CAAC;oBAED,6DAAM,IAAI,EAAC,aAAa,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,GAAI,CAC3D;gBACP,6DACE,KAAK,EAAE,EAAE,yDAAyD,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EACtG,IAAI,EAAC,gBAAgB;oBAEpB,IAAI,CAAC,kBAAkB,IAAI,CAAC;;oBAAG,IAAI,CAAC,SAAS,CACzC,CACH,CACF,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import type { EventEmitter } from '@stencil/core';\nimport { AttachInternals, Component, Element, Event, h, Prop, State, Watch } from '@stencil/core';\n\nimport { debounce, hasSlotContent, isHTMLElement, isNil, type TDebounce } from '../../shared/utils';\nimport type { TInputValidation } from '../input/bq-input.types';\nimport type { TTextareaAutoCapitalize, TTextareaWrap } from './bq-textarea.types';\n\n/**\n * The Textarea component is a multi-line text input control that is often used in a form to collect user inputs like comments or reviews.\n *\n * @example How to use it\n * ```html\n * <bq-textarea maxlength=\"0\" name=\"textarea\" placeholder=\"Placeholder...\" rows=\"5\">\n * <label slot=\"label\">Label</label>\n * <span class=\"flex items-center gap-xs\" slot=\"helper-text\">\n * <bq-icon name=\"star\"></bq-icon>\n * Helper text\n * </span>\n * </bq-textarea>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/16792c-textarea\n * @status stable\n *\n * @attr {string} autocapitalize - Controls whether or not the textarea field should be capitalized and how.\n * @attr {string} autocomplete - Specifies whether or not the textarea field should have autocomplete enabled.\n * @attr {boolean} autofocus - If `true`, the textarea will be focused on component render.\n * @attr {boolean} auto-grow - If `true`, the textarea will automatically grow and shrink to fit its contents.\n * @attr {number} debounce-time - The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the textarea value changes.\n * @attr {boolean} disabled - If `true`, the user cannot interact with the textarea.\n * @attr {boolean} disable-resize - If `true`, it will block the user's ability to resize the textarea.\n * @attr {string} form - The ID of the form that the textarea field belongs to.\n * @attr {string} form-validation-message - The native form validation message.\n * @attr {number} maxlength - The maximum number of characters that can be entered into the textarea (`0`: no limit).\n * @attr {string} name - The name of the textarea element.\n * @attr {string} placeholder - The placeholder text to show when there is no value.\n * @attr {boolean} readonly - If `true`, the textarea field cannot be modified.\n * @attr {boolean} required - Indicates whether or not the textarea field is required to be filled out before submitting the form.\n * @attr {number} rows - The number of visible text lines for the control. It must be a positive integer.\n * @attr {boolean} spellcheck - If `true`, the textarea content may be checked for spelling errors.\n * @attr {\"error\" | \"none\" | \"success\" | \"warning\"} validation-status - The validation status of the textarea.\n * @attr {string} value - The value of the textarea. It can be used to reset the textarea to a previous value.\n * @attr {\"soft\" | \"hard\"} wrap - Specifies how the text in a text area is to be wrapped when submitted in a form.\n *\n * @event bqBlur - Handler to be called when the textarea loses focus.\n * @event bqChange - Handler to be called when the textarea value has changed and the textarea loses focus.\n * @event bqClear - Handler to be called when the textarea value has been cleared.\n * @event bqFocus - Handler to be called when the textarea has received focus.\n * @event bqInput - Handler to be called when the textarea value changes.\n *\n * @slot label - The textarea label.\n * @slot helper-text - The helper text.\n *\n * @part base - The component's base wrapper.\n * @part input - The textarea element.\n * @part label - The textarea label.\n * @part helper-info - The helper info container.\n * @part helper-text - The helper text.\n * @part helper-counter - The helper counter.\n *\n * @cssprop --bq-textarea--background-color - Textarea background color\n * @cssprop --bq-textarea--border-color - Textarea border color\n * @cssprop --bq-textarea--border-color-focus - Textarea border color on focus\n * @cssprop --bq-textarea--border-radius - Textarea border radius\n * @cssprop --bq-textarea--border-width - Textarea border width\n * @cssprop --bq-textarea--border-style - Textarea border style\n * @cssprop --bq-textarea--helper-margin-top - Textarea helper text margin top\n * @cssprop --bq-textarea--helper-text-color - Textarea helper text color\n * @cssprop --bq-textarea--helper-text-size - Textarea helper text size\n * @cssprop --bq-textarea--label-margin-bottom - Textarea label margin bottom\n * @cssprop --bq-textarea--label-text-color - Textarea label text color\n * @cssprop --bq-textarea--label-text-size - Textarea label text size\n * @cssprop --bq-textarea--paddingY - Textarea padding top and bottom\n * @cssprop --bq-textarea--padding-start - Textarea padding start\n * @cssprop --bq-textarea--padding-end - Textarea padding end\n * @cssprop --bq-textarea--text-color - Textarea text color\n * @cssprop --bq-textarea--text-size - Textarea text size\n * @cssprop --bq-textarea--text-placeholder-color - Textarea placeholder text color\n */\n@Component({\n tag: 'bq-textarea',\n styleUrl: './scss/bq-textarea.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqTextarea {\n // Own Properties\n // ====================\n\n private debounceBqInput: TDebounce<void>;\n private fallbackId = 'textarea';\n\n private helperTextElem?: HTMLElement;\n private labelElem?: HTMLLabelElement;\n private textarea: HTMLTextAreaElement;\n\n // Reference to host HTML element\n // ===================================\n\n @AttachInternals() internals!: ElementInternals;\n @Element() el!: HTMLBqTextareaElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasHelperText = false;\n @State() private hasLabel = false;\n\n // Public Property API\n // ========================\n\n /**\n * Controls whether or not the textarea field should be capitalized and how.\n * Possible values are 'off', 'none', 'on', 'sentences', 'words', and 'characters'.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize\n */\n @Prop({ reflect: true }) autocapitalize: TTextareaAutoCapitalize = 'off';\n\n /**\n * Specifies whether or not the textarea field should have autocomplete enabled.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values\n */\n @Prop({ reflect: true }) autocomplete: string = 'off';\n\n /** If true, the textarea will be focused on component render */\n @Prop({ reflect: true }) autofocus: boolean = false;\n\n /**\n * If `true`, the textarea will automatically grow and shrink to fit its contents.\n * If `false`, the textarea will have a fixed height specified by the `rows` property.\n */\n @Prop({ reflect: true }) autoGrow: boolean = false;\n\n /**\n * The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the textarea value changes.\n * A value of 0 means no debouncing will occur.\n */\n @Prop({ reflect: true, mutable: true }) debounceTime? = 0;\n\n /** If `true`, the user cannot interact with the textarea. */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** If `true`, it will block the user's ability to resize the textarea. */\n @Prop({ reflect: true }) disableResize?: boolean = false;\n\n /** The ID of the form that the textarea field belongs to. */\n @Prop({ reflect: true }) form?: string;\n\n /** The native form validation message */\n @Prop({ mutable: true }) formValidationMessage?: string;\n\n /**\n * The maximum number of characters that can be entered into the textarea (`0`: no limit).\n * When enabled, a character counter will be shown underneath the textarea.\n */\n @Prop({ reflect: true }) maxlength: number;\n\n /** The name of the textarea element. */\n @Prop({ reflect: true }) name!: string;\n\n /** The placeholder text to show when there is no value. */\n @Prop({ reflect: true }) placeholder!: string;\n\n /** If true, the textarea field cannot be modified. */\n @Prop({ reflect: true }) readonly?: boolean = false;\n\n /** Indicates whether or not the textarea field is required to be filled out before submitting the form. */\n @Prop({ reflect: true }) required?: boolean = false;\n\n /** The number of visible text lines for the control. It must be a positive integer. */\n @Prop({ reflect: true }) rows: number = 5;\n\n /** If true, the textarea content may be checked for spelling errors. */\n @Prop({ reflect: true }) spellcheck: boolean = false;\n\n /**\n * The validation status of the textarea.\n *\n * @remarks\n * This property is used to indicate the validation status of the textarea. It can be set to one of the following values:\n * - `'none'`: No validation status is set.\n * - `'error'`: The textarea has a validation error.\n * - `'warning'`: The textarea has a validation warning.\n * - `'success'`: The textarea has passed validation.\n */\n @Prop({ reflect: true, mutable: true }) validationStatus: TInputValidation = 'none';\n\n /** The value of the textarea. It can be used to reset the textarea to a previous value. */\n @Prop({ mutable: true }) value: string;\n\n /** Specifies how the text in a text area is to be wrapped when submitted in a form */\n @Prop({ reflect: true }) wrap: TTextareaWrap = 'soft';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('value')\n handleValueChange() {\n if (!this.textarea) return;\n if (!this.maxlength || this.value?.length < this.maxlength) return;\n // If the value is longer than the maxlength, we need to truncate it\n this.value = this.value?.substring(0, this.maxlength);\n this.textarea.value = this.value ?? '';\n }\n\n @Watch('required')\n handleRequiredPropChange() {\n this.updateFormValidity();\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler emitted when the textarea loses focus */\n @Event() bqBlur!: EventEmitter<HTMLBqTextareaElement>;\n\n /**\n * Callback handler emitted when the textarea value has changed and the textarea loses focus.\n * This handler is called whenever the user finishes typing or pasting text into the textarea field and then clicks outside of the textarea field.\n */\n @Event() bqChange!: EventEmitter<{ value: string; el: HTMLBqTextareaElement }>;\n\n /** Callback handler emitted when the textarea value has been cleared */\n @Event() bqClear!: EventEmitter<HTMLBqTextareaElement>;\n\n /** Callback handler emitted when the textarea has received focus */\n @Event() bqFocus!: EventEmitter<HTMLBqTextareaElement>;\n\n /**\n * Callback handler emitted when the textarea value changes.\n * This handler is called whenever the user types or pastes text into the textarea field.\n */\n @Event() bqInput!: EventEmitter<{ value: string; el: HTMLBqTextareaElement }>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentDidLoad() {\n this.handleSlotChange();\n this.handleValueChange();\n }\n\n formAssociatedCallback() {\n this.setFormValue(this.value);\n this.updateFormValidity();\n }\n\n formResetCallback() {\n this.clearSelection();\n // Reset the form validity state\n this.setFormValue();\n this.updateFormValidity();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private get numberOfCharacters() {\n if (!this.maxlength || !this.textarea) return 0;\n\n return this.value?.length;\n }\n\n private handleBlur = () => {\n if (this.disabled) return;\n\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n if (this.disabled) return;\n\n this.bqFocus.emit(this.el);\n };\n\n private handleChange = (ev: Event) => {\n if (this.disabled) return;\n\n if (!isHTMLElement(ev.target, 'textarea')) return;\n this.value = ev.target.value;\n this.setFormValue(this.value);\n this.updateFormValidity();\n\n this.bqChange.emit({ value: this.value, el: this.el });\n };\n\n private handleInput = (ev: Event) => {\n if (this.disabled) return;\n\n this.debounceBqInput?.cancel();\n\n if (!isHTMLElement(ev.target, 'textarea')) return;\n this.value = ev.target.value;\n\n this.debounceBqInput = debounce(() => {\n this.bqInput.emit({ value: this.value, el: this.el });\n }, this.debounceTime);\n this.debounceBqInput();\n\n this.autoResize();\n };\n\n private autoResize = () => {\n if (!this.autoGrow) return;\n\n const inputElem = this.textarea;\n if (!inputElem) return;\n\n inputElem.style.height = 'auto';\n inputElem.style.height = `${inputElem.scrollHeight}px`;\n };\n\n private handleSlotChange = () => {\n this.hasLabel = hasSlotContent(this.labelElem);\n this.hasHelperText = hasSlotContent(this.helperTextElem);\n };\n\n private setFormValue = (value?: string) => {\n this.internals.setFormValue(!isNil(value) ? `${value}` : undefined);\n };\n\n private updateFormValidity = () => {\n const { formValidationMessage, internals, required, value, textarea } = this;\n\n // Clear the validity state\n internals?.states.clear();\n\n if (required && (!value || value.trim() === '')) {\n // Set validity state to invalid\n internals?.states.add('invalid');\n internals?.setValidity({ valueMissing: true }, formValidationMessage, textarea);\n return;\n }\n\n // Set validity state to valid if textarea has value or is not required\n internals?.states.add('valid');\n internals?.setValidity({});\n };\n\n private clearSelection = () => {\n this.value = '';\n this.textarea.value = this.value;\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <div class=\"bq-textarea flex flex-auto flex-col\" part=\"base\">\n <label\n aria-label={this.name ?? this.fallbackId}\n class={{ 'bq-textarea__label': true, '!hidden': !this.hasLabel }}\n htmlFor={this.name ?? this.fallbackId}\n part=\"label\"\n ref={(label: HTMLLabelElement) => {\n this.labelElem = label;\n }}\n >\n <slot name=\"label\" onSlotchange={this.handleSlotChange} />\n </label>\n <textarea\n autocapitalize={this.autocapitalize}\n autocomplete={this.autocomplete}\n autofocus={this.autofocus}\n class={{\n 'bq-textarea__input': true,\n 'resize-none': this.disableResize,\n [`validation-${this.validationStatus}`]: true,\n }}\n disabled={this.disabled}\n form={this.form}\n id={this.name ?? this.fallbackId}\n maxLength={this.maxlength > 0 ? this.maxlength : undefined}\n name={this.name}\n onBlur={this.handleBlur}\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onInput={this.handleInput}\n part=\"input\"\n placeholder={this.placeholder}\n readOnly={this.readonly}\n ref={(elem: HTMLTextAreaElement) => {\n this.textarea = elem;\n }}\n required={this.required}\n rows={this.rows}\n spellcheck={this.spellcheck}\n wrap={this.wrap}\n >\n {this.value}\n </textarea>\n <div\n class={{\n 'bq-textarea__helper flex items-center justify-between': true,\n [`validation-${this.validationStatus}`]: true,\n '!hidden': !this.hasHelperText && !this.maxlength,\n }}\n part=\"helper-info\"\n >\n <span\n class=\"bq-textarea__helper--text\"\n part=\"helper-text\"\n ref={(span: HTMLElement) => {\n this.helperTextElem = span;\n }}\n >\n <slot name=\"helper-text\" onSlotchange={this.handleSlotChange} />\n </span>\n <span\n class={{ 'bq-textarea__helper--counter [fontVariant:tabular-nums]': true, '!hidden': !this.maxlength }}\n part=\"helper-counter\"\n >\n {this.numberOfCharacters ?? 0}/{this.maxlength}\n </span>\n </div>\n </div>\n );\n }\n}\n"]}
@@ -2,8 +2,7 @@
2
2
  * Built by Endavans
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
- import { jsx as _jsx, jsxs as _jsxs } from "@stencil/core/jsx-runtime";
6
- import { Host } from "@stencil/core";
5
+ import { Host, h } from "@stencil/core";
7
6
  import { debounce, isClient, validatePropValue } from "../../shared/utils";
8
7
  import { TOAST_PLACEMENT, TOAST_TYPE } from "./bq-toast.types";
9
8
  const TOAST_PORTAL_SELECTOR = 'bq-toast-portal';
@@ -214,7 +213,7 @@ export class BqToast {
214
213
  const style = {
215
214
  ...(this.border && { '--bq-toast--border-radius': `var(--bq-radius--${this.border})` }),
216
215
  };
217
- return (_jsx(Host, { "aria-hidden": !this.open ? 'true' : 'false', class: { 'is-hidden': !this.open }, hidden: !this.open ? 'true' : 'false', role: "status", style: style, children: _jsxs("output", { class: "bq-toast", part: "wrapper", children: [_jsx("div", { class: { [`bq-toast--icon ${this.type}`]: true, '!hidden': this.hideIcon }, part: "icon", children: _jsx("slot", { name: "icon", children: _jsx("bq-icon", { exportparts: "base,svg", name: this.iconName, size: "24", slot: "icon" }, 'eaef82cdd6ca86fd451ddf11210af0a66d3d24ec') }, 'a7d298c92d2a7f27fcb92f15deecf57f6aca67b7') }, '31ddbd2d68294f701d730f8a11b92d11becc13d6'), _jsx("slot", {}, 'fe5efc9cebfbc2cd431b8f4dde24560387f9eed1')] }, 'e9a0f131fa8ece43fce2711cfcac60aeeb7d32e9') }, 'f35a997399e8310322c4389463e630bb9a9d1ab5'));
216
+ return (h(Host, { key: '0e66f9abe6800d4f76870fb402876112b4cf2af6', "aria-hidden": !this.open ? 'true' : 'false', class: { 'is-hidden': !this.open }, hidden: !this.open ? 'true' : 'false', role: "status", style: style }, h("output", { key: '693f3d06682990bb5a6b35472de473522850bf33', class: "bq-toast", part: "wrapper" }, h("div", { key: '83342a0ada8dbf7830c7962b781690c977f09006', class: { [`bq-toast--icon ${this.type}`]: true, '!hidden': this.hideIcon }, part: "icon" }, h("slot", { key: '10a0d89edc8becc70e7b2d9257381ea0403bdc46', name: "icon" }, h("bq-icon", { key: '493f40a4cc423c65a22f7adc6812af2683fcadea', exportparts: "base,svg", name: this.iconName, size: "24", slot: "icon" }))), h("slot", { key: '5293f07d309f788ad4987a4c30c1ae2d25353ec2' }))));
218
217
  }
219
218
  static get is() { return "bq-toast"; }
220
219
  static get encapsulation() { return "shadow"; }