@beeq/core 1.7.0 → 1.8.0-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 (285) hide show
  1. package/dist/beeq/beeq.esm.js +1 -1
  2. package/dist/beeq/beeq.esm.js.map +1 -1
  3. package/dist/beeq/{p-a062b9c4.entry.js → p-235328ee.entry.js} +2 -2
  4. package/dist/beeq/{p-c88ca7e9.entry.js → p-255fcbe4.entry.js} +2 -2
  5. package/dist/beeq/{p-5402707e.entry.js → p-268dc1e3.entry.js} +2 -2
  6. package/dist/beeq/p-38d4bd8a.js +6 -0
  7. package/dist/beeq/p-38d4bd8a.js.map +1 -0
  8. package/dist/beeq/{p-7691bdfc.entry.js → p-3aa41d80.entry.js} +2 -2
  9. package/dist/beeq/{p-6b824dba.entry.js → p-3b2ce34b.entry.js} +2 -2
  10. package/dist/beeq/p-3fd0d92d.js.map +1 -1
  11. package/dist/beeq/{p-a2157e4d.entry.js → p-41bac721.entry.js} +2 -2
  12. package/dist/beeq/{p-d9a3844f.entry.js → p-4739f5c3.entry.js} +2 -2
  13. package/dist/beeq/{p-889e6317.entry.js → p-4ba2bec7.entry.js} +2 -2
  14. package/dist/beeq/{p-d4ca1283.entry.js → p-52577f3a.entry.js} +2 -2
  15. package/dist/beeq/{p-2e8e7e37.entry.js → p-571b40ff.entry.js} +2 -2
  16. package/dist/beeq/{p-fbb780c2.entry.js → p-606c080c.entry.js} +2 -2
  17. package/dist/beeq/{p-21a51ee0.entry.js → p-633319f3.entry.js} +2 -2
  18. package/dist/beeq/p-63ad9702.entry.js +6 -0
  19. package/dist/beeq/p-63ad9702.entry.js.map +1 -0
  20. package/dist/beeq/{p-8b870d05.entry.js → p-6e026fad.entry.js} +2 -2
  21. package/dist/beeq/p-76e714c6.js +7 -0
  22. package/dist/beeq/p-76e714c6.js.map +1 -0
  23. package/dist/beeq/{p-4291b23f.entry.js → p-79b7547b.entry.js} +2 -2
  24. package/dist/beeq/{p-a453d36c.entry.js → p-7f23cde7.entry.js} +2 -2
  25. package/dist/beeq/{p-4f8ce653.entry.js → p-8059836c.entry.js} +2 -2
  26. package/dist/beeq/p-8b7c7049.entry.js +6 -0
  27. package/dist/beeq/p-8b7c7049.entry.js.map +1 -0
  28. package/dist/beeq/{p-64835973.entry.js → p-90c5851d.entry.js} +2 -2
  29. package/dist/beeq/{p-3711298a.entry.js → p-94d62f1b.entry.js} +2 -2
  30. package/dist/beeq/{p-61c97bdc.entry.js → p-96d7f361.entry.js} +2 -2
  31. package/dist/beeq/{p-cec068b9.entry.js → p-9acfedb8.entry.js} +2 -2
  32. package/dist/beeq/p-9acfedb8.entry.js.map +1 -0
  33. package/dist/beeq/p-9c6c6646.entry.js +6 -0
  34. package/dist/beeq/p-9c6c6646.entry.js.map +1 -0
  35. package/dist/beeq/{p-a9ca89e7.entry.js → p-9cd26e8d.entry.js} +2 -2
  36. package/dist/beeq/{p-bcf6e585.entry.js → p-9f40249f.entry.js} +2 -2
  37. package/dist/beeq/{p-9c3030c7.entry.js → p-a006be9e.entry.js} +2 -2
  38. package/dist/beeq/{p-b2c55a62.entry.js → p-a7b0fd0b.entry.js} +2 -2
  39. package/dist/beeq/p-a8cb8989.entry.js +6 -0
  40. package/dist/beeq/p-a8cb8989.entry.js.map +1 -0
  41. package/dist/beeq/{p-c3e33045.entry.js → p-ae8ffb81.entry.js} +2 -2
  42. package/dist/beeq/p-af062402.js +6 -0
  43. package/dist/beeq/p-af062402.js.map +1 -0
  44. package/dist/beeq/{p-39f3d9d2.entry.js → p-b7281046.entry.js} +2 -2
  45. package/dist/beeq/{p-d62cad31.entry.js → p-b90c6de9.entry.js} +2 -2
  46. package/dist/beeq/{p-aae41e31.entry.js → p-b9544567.entry.js} +2 -2
  47. package/dist/beeq/p-b9544567.entry.js.map +1 -0
  48. package/dist/beeq/{p-f7d3f428.entry.js → p-be664fb0.entry.js} +2 -2
  49. package/dist/beeq/{p-819acf02.entry.js → p-c9c942e6.entry.js} +2 -2
  50. package/dist/beeq/{p-ec4a6d10.entry.js → p-d2bbae3b.entry.js} +2 -2
  51. package/dist/beeq/p-d2bbae3b.entry.js.map +1 -0
  52. package/dist/beeq/{p-bcc85103.entry.js → p-ddb23180.entry.js} +2 -2
  53. package/dist/beeq/{p-67367b7d.entry.js → p-e6382462.entry.js} +2 -2
  54. package/dist/beeq/{p-554d0f45.entry.js → p-eab59153.entry.js} +2 -2
  55. package/dist/beeq/{p-02202605.entry.js → p-eddb77c7.entry.js} +2 -2
  56. package/dist/cjs/app-globals-b11284b9.js.map +1 -1
  57. package/dist/cjs/beeq.cjs.js +2 -2
  58. package/dist/cjs/bq-accordion-group.cjs.entry.js +1 -1
  59. package/dist/cjs/bq-accordion.cjs.entry.js +1 -1
  60. package/dist/cjs/bq-alert.cjs.entry.js +1 -1
  61. package/dist/cjs/bq-avatar.cjs.entry.js +1 -1
  62. package/dist/cjs/bq-badge.cjs.entry.js +1 -1
  63. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +1 -1
  64. package/dist/cjs/bq-breadcrumb.cjs.entry.js +1 -1
  65. package/dist/cjs/bq-button_2.cjs.entry.js +23 -19
  66. package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
  67. package/dist/cjs/bq-card.cjs.entry.js +1 -1
  68. package/dist/cjs/bq-checkbox.cjs.entry.js +56 -5
  69. package/dist/cjs/bq-checkbox.cjs.entry.js.map +1 -1
  70. package/dist/cjs/bq-date-picker.cjs.entry.js +1 -1
  71. package/dist/cjs/bq-dialog.cjs.entry.js +2 -2
  72. package/dist/cjs/bq-divider.cjs.entry.js +1 -1
  73. package/dist/cjs/bq-drawer.cjs.entry.js +6 -6
  74. package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
  75. package/dist/cjs/bq-dropdown_2.cjs.entry.js +2 -2
  76. package/dist/cjs/bq-empty-state.cjs.entry.js +1 -1
  77. package/dist/cjs/bq-input.cjs.entry.js +41 -14
  78. package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
  79. package/dist/cjs/bq-notification.cjs.entry.js +1 -1
  80. package/dist/cjs/bq-option-group.cjs.entry.js +1 -1
  81. package/dist/cjs/bq-option-list_2.cjs.entry.js +4 -4
  82. package/dist/cjs/bq-option.cjs.entry.js +1 -1
  83. package/dist/cjs/bq-page-title.cjs.entry.js +1 -1
  84. package/dist/cjs/bq-progress.cjs.entry.js +1 -1
  85. package/dist/cjs/bq-radio-group.cjs.entry.js +1 -1
  86. package/dist/cjs/bq-radio.cjs.entry.js +1 -1
  87. package/dist/cjs/bq-select.cjs.entry.js +74 -26
  88. package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
  89. package/dist/cjs/bq-side-menu-item.cjs.entry.js +1 -1
  90. package/dist/cjs/bq-side-menu.cjs.entry.js +1 -1
  91. package/dist/cjs/bq-slider.cjs.entry.js +1 -1
  92. package/dist/cjs/bq-spinner.cjs.entry.js +1 -1
  93. package/dist/cjs/bq-status.cjs.entry.js +1 -1
  94. package/dist/cjs/bq-step-item.cjs.entry.js +1 -1
  95. package/dist/cjs/bq-steps.cjs.entry.js +1 -1
  96. package/dist/cjs/bq-switch.cjs.entry.js +1 -1
  97. package/dist/cjs/bq-tab-group.cjs.entry.js +31 -15
  98. package/dist/cjs/bq-tab-group.cjs.entry.js.map +1 -1
  99. package/dist/cjs/bq-tab.cjs.entry.js +13 -7
  100. package/dist/cjs/bq-tab.cjs.entry.js.map +1 -1
  101. package/dist/cjs/bq-tab.types-a8b320b0.js +15 -0
  102. package/dist/cjs/bq-tab.types-a8b320b0.js.map +1 -0
  103. package/dist/cjs/bq-textarea.cjs.entry.js +4 -4
  104. package/dist/cjs/bq-toast.cjs.entry.js +2 -2
  105. package/dist/cjs/bq-tooltip.cjs.entry.js +3 -3
  106. package/dist/cjs/{index-a09d1c08.js → index-e4c116b6.js} +12 -9
  107. package/dist/cjs/index-e4c116b6.js.map +1 -0
  108. package/dist/cjs/{index-76b0999c.js → index-e6d59dbb.js} +30 -2
  109. package/dist/cjs/index-e6d59dbb.js.map +1 -0
  110. package/dist/cjs/loader.cjs.js +2 -2
  111. package/dist/collection/components/checkbox/bq-checkbox.js +67 -3
  112. package/dist/collection/components/checkbox/bq-checkbox.js.map +1 -1
  113. package/dist/collection/components/dialog/scss/bq-dialog.css +1 -1
  114. package/dist/collection/components/drawer/bq-drawer.js +7 -5
  115. package/dist/collection/components/drawer/bq-drawer.js.map +1 -1
  116. package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
  117. package/dist/collection/components/icon/helper/request.js +23 -19
  118. package/dist/collection/components/icon/helper/request.js.map +1 -1
  119. package/dist/collection/components/input/bq-input.js +34 -13
  120. package/dist/collection/components/input/bq-input.js.map +1 -1
  121. package/dist/collection/components/select/bq-select.js +68 -26
  122. package/dist/collection/components/select/bq-select.js.map +1 -1
  123. package/dist/collection/components/select/scss/bq-select.css +1 -1
  124. package/dist/collection/components/tab/bq-tab.js +62 -4
  125. package/dist/collection/components/tab/bq-tab.js.map +1 -1
  126. package/dist/collection/components/tab/bq-tab.types.js +2 -0
  127. package/dist/collection/components/tab/bq-tab.types.js.map +1 -1
  128. package/dist/collection/components/tab/scss/bq-tab.css +1 -1
  129. package/dist/collection/components/tab-group/bq-tab-group.js +81 -14
  130. package/dist/collection/components/tab-group/bq-tab-group.js.map +1 -1
  131. package/dist/collection/components/tab-group/scss/bq-tab-group.css +1 -1
  132. package/dist/collection/components/tag/bq-tag.js +3 -3
  133. package/dist/collection/components/textarea/bq-textarea.js +3 -3
  134. package/dist/collection/components/toast/bq-toast.js +1 -1
  135. package/dist/collection/components/tooltip/bq-tooltip.js +1 -1
  136. package/dist/components/bq-checkbox.js +53 -6
  137. package/dist/components/bq-checkbox.js.map +1 -1
  138. package/dist/components/bq-dialog.js +1 -1
  139. package/dist/components/bq-drawer.js +5 -5
  140. package/dist/components/bq-drawer.js.map +1 -1
  141. package/dist/components/bq-icon2.js +23 -19
  142. package/dist/components/bq-icon2.js.map +1 -1
  143. package/dist/components/bq-input.js +35 -13
  144. package/dist/components/bq-input.js.map +1 -1
  145. package/dist/components/bq-select.js +68 -25
  146. package/dist/components/bq-select.js.map +1 -1
  147. package/dist/components/bq-tab-group.js +36 -16
  148. package/dist/components/bq-tab-group.js.map +1 -1
  149. package/dist/components/bq-tab.js +17 -7
  150. package/dist/components/bq-tab.js.map +1 -1
  151. package/dist/components/bq-tab.types.js +3 -1
  152. package/dist/components/bq-tab.types.js.map +1 -1
  153. package/dist/components/bq-tag2.js +3 -3
  154. package/dist/components/bq-textarea.js +3 -3
  155. package/dist/components/bq-toast.js +1 -1
  156. package/dist/components/bq-tooltip2.js +1 -1
  157. package/dist/components/index2.js +11 -8
  158. package/dist/components/index2.js.map +1 -1
  159. package/dist/esm/app-globals-de5a646b.js.map +1 -1
  160. package/dist/esm/beeq.js +3 -3
  161. package/dist/esm/bq-accordion-group.entry.js +1 -1
  162. package/dist/esm/bq-accordion.entry.js +1 -1
  163. package/dist/esm/bq-alert.entry.js +1 -1
  164. package/dist/esm/bq-avatar.entry.js +1 -1
  165. package/dist/esm/bq-badge.entry.js +1 -1
  166. package/dist/esm/bq-breadcrumb-item.entry.js +1 -1
  167. package/dist/esm/bq-breadcrumb.entry.js +1 -1
  168. package/dist/esm/bq-button_2.entry.js +23 -19
  169. package/dist/esm/bq-button_2.entry.js.map +1 -1
  170. package/dist/esm/bq-card.entry.js +1 -1
  171. package/dist/esm/bq-checkbox.entry.js +56 -5
  172. package/dist/esm/bq-checkbox.entry.js.map +1 -1
  173. package/dist/esm/bq-date-picker.entry.js +1 -1
  174. package/dist/esm/bq-dialog.entry.js +2 -2
  175. package/dist/esm/bq-divider.entry.js +1 -1
  176. package/dist/esm/bq-drawer.entry.js +6 -6
  177. package/dist/esm/bq-drawer.entry.js.map +1 -1
  178. package/dist/esm/bq-dropdown_2.entry.js +2 -2
  179. package/dist/esm/bq-empty-state.entry.js +1 -1
  180. package/dist/esm/bq-input.entry.js +41 -14
  181. package/dist/esm/bq-input.entry.js.map +1 -1
  182. package/dist/esm/bq-notification.entry.js +1 -1
  183. package/dist/esm/bq-option-group.entry.js +1 -1
  184. package/dist/esm/bq-option-list_2.entry.js +4 -4
  185. package/dist/esm/bq-option.entry.js +1 -1
  186. package/dist/esm/bq-page-title.entry.js +1 -1
  187. package/dist/esm/bq-progress.entry.js +1 -1
  188. package/dist/esm/bq-radio-group.entry.js +1 -1
  189. package/dist/esm/bq-radio.entry.js +1 -1
  190. package/dist/esm/bq-select.entry.js +74 -26
  191. package/dist/esm/bq-select.entry.js.map +1 -1
  192. package/dist/esm/bq-side-menu-item.entry.js +1 -1
  193. package/dist/esm/bq-side-menu.entry.js +1 -1
  194. package/dist/esm/bq-slider.entry.js +1 -1
  195. package/dist/esm/bq-spinner.entry.js +1 -1
  196. package/dist/esm/bq-status.entry.js +1 -1
  197. package/dist/esm/bq-step-item.entry.js +1 -1
  198. package/dist/esm/bq-steps.entry.js +1 -1
  199. package/dist/esm/bq-switch.entry.js +1 -1
  200. package/dist/esm/bq-tab-group.entry.js +31 -15
  201. package/dist/esm/bq-tab-group.entry.js.map +1 -1
  202. package/dist/esm/bq-tab.entry.js +13 -7
  203. package/dist/esm/bq-tab.entry.js.map +1 -1
  204. package/dist/esm/bq-tab.types-36e2666e.js +11 -0
  205. package/dist/esm/bq-tab.types-36e2666e.js.map +1 -0
  206. package/dist/esm/bq-textarea.entry.js +4 -4
  207. package/dist/esm/bq-toast.entry.js +2 -2
  208. package/dist/esm/bq-tooltip.entry.js +3 -3
  209. package/dist/esm/{index-138f308e.js → index-136429a6.js} +12 -9
  210. package/dist/esm/index-136429a6.js.map +1 -0
  211. package/dist/esm/{index-7eed7a88.js → index-efc1c2ef.js} +30 -2
  212. package/dist/esm/index-efc1c2ef.js.map +1 -0
  213. package/dist/esm/loader.js +3 -3
  214. package/dist/hydrate/index.js +294 -105
  215. package/dist/hydrate/index.mjs +294 -105
  216. package/dist/stencil.config.js +1 -4
  217. package/dist/stencil.config.js.map +1 -1
  218. package/dist/types/components/checkbox/bq-checkbox.d.ts +9 -0
  219. package/dist/types/components/drawer/bq-drawer.d.ts +3 -1
  220. package/dist/types/components/input/bq-input.d.ts +4 -1
  221. package/dist/types/components/select/bq-select.d.ts +18 -0
  222. package/dist/types/components/tab/bq-tab.d.ts +5 -1
  223. package/dist/types/components/tab/bq-tab.types.d.ts +4 -0
  224. package/dist/types/components/tab-group/bq-tab-group.d.ts +5 -1
  225. package/dist/types/components.d.ts +42 -2
  226. package/package.json +24 -24
  227. package/dist/beeq/p-0f528ec6.js +0 -6
  228. package/dist/beeq/p-0f528ec6.js.map +0 -1
  229. package/dist/beeq/p-1d3f236b.entry.js +0 -6
  230. package/dist/beeq/p-1d3f236b.entry.js.map +0 -1
  231. package/dist/beeq/p-3a1f06e1.entry.js +0 -6
  232. package/dist/beeq/p-3a1f06e1.entry.js.map +0 -1
  233. package/dist/beeq/p-463a17cf.js +0 -7
  234. package/dist/beeq/p-463a17cf.js.map +0 -1
  235. package/dist/beeq/p-48b27aef.entry.js +0 -6
  236. package/dist/beeq/p-48b27aef.entry.js.map +0 -1
  237. package/dist/beeq/p-68fdea6a.js +0 -6
  238. package/dist/beeq/p-68fdea6a.js.map +0 -1
  239. package/dist/beeq/p-7567ae06.entry.js +0 -6
  240. package/dist/beeq/p-7567ae06.entry.js.map +0 -1
  241. package/dist/beeq/p-aae41e31.entry.js.map +0 -1
  242. package/dist/beeq/p-cec068b9.entry.js.map +0 -1
  243. package/dist/beeq/p-ec4a6d10.entry.js.map +0 -1
  244. package/dist/cjs/bq-tab.types-9fe0234a.js +0 -11
  245. package/dist/cjs/bq-tab.types-9fe0234a.js.map +0 -1
  246. package/dist/cjs/index-76b0999c.js.map +0 -1
  247. package/dist/cjs/index-a09d1c08.js.map +0 -1
  248. package/dist/esm/bq-tab.types-f64aa67d.js +0 -9
  249. package/dist/esm/bq-tab.types-f64aa67d.js.map +0 -1
  250. package/dist/esm/index-138f308e.js.map +0 -1
  251. package/dist/esm/index-7eed7a88.js.map +0 -1
  252. /package/dist/beeq/{p-a062b9c4.entry.js.map → p-235328ee.entry.js.map} +0 -0
  253. /package/dist/beeq/{p-c88ca7e9.entry.js.map → p-255fcbe4.entry.js.map} +0 -0
  254. /package/dist/beeq/{p-5402707e.entry.js.map → p-268dc1e3.entry.js.map} +0 -0
  255. /package/dist/beeq/{p-7691bdfc.entry.js.map → p-3aa41d80.entry.js.map} +0 -0
  256. /package/dist/beeq/{p-6b824dba.entry.js.map → p-3b2ce34b.entry.js.map} +0 -0
  257. /package/dist/beeq/{p-a2157e4d.entry.js.map → p-41bac721.entry.js.map} +0 -0
  258. /package/dist/beeq/{p-d9a3844f.entry.js.map → p-4739f5c3.entry.js.map} +0 -0
  259. /package/dist/beeq/{p-889e6317.entry.js.map → p-4ba2bec7.entry.js.map} +0 -0
  260. /package/dist/beeq/{p-d4ca1283.entry.js.map → p-52577f3a.entry.js.map} +0 -0
  261. /package/dist/beeq/{p-2e8e7e37.entry.js.map → p-571b40ff.entry.js.map} +0 -0
  262. /package/dist/beeq/{p-fbb780c2.entry.js.map → p-606c080c.entry.js.map} +0 -0
  263. /package/dist/beeq/{p-21a51ee0.entry.js.map → p-633319f3.entry.js.map} +0 -0
  264. /package/dist/beeq/{p-8b870d05.entry.js.map → p-6e026fad.entry.js.map} +0 -0
  265. /package/dist/beeq/{p-4291b23f.entry.js.map → p-79b7547b.entry.js.map} +0 -0
  266. /package/dist/beeq/{p-a453d36c.entry.js.map → p-7f23cde7.entry.js.map} +0 -0
  267. /package/dist/beeq/{p-4f8ce653.entry.js.map → p-8059836c.entry.js.map} +0 -0
  268. /package/dist/beeq/{p-64835973.entry.js.map → p-90c5851d.entry.js.map} +0 -0
  269. /package/dist/beeq/{p-3711298a.entry.js.map → p-94d62f1b.entry.js.map} +0 -0
  270. /package/dist/beeq/{p-61c97bdc.entry.js.map → p-96d7f361.entry.js.map} +0 -0
  271. /package/dist/beeq/{p-a9ca89e7.entry.js.map → p-9cd26e8d.entry.js.map} +0 -0
  272. /package/dist/beeq/{p-bcf6e585.entry.js.map → p-9f40249f.entry.js.map} +0 -0
  273. /package/dist/beeq/{p-9c3030c7.entry.js.map → p-a006be9e.entry.js.map} +0 -0
  274. /package/dist/beeq/{p-b2c55a62.entry.js.map → p-a7b0fd0b.entry.js.map} +0 -0
  275. /package/dist/beeq/{p-c3e33045.entry.js.map → p-ae8ffb81.entry.js.map} +0 -0
  276. /package/dist/beeq/{p-39f3d9d2.entry.js.map → p-b7281046.entry.js.map} +0 -0
  277. /package/dist/beeq/{p-d62cad31.entry.js.map → p-b90c6de9.entry.js.map} +0 -0
  278. /package/dist/beeq/{p-f7d3f428.entry.js.map → p-be664fb0.entry.js.map} +0 -0
  279. /package/dist/beeq/{p-819acf02.entry.js.map → p-c9c942e6.entry.js.map} +0 -0
  280. /package/dist/beeq/{p-bcc85103.entry.js.map → p-ddb23180.entry.js.map} +0 -0
  281. /package/dist/beeq/{p-67367b7d.entry.js.map → p-e6382462.entry.js.map} +0 -0
  282. /package/dist/beeq/{p-554d0f45.entry.js.map → p-eab59153.entry.js.map} +0 -0
  283. /package/dist/beeq/{p-02202605.entry.js.map → p-eddb77c7.entry.js.map} +0 -0
  284. /package/dist/types/{home/runner/work/BEEQ/BEEQ → Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System}/packages/beeq/.stencil/packages/beeq/stencil.config.d.ts +0 -0
  285. /package/dist/types/{home/runner/work/BEEQ/BEEQ → Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System}/packages/beeq/.stencil/tailwind.config.d.ts +0 -0
@@ -2,13 +2,13 @@
2
2
  * Built by Endavans
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
- import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
5
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
6
6
  import './assetsPath.js';
7
7
  import { d as debounce } from './debounce.js';
8
8
  import { i as isHTMLElement } from './isHTMLElement.js';
9
9
  import { i as isNil } from './isNil.js';
10
10
  import { v as validatePropValue } from './props.js';
11
- import { T as TAB_SIZE } from './bq-tab.types.js';
11
+ import { T as TAB_SIZE, a as TAB_ORIENTATION, b as TAB_PLACEMENT } from './bq-tab.types.js';
12
12
 
13
13
  /**
14
14
  * Gets the next element that is not disabled
@@ -33,7 +33,7 @@ const getNextIndex = (currentIndex, length, direction) => {
33
33
  return (length + nextIndex) % length;
34
34
  };
35
35
 
36
- const bqTabGroupCss = "::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{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);font-family:var(--bq-font-family);line-height:var(--bq-font-line-height--regular);min-height:100vh;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}}: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.light,.light,:root,[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-200);--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}.beeq.dark,.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-800);--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}.endava,[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,[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-200);--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-800);--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}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.block{display:block}.flex{display:flex}.hidden{display:none}.w-full{width:100%}.gap-xs2{gap:var(--bq-spacing-xs2)}.border-0{border-width:0}.border-b-s{border-bottom-width:var(--bq-stroke-s)}.border-solid{border-style:solid}.border-bg-tertiary{border-color:var(--bq-background--tertiary)}.p-xs2{padding:var(--bq-spacing-xs2)}.content-empty{--tw-content:\"\";content:var(--tw-content)}.content-none{--tw-content:none;content:var(--tw-content)}@-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{display:block}.bq-tab-group{position:relative}.bq-tab-group:after{--tw-content:\"\";border-width:0;border-bottom-width:var(--bq-stroke-s);border-color:var(--bq-background--tertiary);border-style:solid;bottom:0;content:var(--tw-content);display:flex;position:absolute;width:100%}.bq-tab-group.no-divider:after{--tw-content:none;content:var(--tw-content)}.bq-tab-group--container{-ms-overflow-style:none;gap:var(--bq-spacing-xs2);padding:var(--bq-spacing-xs2);scrollbar-width:none}.bq-tab-group--container::-webkit-scrollbar{display:none}.static{position:static}.overflow-x-auto{overflow-x:auto}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ms-\\[--bq-tab--label-icon-gap\\]{margin-inline-start:var(--bq-tab--label-icon-gap)}.line-clamp-1{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden}.items-center{align-items:center}.justify-center{justify-content:center}.text-text-brand{color:var(--bq-text--brand)}.text-text-primary{color:var(--bq-text--primary)}.underline{text-decoration-line:underline}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}";
36
+ const bqTabGroupCss = "::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{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);font-family:var(--bq-font-family);line-height:var(--bq-font-line-height--regular);min-height:100vh;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}}: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.light,.light,:root,[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-200);--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}.beeq.dark,.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-800);--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}.endava,[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,[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-200);--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-800);--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}.absolute{position:absolute}.relative{position:relative}.end-0{inset-inline-end:0}.start-0{inset-inline-start:0}.block{display:block}.flex{display:flex}.hidden{display:none}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-xs2{gap:var(--bq-spacing-xs2)}.border-0{border-width:0}.border-solid{border-style:solid}.border-bg-tertiary{border-color:var(--bq-background--tertiary)}.p-xs2{padding:var(--bq-spacing-xs2)}.content-empty{--tw-content:\"\";content:var(--tw-content)}.content-none{--tw-content:none;content:var(--tw-content)}.bs-full{block-size:100%}.is-0{inline-size:0}.is-full{inline-size:100%}.inset-be-0{inset-block-end:0}.\\[border-block-end-width\\:--bq-stroke-s\\]{border-block-end-width:var(--bq-stroke-s)}.\\[border-block-end-width\\:0px\\]{border-block-end-width:0}.\\[border-inline-end-width\\:--bq-stroke-s\\]{border-inline-end-width:var(--bq-stroke-s)}.\\[border-inline-start-width\\:--bq-stroke-s\\]{border-inline-start-width:var(--bq-stroke-s)}@-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{display:block}.bq-tab-group{position:relative}.bq-tab-group:after{--tw-content:\"\";border-color:var(--bq-background--tertiary);border-style:solid;border-width:0;content:var(--tw-content);display:flex;position:absolute}.bq-tab-group--horizontal-end:after,.bq-tab-group--horizontal-start:after{border-block-end-width:var(--bq-stroke-s);inline-size:100%;inset-block-end:0}.bq-tab-group--horizontal-start{justify-content:flex-start}.bq-tab-group--horizontal-end{justify-content:flex-end}.bq-tab-group--vertical-start:after{block-size:100%;border-block-end-width:0;border-inline-end-width:var(--bq-stroke-s);inline-size:0;inset-inline-end:0}.bq-tab-group--vertical-end:after{block-size:100%;border-block-end-width:0;border-inline-start-width:var(--bq-stroke-s);inline-size:0;inset-inline-start:0}.bq-tab-group.no-divider:after{--tw-content:none;content:var(--tw-content)}.bq-tab-group--container{-ms-overflow-style:none;gap:var(--bq-spacing-xs2);padding:var(--bq-spacing-xs2);scrollbar-width:none}.bq-tab-group--container::-webkit-scrollbar{display:none}.static{position:static}.inline-block{display:inline-block}.flex-col{flex-direction:column}.overflow-x-auto{overflow-x:auto}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ms-\\[--bq-tab--label-icon-gap\\]{margin-inline-start:var(--bq-tab--label-icon-gap)}.line-clamp-1{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden}.items-center{align-items:center}.justify-center{justify-content:center}.text-text-brand{color:var(--bq-text--brand)}.text-text-primary{color:var(--bq-text--primary)}.underline{text-decoration-line:underline}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}";
37
37
  const BqTabGroupStyle0 = bqTabGroupCss;
38
38
 
39
39
  const BqTabGroup$1 = /*@__PURE__*/ proxyCustomElement(class BqTabGroup extends HTMLElement {
@@ -97,6 +97,8 @@ const BqTabGroup$1 = /*@__PURE__*/ proxyCustomElement(class BqTabGroup extends H
97
97
  };
98
98
  this.value = undefined;
99
99
  this.size = 'medium';
100
+ this.orientation = 'horizontal';
101
+ this.placement = 'start';
100
102
  this.debounceTime = 0;
101
103
  this.disableDivider = false;
102
104
  }
@@ -115,8 +117,12 @@ const BqTabGroup$1 = /*@__PURE__*/ proxyCustomElement(class BqTabGroup extends H
115
117
  }
116
118
  checkPropValues() {
117
119
  validatePropValue(TAB_SIZE, 'medium', this.el, 'size');
120
+ validatePropValue(TAB_ORIENTATION, 'horizontal', this.el, 'orientation');
121
+ validatePropValue(TAB_PLACEMENT, 'start', this.el, 'placement');
118
122
  this.bqTabElements.forEach((bqTabElement) => {
119
123
  bqTabElement.size = this.size;
124
+ bqTabElement.orientation = this.orientation;
125
+ bqTabElement.placement = this.placement;
120
126
  bqTabElement.active = !isNil(this.value) ? bqTabElement.tabId === this.value : false;
121
127
  });
122
128
  }
@@ -146,18 +152,20 @@ const BqTabGroup$1 = /*@__PURE__*/ proxyCustomElement(class BqTabGroup extends H
146
152
  }
147
153
  async onBqKeyDown(event) {
148
154
  const { target } = event;
155
+ // NOTE: ensures the target is an HTML element with the tag name 'bq-tab'
149
156
  if (!isHTMLElement(target, 'bq-tab'))
150
157
  return;
151
- switch (event.detail.key) {
152
- case 'ArrowRight': {
153
- await this.focusTabSibling(target, 'forward');
154
- break;
155
- }
156
- case 'ArrowLeft': {
157
- await this.focusTabSibling(target, 'backward');
158
- break;
159
- }
160
- }
158
+ const keyActions = {
159
+ ArrowDown: 'forward',
160
+ ArrowRight: 'forward',
161
+ ArrowUp: 'backward',
162
+ ArrowLeft: 'backward',
163
+ };
164
+ // NOTE: gets the direction based on key pressed
165
+ const direction = keyActions[event.detail.key];
166
+ if (!direction)
167
+ return;
168
+ await this.focusTabSibling(target, direction);
161
169
  }
162
170
  onBqBlur() {
163
171
  this.restoreTabsFocus();
@@ -169,24 +177,36 @@ const BqTabGroup$1 = /*@__PURE__*/ proxyCustomElement(class BqTabGroup extends H
169
177
  // Always the last one in the class.
170
178
  // ===================================
171
179
  render() {
172
- return (h("div", { key: 'ca0590192b8f620eaed21e3aeab02cff755184ff', class: { 'bq-tab-group flex w-full': true, 'no-divider': this.disableDivider }, part: "base" }, h("div", { key: '74ebc0e5a6541762e194f566e157bcb8c8b1ffd2', class: "bq-tab-group--container flex overflow-x-auto", role: "tablist", part: "tabs" }, h("slot", { key: '4f5753ff608227ad924282ddc119eea528d65907' }))));
180
+ return (h(Host, { key: '03e71370e936cdb6196a7204ab03e261fc242436', class: { 'inline-block': this.orientation === 'vertical' } }, h("div", { key: '833a873f450ab4697e6d0a7e7741332d61b99eb3', class: {
181
+ [`bq-tab-group bq-tab-group--${this.orientation}-${this.placement} flex is-full`]: true,
182
+ 'no-divider': this.disableDivider,
183
+ }, part: "base" }, h("div", { key: 'e2521b4ba3c23c820414bd28c7bd99543f94c460', class: {
184
+ 'bq-tab-group--container flex overflow-x-auto': true,
185
+ 'flex-col': this.orientation !== 'horizontal',
186
+ }, role: "tablist", part: "tabs" }, h("slot", { key: '830d424ebb92fac263e0fe98a3413bdfa6242a97' })))));
173
187
  }
174
188
  get el() { return this; }
175
189
  static get watchers() { return {
176
190
  "debounceTime": ["checkDebounceChange"],
177
191
  "size": ["checkPropValues"],
178
- "value": ["checkPropValues"]
192
+ "value": ["checkPropValues"],
193
+ "orientation": ["checkPropValues"],
194
+ "placement": ["checkPropValues"]
179
195
  }; }
180
196
  static get style() { return BqTabGroupStyle0; }
181
197
  }, [1, "bq-tab-group", {
182
198
  "value": [1537],
183
199
  "size": [513],
200
+ "orientation": [513],
201
+ "placement": [513],
184
202
  "debounceTime": [1538, "debounce-time"],
185
203
  "disableDivider": [516, "disable-divider"]
186
204
  }, [[19, "keyup", "onKeyUp"], [1, "bqClick", "onBqClick"], [1, "bqKeyDown", "onBqKeyDown"], [3, "bqBlur", "onBqBlur"]], {
187
205
  "debounceTime": ["checkDebounceChange"],
188
206
  "size": ["checkPropValues"],
189
- "value": ["checkPropValues"]
207
+ "value": ["checkPropValues"],
208
+ "orientation": ["checkPropValues"],
209
+ "placement": ["checkPropValues"]
190
210
  }]);
191
211
  function defineCustomElement$1() {
192
212
  if (typeof customElements === "undefined") {
@@ -1 +1 @@
1
- {"file":"bq-tab-group.js","mappings":"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","names":["BqTabGroup"],"sources":["../../packages/beeq/src/shared/utils/getNextElement.ts","../../packages/beeq/src/components/tab-group/scss/bq-tab-group.scss?tag=bq-tab-group&encapsulation=shadow","../../packages/beeq/src/components/tab-group/bq-tab-group.tsx"],"sourcesContent":["/**\n * Gets the next element that is not disabled\n *\n * @param {Array} elements - The array to search in\n * @param {Numebr} startAt - Position to start at\n * @param {String} direction - The direction to look on\n * @returns {Element} Next available element\n */\n\nexport const getNextElement = <T extends { disabled: boolean }>(\n elements: T[],\n startAt = 0,\n direction: 'forward' | 'backward' = 'forward',\n): T => {\n let elementIndex = startAt;\n\n do {\n elementIndex = getNextIndex(elementIndex, elements.length, direction);\n if (elementIndex === startAt) {\n break;\n }\n } while (elements[elementIndex].disabled);\n\n return elements[elementIndex];\n};\n\nconst getNextIndex = (currentIndex: number, length: number, direction: 'forward' | 'backward'): number => {\n const nextIndex = currentIndex + (direction === 'forward' ? 1 : -1);\n return (length + nextIndex) % length;\n};\n","/* -------------------------------------------------------------------------- */\n/* Tab styles */\n/* -------------------------------------------------------------------------- */\n\n:host {\n @apply block;\n}\n\n.bq-tab-group {\n @apply relative;\n\n &::after {\n @apply absolute bottom-0 flex w-full border-0 border-b-s border-solid border-bg-tertiary content-empty;\n }\n}\n\n.bq-tab-group.no-divider {\n &::after {\n @apply content-none;\n }\n}\n\n.bq-tab-group--container {\n @include hide-scrollbar;\n @apply gap-xs2 p-xs2; // This will avoid cutting the outline focus style\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Prop, Watch } from '@stencil/core';\n\nimport { debounce, getNextElement, isHTMLElement, isNil, TDebounce, validatePropValue } from '../../shared/utils';\nimport { TAB_SIZE, TTabSize } from '../tab/bq-tab.types';\n\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 string representing the id of the selected tab. */\n @Prop({ reflect: true, mutable: true }) value: string;\n\n /** The size of the tab */\n @Prop({ reflect: true }) size: TTabSize = 'medium';\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 // 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 checkPropValues() {\n validatePropValue(TAB_SIZE, 'medium', this.el, 'size');\n\n this.bqTabElements.forEach((bqTabElement) => {\n bqTabElement.size = this.size;\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) => (bqTabElement.active = bqTabElement === target));\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 if (!isHTMLElement(target, 'bq-tab')) return;\n\n switch (event.detail.key) {\n case 'ArrowRight': {\n await this.focusTabSibling(target, 'forward');\n break;\n }\n case 'ArrowLeft': {\n await this.focusTabSibling(target, 'backward');\n break;\n }\n default:\n }\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 <div class={{ 'bq-tab-group flex w-full': true, 'no-divider': this.disableDivider }} part=\"base\">\n <div class=\"bq-tab-group--container flex overflow-x-auto\" role=\"tablist\" part=\"tabs\">\n <slot />\n </div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"bq-tab-group.js","mappings":"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","names":["BqTabGroup"],"sources":["../../packages/beeq/src/shared/utils/getNextElement.ts","../../packages/beeq/src/components/tab-group/scss/bq-tab-group.scss?tag=bq-tab-group&encapsulation=shadow","../../packages/beeq/src/components/tab-group/bq-tab-group.tsx"],"sourcesContent":["/**\n * Gets the next element that is not disabled\n *\n * @param {Array} elements - The array to search in\n * @param {Numebr} startAt - Position to start at\n * @param {String} direction - The direction to look on\n * @returns {Element} Next available element\n */\n\nexport const getNextElement = <T extends { disabled: boolean }>(\n elements: T[],\n startAt = 0,\n direction: 'forward' | 'backward' = 'forward',\n): T => {\n let elementIndex = startAt;\n\n do {\n elementIndex = getNextIndex(elementIndex, elements.length, direction);\n if (elementIndex === startAt) {\n break;\n }\n } while (elements[elementIndex].disabled);\n\n return elements[elementIndex];\n};\n\nconst getNextIndex = (currentIndex: number, length: number, direction: 'forward' | 'backward'): number => {\n const nextIndex = currentIndex + (direction === 'forward' ? 1 : -1);\n return (length + nextIndex) % length;\n};\n","/* -------------------------------------------------------------------------- */\n/* Tab styles */\n/* -------------------------------------------------------------------------- */\n\n:host {\n @apply block;\n}\n\n.bq-tab-group {\n @apply relative;\n\n &::after {\n @apply absolute flex border-0 border-solid border-bg-tertiary content-empty;\n }\n\n &--horizontal-start,\n &--horizontal-end {\n &::after {\n @apply is-full inset-be-0 [border-block-end-width:--bq-stroke-s];\n }\n }\n\n &--horizontal-start {\n @apply justify-start;\n }\n\n &--horizontal-end {\n @apply justify-end;\n }\n\n &--vertical-start::after {\n @apply end-0 bs-full is-0 [border-block-end-width:0px] [border-inline-end-width:--bq-stroke-s];\n }\n\n &--vertical-end::after {\n @apply start-0 bs-full is-0 [border-block-end-width:0px] [border-inline-start-width:--bq-stroke-s];\n }\n}\n\n.bq-tab-group.no-divider {\n &::after {\n @apply content-none;\n }\n}\n\n.bq-tab-group--container {\n @include hide-scrollbar;\n @apply gap-xs2 p-xs2; // This will avoid cutting the outline focus style\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Prop, Watch } from '@stencil/core';\n\nimport { debounce, getNextElement, isHTMLElement, isNil, TDebounce, validatePropValue } from '../../shared/utils';\nimport {\n TAB_ORIENTATION,\n TAB_PLACEMENT,\n TAB_SIZE,\n TTabOrientation,\n TTabPlacement,\n TTabSize,\n} from '../tab/bq-tab.types';\n\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 string representing the id of the selected tab. */\n @Prop({ reflect: true, mutable: true }) value: string;\n\n /** The size of the tab */\n @Prop({ reflect: true }) size: TTabSize = 'medium';\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 /** 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 // 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) => (bqTabElement.active = bqTabElement === target));\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} flex is-full`]: 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 role=\"tablist\"\n part=\"tabs\"\n >\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -3,12 +3,12 @@
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
5
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
6
- import { T as TAB_SIZE } from './bq-tab.types.js';
6
+ import { T as TAB_SIZE, a as TAB_ORIENTATION, b as TAB_PLACEMENT } from './bq-tab.types.js';
7
7
  import './assetsPath.js';
8
8
  import { v as validatePropValue } from './props.js';
9
9
  import { b as hasSlotContent } from './slot.js';
10
10
 
11
- const bqTabCss = "::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{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);font-family:var(--bq-font-family);line-height:var(--bq-font-line-height--regular);min-height:100vh;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}}: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.light,.light,:root,[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-200);--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}.beeq.dark,.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-800);--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}.endava,[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,[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-200);--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-800);--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}.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))}.absolute{position:absolute}.relative{position:relative}.-bottom-1{bottom:-.25rem}.-left-xs3{left:calc(var(--bq-spacing-xs3)*-1)}.z-\\[1\\]{z-index:1}.mr-xs{margin-right:var(--bq-spacing-xs)}.mr-xs2{margin-right:var(--bq-spacing-xs2)}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.h-\\[2px\\]{height:2px}.w-\\[calc\\(100\\%_\\+_var\\(--bq-spacing-xs2\\)\\)\\]{width:calc(100% + var(--bq-spacing-xs2))}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-center{justify-content:center}.rounded-s{border-radius:var(--bq-radius--s)}.border-0{border-width:0}.bg-stroke-brand{background-color:var(--bq-stroke--brand)}.bg-transparent{background-color:transparent}.px-\\[--bq-tab--padding-horizontal-large\\]{padding-left:var(--bq-tab--padding-horizontal-large);padding-right:var(--bq-tab--padding-horizontal-large)}.px-\\[--bq-tab--padding-horizontal-medium\\]{padding-left:var(--bq-tab--padding-horizontal-medium);padding-right:var(--bq-tab--padding-horizontal-medium)}.px-\\[--bq-tab--padding-horizontal-small\\]{padding-left:var(--bq-tab--padding-horizontal-small);padding-right:var(--bq-tab--padding-horizontal-small)}.py-\\[--bq-tab--padding-vertical-large\\]{padding-bottom:var(--bq-tab--padding-vertical-large);padding-top:var(--bq-tab--padding-vertical-large)}.py-\\[--bq-tab--padding-vertical-medium\\]{padding-bottom:var(--bq-tab--padding-vertical-medium);padding-top:var(--bq-tab--padding-vertical-medium)}.py-\\[--bq-tab--padding-vertical-small\\]{padding-bottom:var(--bq-tab--padding-vertical-small);padding-top:var(--bq-tab--padding-vertical-small)}.text-\\[length\\:--bq-tab--font-size\\]{font-size:var(--bq-tab--font-size)}.text-l{font-size:var(--bq-font-size--l)}.font-\\[--bq-tab--font-weight\\]{font-weight:var(--bq-tab--font-weight)}.leading-\\[--bq-tab--line-height\\]{line-height:var(--bq-tab--line-height)}.opacity-0{opacity:0}.opacity-100{opacity:1}.transition-\\[color\\2c background-color\\2c border-color\\2c box-shadow\\]{transition-duration:.15s;transition-property:color,background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}@-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-tab--font-size:var(--bq-font-size--m);--bq-tab--font-weight:var(--bq-font-weight--medium);--bq-tab--line-height:var(--bq-font-line-height--regular);--bq-tab--label-icon-gap:var(--bq-spacing-xs);--bq-tab--padding-vertical-small:var(--bq-spacing-xs2);--bq-tab--padding-horizontal-small:var(--bq-spacing-m);--bq-tab--padding-vertical-medium:var(--bq-spacing-xs);--bq-tab--padding-horizontal-medium:var(--bq-spacing-l);--bq-tab--padding-vertical-large:var(--bq-spacing-s);--bq-tab--padding-horizontal-large:var(--bq-spacing-l);--bq-tab--icon-size-small:20px;--bq-tab--icon-size-medium:24px;--bq-tab--icon-size-large:24px;display:inline-block}.bq-tab{align-items:center;background-color:transparent;border-radius:var(--bq-radius--s);border-width:0;cursor:pointer;display:flex;font-size:var(--bq-tab--font-size);font-weight:var(--bq-tab--font-weight);justify-content:center;line-height:var(--bq-tab--line-height);position:relative;transition-duration:.3s;transition-property:color,background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.bq-tab:disabled{cursor:not-allowed;opacity:.6}.bq-tab:hover:not([disabled]){background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%);color:color-mix(in srgb,var(--bq-text--brand),var(--bq-hover) 20%)}.bq-tab: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-tab:after{--tw-content:\"\";background-color:var(--bq-stroke--brand);bottom:-.25rem;content:var(--tw-content);display:block;height:2px;left:calc(var(--bq-spacing-xs3)*-1);opacity:0;position:absolute;transition-duration:.3s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:linear;width:calc(100% + var(--bq-spacing-xs2));z-index:1}.bq-tab[aria-selected=true]:after{opacity:1}.bq-tab--small{padding:var(--bq-tab--padding-vertical-small) var(--bq-tab--padding-horizontal-small)}.bq-tab--small ::slotted(bq-icon){--bq-icon--size:var(--bq-tab--icon-size-small)!important;margin-right:var(--bq-spacing-xs2)}.bq-tab--medium{padding:var(--bq-tab--padding-vertical-medium) var(--bq-tab--padding-horizontal-medium)}.bq-tab--medium ::slotted(bq-icon){--bq-icon--size:var(--bq-tab--icon-size-medium)!important;margin-right:var(--bq-spacing-xs)}.bq-tab--large{font-size:var(--bq-font-size--l);padding:var(--bq-tab--padding-vertical-large) var(--bq-tab--padding-horizontal-large)}.bq-tab--large ::slotted(bq-icon){--bq-icon--size:var(--bq-tab--icon-size-large)!important;margin-right:var(--bq-spacing-xs)}.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)}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.\\[\\&\\:not\\(\\[disabled\\]\\)\\]\\:hover\\:bg-hover-ui-primary:hover:not([disabled]){background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.static{position:static}.ms-\\[--bq-tab--label-icon-gap\\]{margin-inline-start:var(--bq-tab--label-icon-gap)}.line-clamp-1{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden}.text-text-brand{color:var(--bq-text--brand)}.text-text-primary{color:var(--bq-text--primary)}.underline{text-decoration-line:underline}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}";
11
+ const bqTabCss = "::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{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);font-family:var(--bq-font-family);line-height:var(--bq-font-line-height--regular);min-height:100vh;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}}: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.light,.light,:root,[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-200);--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}.beeq.dark,.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-800);--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}.endava,[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,[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-200);--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-800);--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}.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))}.absolute{position:absolute}.relative{position:relative}.-end-xs2{inset-inline-end:calc(var(--bq-spacing-xs2)*-1)}.-start-xs2{inset-inline-start:calc(var(--bq-spacing-xs2)*-1)}.-start-xs3{inset-inline-start:calc(var(--bq-spacing-xs3)*-1)}.z-\\[1\\]{z-index:1}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.rounded-s{border-radius:var(--bq-radius--s)}.border-0{border-width:0}.bg-stroke-brand{background-color:var(--bq-stroke--brand)}.bg-transparent{background-color:transparent}.text-\\[length\\:--bq-tab--font-size\\]{font-size:var(--bq-tab--font-size)}.text-l{font-size:var(--bq-font-size--l)}.font-\\[--bq-tab--font-weight\\]{font-weight:var(--bq-tab--font-weight)}.leading-\\[--bq-tab--line-height\\]{line-height:var(--bq-tab--line-height)}.opacity-0{opacity:0}.opacity-100{opacity:1}.transition-\\[color\\2c background-color\\2c border-color\\2c box-shadow\\]{transition-duration:.15s;transition-property:color,background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-linear{transition-timing-function:linear}.content-empty{--tw-content:\"\";content:var(--tw-content)}.bs-\\[2px\\]{block-size:2px}.bs-\\[calc\\(100\\%_\\+_var\\(--bq-spacing-xs2\\)\\)\\]{block-size:calc(100% + var(--bq-spacing-xs2))}.is-\\[2px\\]{inline-size:2px}.is-\\[calc\\(100\\%_\\+_var\\(--bq-spacing-xs2\\)\\)\\]{inline-size:calc(100% + var(--bq-spacing-xs2))}.is-full{inline-size:100%}.p-b-\\[--bq-tab--padding-vertical-large\\]{padding-block:var(--bq-tab--padding-vertical-large)}.p-b-\\[--bq-tab--padding-vertical-medium\\]{padding-block:var(--bq-tab--padding-vertical-medium)}.p-b-\\[--bq-tab--padding-vertical-small\\]{padding-block:var(--bq-tab--padding-vertical-small)}.p-i-\\[--bq-tab--padding-horizontal-large\\]{padding-inline:var(--bq-tab--padding-horizontal-large)}.p-i-\\[--bq-tab--padding-horizontal-medium\\]{padding-inline:var(--bq-tab--padding-horizontal-medium)}.p-i-\\[--bq-tab--padding-horizontal-small\\]{padding-inline:var(--bq-tab--padding-horizontal-small)}@-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-tab--font-size:var(--bq-font-size--m);--bq-tab--font-weight:var(--bq-font-weight--medium);--bq-tab--line-height:var(--bq-font-line-height--regular);--bq-tab--label-icon-gap:var(--bq-spacing-xs);--bq-tab--padding-vertical-small:var(--bq-spacing-xs2);--bq-tab--padding-horizontal-small:var(--bq-spacing-m);--bq-tab--padding-vertical-medium:var(--bq-spacing-xs);--bq-tab--padding-horizontal-medium:var(--bq-spacing-l);--bq-tab--padding-vertical-large:var(--bq-spacing-s);--bq-tab--padding-horizontal-large:var(--bq-spacing-l);--bq-tab--icon-size-small:20px;--bq-tab--icon-size-medium:24px;--bq-tab--icon-size-large:24px;display:inline-block}.bq-tab{align-items:center;background-color:transparent;border-radius:var(--bq-radius--s);border-width:0;cursor:pointer;display:flex;font-size:var(--bq-tab--font-size);font-weight:var(--bq-tab--font-weight);justify-content:center;line-height:var(--bq-tab--line-height);position:relative;transition-duration:.3s;transition-property:color,background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.bq-tab:disabled{cursor:not-allowed;opacity:.6}.bq-tab:hover:not([disabled]){background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%);color:color-mix(in srgb,var(--bq-text--brand),var(--bq-hover) 20%)}.bq-tab: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-tab:after{--tw-content:\"\";background-color:var(--bq-stroke--brand);content:var(--tw-content);display:block;inset-block-end:-.25rem;opacity:0;position:absolute;transition-duration:.3s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:linear;z-index:1}.bq-tab--horizontal-end:after,.bq-tab--horizontal-start:after{block-size:2px;inline-size:calc(100% + var(--bq-spacing-xs2));inset-inline-start:calc(var(--bq-spacing-xs3)*-1)}.bq-tab--vertical-start{inline-size:100%;justify-content:flex-end}.bq-tab--vertical-start:after{block-size:calc(100% + var(--bq-spacing-xs2));inline-size:2px;inset-inline-end:calc(var(--bq-spacing-xs2)*-1)}.bq-tab--vertical-end{inline-size:100%;justify-content:flex-start}.bq-tab--vertical-end:after{block-size:calc(100% + var(--bq-spacing-xs2));inline-size:2px;inset-inline-start:calc(var(--bq-spacing-xs2)*-1)}.bq-tab[aria-selected=true]:after{opacity:1}.bq-tab--small{padding-block:var(--bq-tab--padding-vertical-small);padding-inline:var(--bq-tab--padding-horizontal-small)}.bq-tab--small ::slotted(bq-icon){--bq-icon--size:var(--bq-tab--icon-size-small)!important}.bq-tab--medium{padding-block:var(--bq-tab--padding-vertical-medium);padding-inline:var(--bq-tab--padding-horizontal-medium)}.bq-tab--medium ::slotted(bq-icon){--bq-icon--size:var(--bq-tab--icon-size-medium)!important}.bq-tab--large{font-size:var(--bq-font-size--l);padding-block:var(--bq-tab--padding-vertical-large);padding-inline:var(--bq-tab--padding-horizontal-large)}.bq-tab--large ::slotted(bq-icon){--bq-icon--size:var(--bq-tab--icon-size-large)!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)}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.\\[\\&\\:not\\(\\[disabled\\]\\)\\]\\:hover\\:bg-hover-ui-primary:hover:not([disabled]){background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.static{position:static}.ms-\\[--bq-tab--label-icon-gap\\]{margin-inline-start:var(--bq-tab--label-icon-gap)}.line-clamp-1{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden}.text-text-brand{color:var(--bq-text--brand)}.text-text-primary{color:var(--bq-text--primary)}.underline{text-decoration-line:underline}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}";
12
12
  const BqTabStyle0 = bqTabCss;
13
13
 
14
14
  const BqTab$1 = /*@__PURE__*/ proxyCustomElement(class BqTab extends HTMLElement {
@@ -45,6 +45,8 @@ const BqTab$1 = /*@__PURE__*/ proxyCustomElement(class BqTab extends HTMLElement
45
45
  this.active = undefined;
46
46
  this.disabled = false;
47
47
  this.size = 'medium';
48
+ this.orientation = 'horizontal';
49
+ this.placement = 'start';
48
50
  this.tabId = undefined;
49
51
  this.controls = undefined;
50
52
  }
@@ -52,6 +54,8 @@ const BqTab$1 = /*@__PURE__*/ proxyCustomElement(class BqTab extends HTMLElement
52
54
  // =======================
53
55
  checkPropValues() {
54
56
  validatePropValue(TAB_SIZE, 'medium', this.el, 'size');
57
+ validatePropValue(TAB_ORIENTATION, 'horizontal', this.el, 'orientation');
58
+ validatePropValue(TAB_PLACEMENT, 'start', this.el, 'placement');
55
59
  }
56
60
  // Component lifecycle events
57
61
  // Ordered by their natural call order
@@ -107,21 +111,25 @@ const BqTab$1 = /*@__PURE__*/ proxyCustomElement(class BqTab extends HTMLElement
107
111
  // Always the last one in the class.
108
112
  // ===================================
109
113
  render() {
110
- return (h("button", { key: '316120d40130504ac383f2f0d0bf9568f19c7de2', ref: (el) => (this.buttonElement = el), class: {
111
- [`bq-tab bq-tab--${this.size}`]: true,
114
+ return (h("button", { key: 'eda539eaa0be58cee0ef9fa2af2de0125ae62bd1', ref: (el) => (this.buttonElement = el), class: {
115
+ [`bq-tab bq-tab--${this.size} bq-tab--${this.orientation}-${this.placement}`]: true,
112
116
  'text-text-brand': this.active,
113
117
  'text-text-primary': !this.active,
114
- }, id: this.tabId, onBlur: this.handleOnBlur, onClick: this.handleClick, onFocus: this.handleOnFocus, onKeyDown: this.handleOnKeyDown, disabled: this.disabled, role: "tab", "aria-controls": this.controls, "aria-disabled": this.disabled ? 'true' : 'false', "aria-selected": this.active ? 'true' : 'false', tabindex: this.tabindex, part: "base" }, h("div", { key: 'b8f5d57dc1bad264607aefb58e5bc1f23d2ebf1a', class: "flex items-center justify-center", part: "content" }, h("div", { key: '62b9cb85f089a99c5fbd4a69239a831d0cc891fa', class: "flex", ref: (span) => (this.iconElement = span), part: "icon" }, h("slot", { key: '24dbf41aec3c69ee53f3d5f5c1fbe9848a7ae41b', name: "icon", onSlotchange: this.handleIconSlotChange })), h("div", { key: '0cce23e9b14420130fd45dfd4cc2ec8693de7646', class: { 'line-clamp-1': true, 'ms-[--bq-tab--label-icon-gap]': this.hasIcon }, part: "text" }, h("slot", { key: 'a875a862c8dfa432a1cbd59e757ee1c36a85a3b9' })))));
118
+ }, id: this.tabId, onBlur: this.handleOnBlur, onClick: this.handleClick, onFocus: this.handleOnFocus, onKeyDown: this.handleOnKeyDown, disabled: this.disabled, role: "tab", "aria-controls": this.controls, "aria-disabled": this.disabled ? 'true' : 'false', "aria-selected": this.active ? 'true' : 'false', tabindex: this.tabindex, part: "base" }, h("div", { key: '25a4a6a78af08b9915396fb2320dbbe586331d0a', class: "flex items-center justify-center", part: "content" }, h("div", { key: 'fc31213ded30b6c5b11d76a332fa01f84ae19c84', class: "flex", ref: (span) => (this.iconElement = span), part: "icon" }, h("slot", { key: '08a5a4b94d442cfbca016792907892051704f9c0', name: "icon", onSlotchange: this.handleIconSlotChange })), h("div", { key: 'e23d23d8bc84edf18f7005c8ed82c562dd7f431a', class: { 'line-clamp-1': true, 'ms-[--bq-tab--label-icon-gap]': this.hasIcon }, part: "text" }, h("slot", { key: '9019ba0be64f7feaf0af7fa08e6b1b50501000a4' })))));
115
119
  }
116
120
  get el() { return this; }
117
121
  static get watchers() { return {
118
- "size": ["checkPropValues"]
122
+ "size": ["checkPropValues"],
123
+ "orientation": ["checkPropValues"],
124
+ "placement": ["checkPropValues"]
119
125
  }; }
120
126
  static get style() { return BqTabStyle0; }
121
127
  }, [1, "bq-tab", {
122
128
  "active": [1540],
123
129
  "disabled": [516],
124
130
  "size": [513],
131
+ "orientation": [513],
132
+ "placement": [513],
125
133
  "tabId": [513, "tab-id"],
126
134
  "controls": [513],
127
135
  "tabIndex": [32],
@@ -131,7 +139,9 @@ const BqTab$1 = /*@__PURE__*/ proxyCustomElement(class BqTab extends HTMLElement
131
139
  "vBlur": [64],
132
140
  "enableFocus": [64]
133
141
  }, undefined, {
134
- "size": ["checkPropValues"]
142
+ "size": ["checkPropValues"],
143
+ "orientation": ["checkPropValues"],
144
+ "placement": ["checkPropValues"]
135
145
  }]);
136
146
  function defineCustomElement$1() {
137
147
  if (typeof customElements === "undefined") {
@@ -1 +1 @@
1
- {"file":"bq-tab.js","mappings":"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","names":["BqTab"],"sources":["../../packages/beeq/src/components/tab/scss/bq-tab.scss?tag=bq-tab&encapsulation=shadow","../../packages/beeq/src/components/tab/bq-tab.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Tab styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-tab.variables';\n\n:host {\n @apply inline-block;\n}\n\n.bq-tab {\n @apply relative flex cursor-pointer items-center justify-center rounded-s disabled:cursor-not-allowed disabled:opacity-60;\n @apply text-[length:--bq-tab--font-size] font-[--bq-tab--font-weight] leading-[--bq-tab--line-height] [&:not([disabled])]:hover:bg-hover-ui-primary [&:not([disabled])]:hover:text-hover-text-brand;\n @apply border-0 bg-transparent focus-visible:focus;\n @apply transition-[color,background-color,border-color,box-shadow] duration-300;\n\n &::after {\n @apply absolute -bottom-1 z-[1] block h-[2px] bg-stroke-brand opacity-0 content-empty;\n @apply transition-opacity duration-300 ease-linear;\n /**\n * This hack will make the underline larger so it fits till the tab bar edges for the first and last tab button,\n * because the parent container applies some padding to not cut the focus outline style.\n */\n @apply -left-xs3 w-[calc(100%_+_var(--bq-spacing-xs2))];\n }\n\n &[aria-selected='true']::after {\n @apply opacity-100;\n }\n\n &--small {\n @apply px-[--bq-tab--padding-horizontal-small] py-[--bq-tab--padding-vertical-small];\n\n ::slotted(bq-icon) {\n --bq-icon--size: var(--bq-tab--icon-size-small) #{!important};\n\n @apply mr-xs2;\n }\n }\n\n &--medium {\n @apply px-[--bq-tab--padding-horizontal-medium] py-[--bq-tab--padding-vertical-medium];\n\n ::slotted(bq-icon) {\n --bq-icon--size: var(--bq-tab--icon-size-medium) #{!important};\n\n @apply mr-xs;\n }\n }\n\n &--large {\n @apply px-[--bq-tab--padding-horizontal-large] py-[--bq-tab--padding-vertical-large] text-l;\n\n ::slotted(bq-icon) {\n --bq-icon--size: var(--bq-tab--icon-size-large) #{!important};\n\n @apply mr-xs;\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { TAB_SIZE, TTabSize } from './bq-tab.types';\nimport { hasSlotContent, validatePropValue } from '../../shared/utils';\n\n/**\n * @part base - The HTML button used under the hood.\n * @part content - The HTML `<div>` element that holds the content.\n * @part icon - The HTML `<div>` element that holds the icon content.\n * @part text - The HTML `<div>` element that holds the text content.\n * @part underline - The HTML `<div>` element that display active state.\n */\n@Component({\n tag: 'bq-tab',\n styleUrl: './scss/bq-tab.scss',\n shadow: true,\n})\nexport class BqTab {\n // Own Properties\n // ====================\n\n private buttonElement: HTMLButtonElement;\n private iconElement: HTMLSpanElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqTabElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() tabIndex: number | null = null;\n @State() hasIcon: boolean = false;\n\n // Public Property API\n // ========================\n\n /** If true tab is active */\n @Prop({ reflect: true, mutable: true }) active?: boolean;\n\n /** If true tab is disabled */\n @Prop({ reflect: true }) disabled = false;\n\n /** The size of the tab */\n @Prop({ reflect: true }) size: TTabSize = 'medium';\n\n /** The id of the tab */\n @Prop({ reflect: true }) tabId!: string;\n\n /** The tab panel id that the tab controls */\n @Prop({ reflect: true }) controls!: string;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('size')\n checkPropValues() {\n validatePropValue(TAB_SIZE, 'medium', this.el, 'size');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the tab state changes */\n @Event() bqClick: EventEmitter<HTMLBqTabElement>;\n\n /** Handler to be called when the tab gets focus */\n @Event() bqFocus: EventEmitter<HTMLBqTabElement>;\n\n /** Handler to be called when the tab loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqTabElement>;\n\n /** Handler to be called when the tab key is pressed */\n @Event() bqKeyDown: EventEmitter<KeyboardEvent>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\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 * Simulate a click event on the native `<button>` HTML element used under the hood.\n * Use this method instead of the global `element.click()`.\n */\n @Method()\n async vClick() {\n this.buttonElement?.click();\n }\n\n /**\n * Sets focus on the native `<button>` HTML element used under the hood.\n * Use this method instead of the global `element.focus()`.\n */\n @Method()\n async vFocus() {\n this.buttonElement?.focus();\n }\n\n /**\n * Remove focus from the native `<button>` HTML element used under the hood.\n * Use this method instead of the global `element.blur()`.\n */\n @Method()\n async vBlur() {\n this.buttonElement?.blur();\n }\n\n /**\n * Sets tabindex on the native `<button>` HTML element used under the hood.\n * This method is used inside `<bq-tab-group>` to make tab focusable after the active one is focused\n */\n @Method()\n async enableFocus(value: boolean) {\n this.tabIndex = value ? 0 : null;\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleClick = () => {\n this.active = true;\n this.bqClick.emit(this.el);\n };\n\n private handleOnFocus = () => {\n this.bqFocus.emit(this.el);\n };\n\n private handleOnBlur = () => {\n this.bqBlur.emit(this.el);\n };\n\n private handleOnKeyDown = (event: KeyboardEvent) => {\n this.bqKeyDown.emit(event);\n };\n\n private handleIconSlotChange = () => {\n this.hasIcon = hasSlotContent(this.iconElement, 'icon');\n };\n\n private get tabindex(): string {\n // NOTE: this.active is undefined when is not part of bq-tab-group\n return `${this.tabIndex ?? -1 + +(this.active ?? 1)}`;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <button\n ref={(el) => (this.buttonElement = el)}\n class={{\n [`bq-tab bq-tab--${this.size}`]: true,\n 'text-text-brand': this.active,\n 'text-text-primary': !this.active,\n }}\n id={this.tabId}\n onBlur={this.handleOnBlur}\n onClick={this.handleClick}\n onFocus={this.handleOnFocus}\n onKeyDown={this.handleOnKeyDown}\n disabled={this.disabled}\n role=\"tab\"\n aria-controls={this.controls}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-selected={this.active ? 'true' : 'false'}\n tabindex={this.tabindex}\n part=\"base\"\n >\n <div class=\"flex items-center justify-center\" part=\"content\">\n <div class=\"flex\" ref={(span: HTMLSpanElement) => (this.iconElement = span)} part=\"icon\">\n <slot name=\"icon\" onSlotchange={this.handleIconSlotChange} />\n </div>\n <div class={{ 'line-clamp-1': true, 'ms-[--bq-tab--label-icon-gap]': this.hasIcon }} part=\"text\">\n <slot />\n </div>\n </div>\n </button>\n );\n }\n}\n"],"version":3}
1
+ {"file":"bq-tab.js","mappings":";;;;;;;;;;AAAA,MAAM,QAAQ,GAAG,mgyBAAmgyB,CAAC;AACrhyB,oBAAe,QAAQ;;MCgBVA,OAAK;;;;;;;;;;;;;QAiIR,gBAAW,GAAG;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC5B,CAAC;QAEM,kBAAa,GAAG;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC5B,CAAC;QAEM,iBAAY,GAAG;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC3B,CAAC;QAEM,oBAAe,GAAG,CAAC,KAAoB;YAC7C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC5B,CAAC;QAEM,yBAAoB,GAAG;YAC7B,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;SACzD,CAAC;wBApIiC,IAAI;uBACX,KAAK;;wBASG,KAAK;oBAGC,QAAQ;2BAGO,YAAY;yBAGhB,OAAO;;;;;;IAc5D,eAAe;QACb,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACvD,iBAAiB,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QACzE,iBAAiB,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;KACjE;;;;IAsBD,iBAAiB;QACf,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;;;;;;;;;;;;;IAgBD,MAAM,MAAM;;QACV,MAAA,IAAI,CAAC,aAAa,0CAAE,KAAK,EAAE,CAAC;KAC7B;;;;;IAOD,MAAM,MAAM;;QACV,MAAA,IAAI,CAAC,aAAa,0CAAE,KAAK,EAAE,CAAC;KAC7B;;;;;IAOD,MAAM,KAAK;;QACT,MAAA,IAAI,CAAC,aAAa,0CAAE,IAAI,EAAE,CAAC;KAC5B;;;;;IAOD,MAAM,WAAW,CAAC,KAAc;QAC9B,IAAI,CAAC,QAAQ,GAAG,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;KAClC;IA4BD,IAAY,QAAQ;;;QAElB,OAAO,GAAG,MAAA,IAAI,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,CAAC,CAAC,EAAE,CAAC;KACvD;;;;IAMD,MAAM;QACJ,QACE,+DACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,EACtC,KAAK,EAAE;gBACL,CAAC,kBAAkB,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI;gBACnF,iBAAiB,EAAE,IAAI,CAAC,MAAM;gBAC9B,mBAAmB,EAAE,CAAC,IAAI,CAAC,MAAM;aAClC,EACD,EAAE,EAAE,IAAI,CAAC,KAAK,EACd,MAAM,EAAE,IAAI,CAAC,YAAY,EACzB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,SAAS,EAAE,IAAI,CAAC,eAAe,EAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAC,KAAK,mBACK,IAAI,CAAC,QAAQ,mBACb,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,mBAChC,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,EAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAC,MAAM,IAEX,4DAAK,KAAK,EAAC,kCAAkC,EAAC,IAAI,EAAC,SAAS,IAC1D,4DAAK,KAAK,EAAC,MAAM,EAAC,GAAG,EAAE,CAAC,IAAqB,MAAM,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,IAAI,EAAC,MAAM,IACtF,6DAAM,IAAI,EAAC,MAAM,EAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,GAAI,CACzD,EACN,4DAAK,KAAK,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,+BAA+B,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAC,MAAM,IAC9F,8DAAQ,CACJ,CACF,CACC,EACT;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["BqTab"],"sources":["../../packages/beeq/src/components/tab/scss/bq-tab.scss?tag=bq-tab&encapsulation=shadow","../../packages/beeq/src/components/tab/bq-tab.tsx"],"sourcesContent":["/* -------------------------------------------------------------------------- */\n/* Tab styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-tab.variables';\n\n:host {\n @apply inline-block;\n}\n\n.bq-tab {\n @apply relative flex cursor-pointer items-center justify-center rounded-s disabled:cursor-not-allowed disabled:opacity-60;\n @apply text-[length:--bq-tab--font-size] font-[--bq-tab--font-weight] leading-[--bq-tab--line-height] [&:not([disabled])]:hover:bg-hover-ui-primary [&:not([disabled])]:hover:text-hover-text-brand;\n @apply border-0 bg-transparent focus-visible:focus;\n @apply transition-[color,background-color,border-color,box-shadow] duration-300;\n\n &::after {\n @apply absolute z-[1] block bg-stroke-brand opacity-0 content-empty -inset-be-1;\n @apply transition-opacity duration-300 ease-linear;\n }\n\n &--horizontal-start,\n &--horizontal-end {\n &::after {\n /**\n * This hack will make the underline larger so it fits till the tab bar edges for the first and last tab button,\n * because the parent container applies some padding to not cut the focus outline style.\n */\n @apply -start-xs3 bs-[2px] is-[calc(100%_+_var(--bq-spacing-xs2))];\n }\n }\n\n &--vertical-start {\n @apply justify-end is-full;\n\n &::after {\n @apply -end-xs2 bs-[calc(100%_+_var(--bq-spacing-xs2))] is-[2px];\n }\n }\n\n &--vertical-end {\n @apply justify-start is-full;\n\n &::after {\n @apply -start-xs2 bs-[calc(100%_+_var(--bq-spacing-xs2))] is-[2px];\n }\n }\n\n &[aria-selected='true']::after {\n @apply opacity-100;\n }\n\n &--small {\n @apply p-b-[--bq-tab--padding-vertical-small] p-i-[--bq-tab--padding-horizontal-small];\n\n ::slotted(bq-icon) {\n --bq-icon--size: var(--bq-tab--icon-size-small) #{!important};\n }\n }\n\n &--medium {\n @apply p-b-[--bq-tab--padding-vertical-medium] p-i-[--bq-tab--padding-horizontal-medium];\n\n ::slotted(bq-icon) {\n --bq-icon--size: var(--bq-tab--icon-size-medium) #{!important};\n }\n }\n\n &--large {\n @apply text-l p-b-[--bq-tab--padding-vertical-large] p-i-[--bq-tab--padding-horizontal-large];\n\n ::slotted(bq-icon) {\n --bq-icon--size: var(--bq-tab--icon-size-large) #{!important};\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { TAB_ORIENTATION, TAB_PLACEMENT, TAB_SIZE, TTabOrientation, TTabPlacement, TTabSize } from './bq-tab.types';\nimport { hasSlotContent, validatePropValue } from '../../shared/utils';\n\n/**\n * @part base - The HTML button used under the hood.\n * @part content - The HTML `<div>` element that holds the content.\n * @part icon - The HTML `<div>` element that holds the icon content.\n * @part text - The HTML `<div>` element that holds the text content.\n * @part underline - The HTML `<div>` element that display active state.\n */\n@Component({\n tag: 'bq-tab',\n styleUrl: './scss/bq-tab.scss',\n shadow: true,\n})\nexport class BqTab {\n // Own Properties\n // ====================\n\n private buttonElement: HTMLButtonElement;\n private iconElement: HTMLSpanElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqTabElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() tabIndex: number | null = null;\n @State() hasIcon: boolean = false;\n\n // Public Property API\n // ========================\n\n /** If true tab is active */\n @Prop({ reflect: true, mutable: true }) active?: boolean;\n\n /** If true tab is disabled */\n @Prop({ reflect: true }) disabled = false;\n\n /** The size of the tab */\n @Prop({ reflect: true }) size: TTabSize = 'medium';\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 id of the tab */\n @Prop({ reflect: true }) tabId!: string;\n\n /** The tab panel id that the tab controls */\n @Prop({ reflect: true }) controls!: string;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('size')\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\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the tab state changes */\n @Event() bqClick: EventEmitter<HTMLBqTabElement>;\n\n /** Handler to be called when the tab gets focus */\n @Event() bqFocus: EventEmitter<HTMLBqTabElement>;\n\n /** Handler to be called when the tab loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqTabElement>;\n\n /** Handler to be called when the tab key is pressed */\n @Event() bqKeyDown: EventEmitter<KeyboardEvent>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\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 * Simulate a click event on the native `<button>` HTML element used under the hood.\n * Use this method instead of the global `element.click()`.\n */\n @Method()\n async vClick() {\n this.buttonElement?.click();\n }\n\n /**\n * Sets focus on the native `<button>` HTML element used under the hood.\n * Use this method instead of the global `element.focus()`.\n */\n @Method()\n async vFocus() {\n this.buttonElement?.focus();\n }\n\n /**\n * Remove focus from the native `<button>` HTML element used under the hood.\n * Use this method instead of the global `element.blur()`.\n */\n @Method()\n async vBlur() {\n this.buttonElement?.blur();\n }\n\n /**\n * Sets tabindex on the native `<button>` HTML element used under the hood.\n * This method is used inside `<bq-tab-group>` to make tab focusable after the active one is focused\n */\n @Method()\n async enableFocus(value: boolean) {\n this.tabIndex = value ? 0 : null;\n }\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleClick = () => {\n this.active = true;\n this.bqClick.emit(this.el);\n };\n\n private handleOnFocus = () => {\n this.bqFocus.emit(this.el);\n };\n\n private handleOnBlur = () => {\n this.bqBlur.emit(this.el);\n };\n\n private handleOnKeyDown = (event: KeyboardEvent) => {\n this.bqKeyDown.emit(event);\n };\n\n private handleIconSlotChange = () => {\n this.hasIcon = hasSlotContent(this.iconElement, 'icon');\n };\n\n private get tabindex(): string {\n // NOTE: this.active is undefined when is not part of bq-tab-group\n return `${this.tabIndex ?? -1 + +(this.active ?? 1)}`;\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <button\n ref={(el) => (this.buttonElement = el)}\n class={{\n [`bq-tab bq-tab--${this.size} bq-tab--${this.orientation}-${this.placement}`]: true,\n 'text-text-brand': this.active,\n 'text-text-primary': !this.active,\n }}\n id={this.tabId}\n onBlur={this.handleOnBlur}\n onClick={this.handleClick}\n onFocus={this.handleOnFocus}\n onKeyDown={this.handleOnKeyDown}\n disabled={this.disabled}\n role=\"tab\"\n aria-controls={this.controls}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-selected={this.active ? 'true' : 'false'}\n tabindex={this.tabindex}\n part=\"base\"\n >\n <div class=\"flex items-center justify-center\" part=\"content\">\n <div class=\"flex\" ref={(span: HTMLSpanElement) => (this.iconElement = span)} part=\"icon\">\n <slot name=\"icon\" onSlotchange={this.handleIconSlotChange} />\n </div>\n <div class={{ 'line-clamp-1': true, 'ms-[--bq-tab--label-icon-gap]': this.hasIcon }} part=\"text\">\n <slot />\n </div>\n </div>\n </button>\n );\n }\n}\n"],"version":3}
@@ -3,7 +3,9 @@
3
3
  * © https://beeq.design - Apache 2 License.
4
4
  */
5
5
  const TAB_SIZE = ['small', 'medium', 'large'];
6
+ const TAB_ORIENTATION = ['horizontal', 'vertical'];
7
+ const TAB_PLACEMENT = ['start', 'end'];
6
8
 
7
- export { TAB_SIZE as T };
9
+ export { TAB_SIZE as T, TAB_ORIENTATION as a, TAB_PLACEMENT as b };
8
10
 
9
11
  //# sourceMappingURL=bq-tab.types.js.map
@@ -1 +1 @@
1
- {"file":"bq-tab.types.js","mappings":";;;;MAAa,QAAQ,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO;;;;","names":[],"sources":["../../packages/beeq/src/components/tab/bq-tab.types.ts"],"sourcesContent":["export const TAB_SIZE = ['small', 'medium', 'large'] as const;\nexport type TTabSize = (typeof TAB_SIZE)[number];\n"],"version":3}
1
+ {"file":"bq-tab.types.js","mappings":";;;;MAAa,QAAQ,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAW;MAGjD,eAAe,GAAG,CAAC,YAAY,EAAE,UAAU,EAAW;MAGtD,aAAa,GAAG,CAAC,OAAO,EAAE,KAAK;;;;","names":[],"sources":["../../packages/beeq/src/components/tab/bq-tab.types.ts"],"sourcesContent":["export const TAB_SIZE = ['small', 'medium', 'large'] as const;\nexport type TTabSize = (typeof TAB_SIZE)[number];\n\nexport const TAB_ORIENTATION = ['horizontal', 'vertical'] as const;\nexport type TTabOrientation = (typeof TAB_ORIENTATION)[number];\n\nexport const TAB_PLACEMENT = ['start', 'end'] as const;\nexport type TTabPlacement = (typeof TAB_PLACEMENT)[number];\n"],"version":3}
@@ -189,7 +189,7 @@ const BqTag = /*@__PURE__*/ proxyCustomElement(class BqTag extends HTMLElement {
189
189
  ...(this.color && { '--bq-tag--background-color': (_a = getColorCSSVariable(this.color)) !== null && _a !== void 0 ? _a : this.color }),
190
190
  ...(this.hasCustomColor && { '--bq-text--primary': `var(--bq-text--alt)` }),
191
191
  };
192
- return (h(Host, { key: '9ce23f939c01fc0e65455f253b82820639c9633f', style: style, "aria-hidden": this.isHidden ? 'true' : 'false', hidden: this.isHidden ? 'true' : 'false' }, h("button", { key: 'bfb0628d3efc295948f423feda0780216a91cef6', class: {
192
+ return (h(Host, { key: 'dcb43d74abc3bfc8c16cd023ffff5402c947955d', style: style, "aria-hidden": this.isHidden ? 'true' : 'false', hidden: this.isHidden ? 'true' : 'false' }, h("button", { key: '74f04f1581240a448c6802fc4752ca29ed2fe42b', class: {
193
193
  [`bq-tag bq-tag__${this.size}`]: true,
194
194
  [`bq-tag__${this.color || 'default'} bq-tag__${this.variant}`]: !this.hasCustomColor,
195
195
  'is-clickable': this.isClickable,
@@ -198,11 +198,11 @@ const BqTag = /*@__PURE__*/ proxyCustomElement(class BqTag extends HTMLElement {
198
198
  active: this.isClickable && this.selected,
199
199
  // Fixed border radius
200
200
  'has-border': !!this.border,
201
- }, disabled: this.disabled, onBlur: this.handleBlur, onClick: this.handleClick, onFocus: this.handleFocus, tabindex: this.isClickable ? 0 : -1, part: "wrapper" }, h("span", { key: '4693e1ce0e20134ab914d33a30ed29e610097bcb', class: { 'bq-tag__prefix inline-flex': true, '!hidden': !this.hasPrefix }, ref: (spanElem) => (this.prefixElem = spanElem), part: "prefix" }, h("slot", { key: '9333eca26648d01345949073002f98d1424735d3', name: "prefix", onSlotchange: this.handleSlotChange })), h("div", { key: '7ec01c7352c16daad47bc4e8507f250e5c732282', class: {
201
+ }, disabled: this.disabled, onBlur: this.handleBlur, onClick: this.handleClick, onFocus: this.handleFocus, tabindex: this.isClickable ? 0 : -1, part: "wrapper" }, h("span", { key: '7fbc6457ffd3da0a0792ebf228915adf2efd39fb', class: { 'bq-tag__prefix inline-flex': true, '!hidden': !this.hasPrefix }, ref: (spanElem) => (this.prefixElem = spanElem), part: "prefix" }, h("slot", { key: '42c46b4ae6f7195a8d010035e6ae8d9f26898f99', name: "prefix", onSlotchange: this.handleSlotChange })), h("div", { key: 'b08c2697146111bf67fcb40e510732ed2048894a', class: {
202
202
  'text-xs': this.size === 'xsmall',
203
203
  'text-s': this.size === 'small',
204
204
  'text-m': this.size === 'medium',
205
- }, part: "text" }, h("slot", { key: 'af52660cfd055d35420b472597dec4b3156c4e54' })), this.isRemovable && !this.disabled && (h("bq-button", { key: 'a33b6902910dfb0df8c6cfd17b9d6e13088ce339', class: "bq-tag__close", appearance: "text", size: "small", onClick: this.handleHide, part: "btn-close" }, h("bq-icon", { key: 'e5ea407b20aafc8abbd88c1d58a420209c8dcb42', size: iconSize(this.size), name: "x-circle", color: this.color && !this.hasCustomColor ? textColor(this.color)[this.variant] : 'text--primary' }))))));
205
+ }, part: "text" }, h("slot", { key: '435130f05450a46655e8663352e5df16eaccfe15' })), this.isRemovable && !this.disabled && (h("bq-button", { key: 'e31056c019ddbd915a0dcf2e815d673da3bfc6e7', class: "bq-tag__close", appearance: "text", size: "small", onClick: this.handleHide, part: "btn-close" }, h("bq-icon", { key: '304fb99144fd2852d0d104380fbfdc19f0e826e2', size: iconSize(this.size), name: "x-circle", color: this.color && !this.hasCustomColor ? textColor(this.color)[this.variant] : 'text--primary' }))))));
206
206
  }
207
207
  static get delegatesFocus() { return true; }
208
208
  get el() { return this; }