@beeq/core 1.12.14-beta.0 → 1.13.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 (545) 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/index.esm.js +1 -1
  4. package/dist/beeq/{p-9d1503bd.entry.js → p-0d078519.entry.js} +2 -2
  5. package/dist/beeq/{p-9d1503bd.entry.js.map → p-0d078519.entry.js.map} +1 -1
  6. package/dist/beeq/{p-7f9d895b.entry.js → p-1a2c4878.entry.js} +2 -2
  7. package/dist/beeq/{p-7f9d895b.entry.js.map → p-1a2c4878.entry.js.map} +1 -1
  8. package/dist/beeq/p-21db4f39.entry.js +6 -0
  9. package/dist/beeq/p-21db4f39.entry.js.map +1 -0
  10. package/dist/beeq/{p-f47905ae.entry.js → p-24bb2588.entry.js} +2 -2
  11. package/dist/beeq/{p-f47905ae.entry.js.map → p-24bb2588.entry.js.map} +1 -1
  12. package/dist/beeq/{p-41910dc5.entry.js → p-2a081a54.entry.js} +2 -2
  13. package/dist/beeq/{p-41910dc5.entry.js.map → p-2a081a54.entry.js.map} +1 -1
  14. package/dist/beeq/{p-515a1162.entry.js → p-2e1fffcd.entry.js} +2 -2
  15. package/dist/beeq/{p-515a1162.entry.js.map → p-2e1fffcd.entry.js.map} +1 -1
  16. package/dist/beeq/p-2fd6ea70.entry.js +6 -0
  17. package/dist/beeq/{p-2283258e.entry.js.map → p-2fd6ea70.entry.js.map} +1 -1
  18. package/dist/beeq/{p-7d356cce.entry.js → p-30d1bd84.entry.js} +2 -2
  19. package/dist/beeq/p-30d1bd84.entry.js.map +1 -0
  20. package/dist/beeq/{p-882966dd.entry.js → p-38006c8e.entry.js} +2 -2
  21. package/dist/beeq/p-3d754d97.entry.js +6 -0
  22. package/dist/beeq/p-3d754d97.entry.js.map +1 -0
  23. package/dist/beeq/{p-e9535627.entry.js → p-45ae19aa.entry.js} +2 -2
  24. package/dist/beeq/p-45ae19aa.entry.js.map +1 -0
  25. package/dist/beeq/{p-54bfb042.entry.js → p-56b49d4e.entry.js} +2 -2
  26. package/dist/beeq/{p-54bfb042.entry.js.map → p-56b49d4e.entry.js.map} +1 -1
  27. package/dist/beeq/{p-0d8618d2.entry.js → p-58813f83.entry.js} +2 -2
  28. package/dist/beeq/{p-0d8618d2.entry.js.map → p-58813f83.entry.js.map} +1 -1
  29. package/dist/beeq/{p-050c757b.entry.js → p-5eba392c.entry.js} +2 -2
  30. package/dist/beeq/{p-050c757b.entry.js.map → p-5eba392c.entry.js.map} +1 -1
  31. package/dist/beeq/{p-debcabde.entry.js → p-6a38fcaf.entry.js} +2 -2
  32. package/dist/beeq/{p-debcabde.entry.js.map → p-6a38fcaf.entry.js.map} +1 -1
  33. package/dist/beeq/{p-8dfd0329.entry.js → p-6b0f896f.entry.js} +2 -2
  34. package/dist/beeq/{p-a0ef4135.entry.js → p-6be3f23a.entry.js} +2 -2
  35. package/dist/beeq/{p-a0ef4135.entry.js.map → p-6be3f23a.entry.js.map} +1 -1
  36. package/dist/beeq/{p-ea473f56.entry.js → p-72ff2fe2.entry.js} +2 -2
  37. package/dist/beeq/{p-7527b08d.entry.js → p-79fd999a.entry.js} +2 -2
  38. package/dist/beeq/{p-7527b08d.entry.js.map → p-79fd999a.entry.js.map} +1 -1
  39. package/dist/beeq/{p-0323869d.entry.js → p-7ebe6b9d.entry.js} +2 -2
  40. package/dist/beeq/p-7ebe6b9d.entry.js.map +1 -0
  41. package/dist/beeq/{p-250ee94e.entry.js → p-817f7a5e.entry.js} +2 -2
  42. package/dist/beeq/{p-250ee94e.entry.js.map → p-817f7a5e.entry.js.map} +1 -1
  43. package/dist/beeq/{p-ad419446.entry.js → p-8bd7f4c2.entry.js} +2 -2
  44. package/dist/beeq/{p-e63d6c4f.entry.js → p-8be7ceb5.entry.js} +2 -2
  45. package/dist/beeq/{p-e63d6c4f.entry.js.map → p-8be7ceb5.entry.js.map} +1 -1
  46. package/dist/beeq/{p-42e388d0.entry.js → p-9413a4d3.entry.js} +2 -2
  47. package/dist/beeq/{p-42e388d0.entry.js.map → p-9413a4d3.entry.js.map} +1 -1
  48. package/dist/beeq/{p-c25c20bf.entry.js → p-96f72671.entry.js} +2 -2
  49. package/dist/beeq/p-96f72671.entry.js.map +1 -0
  50. package/dist/beeq/{p-CO2T68hs.js → p-BSSRzVAz.js} +2 -2
  51. package/dist/beeq/p-BSSRzVAz.js.map +1 -0
  52. package/dist/beeq/p-DbxZ8FhA.js +6 -0
  53. package/dist/beeq/p-DbxZ8FhA.js.map +1 -0
  54. package/dist/beeq/p-DdvbF5yL.js.map +1 -1
  55. package/dist/beeq/p-Dx-CEPSQ.js.map +1 -1
  56. package/dist/beeq/p-a0a8ea5b.entry.js +6 -0
  57. package/dist/beeq/p-a0a8ea5b.entry.js.map +1 -0
  58. package/dist/beeq/{p-2e9bc398.entry.js → p-a55354ee.entry.js} +2 -2
  59. package/dist/beeq/{p-2e9bc398.entry.js.map → p-a55354ee.entry.js.map} +1 -1
  60. package/dist/beeq/{p-7adb6e2e.entry.js → p-a72671f9.entry.js} +2 -2
  61. package/dist/beeq/p-a72671f9.entry.js.map +1 -0
  62. package/dist/beeq/{p-40bb4e2c.entry.js → p-bb99b400.entry.js} +2 -2
  63. package/dist/beeq/{p-40bb4e2c.entry.js.map → p-bb99b400.entry.js.map} +1 -1
  64. package/dist/beeq/p-bdb983f9.entry.js +6 -0
  65. package/dist/beeq/{p-bb46524f.entry.js.map → p-bdb983f9.entry.js.map} +1 -1
  66. package/dist/beeq/{p-cfe07fad.entry.js → p-cf2e4d57.entry.js} +2 -2
  67. package/dist/beeq/{p-cfe07fad.entry.js.map → p-cf2e4d57.entry.js.map} +1 -1
  68. package/dist/beeq/{p-6cd90918.entry.js → p-d6c35472.entry.js} +2 -2
  69. package/dist/beeq/{p-6cd90918.entry.js.map → p-d6c35472.entry.js.map} +1 -1
  70. package/dist/beeq/p-d792e3d3.entry.js +6 -0
  71. package/dist/beeq/{p-edc81a31.entry.js.map → p-d792e3d3.entry.js.map} +1 -1
  72. package/dist/beeq/{p-bae91da4.entry.js → p-e91ee0da.entry.js} +2 -2
  73. package/dist/beeq/{p-bae91da4.entry.js.map → p-e91ee0da.entry.js.map} +1 -1
  74. package/dist/beeq/{p-1fb43de2.entry.js → p-e9a1b183.entry.js} +2 -2
  75. package/dist/beeq/{p-580f0a77.entry.js → p-f3184477.entry.js} +2 -2
  76. package/dist/beeq/{p-580f0a77.entry.js.map → p-f3184477.entry.js.map} +1 -1
  77. package/dist/beeq/p-f688d230.entry.js +6 -0
  78. package/dist/beeq/{p-1e675bdc.entry.js.map → p-f688d230.entry.js.map} +1 -1
  79. package/dist/beeq/{p-3c77308c.entry.js → p-f891fb4b.entry.js} +2 -2
  80. package/dist/beeq/{p-40163197.entry.js → p-fa123a10.entry.js} +2 -2
  81. package/dist/beeq/{p-40163197.entry.js.map → p-fa123a10.entry.js.map} +1 -1
  82. package/dist/beeq/p-kY6d9Evy.js +6 -0
  83. package/dist/beeq/p-kY6d9Evy.js.map +1 -0
  84. package/dist/beeq/p-uqkxeAeG.js.map +1 -1
  85. package/dist/beeq/svg/.icons-meta.json +13 -0
  86. package/dist/beeq.html-custom-data.json +2214 -106
  87. package/dist/cjs/beeq.cjs.js +3 -3
  88. package/dist/cjs/beeq.cjs.js.map +1 -1
  89. package/dist/cjs/bq-accordion-group.cjs.entry.js +2 -2
  90. package/dist/cjs/bq-accordion-group.cjs.entry.js.map +1 -1
  91. package/dist/cjs/bq-accordion.cjs.entry.js +3 -3
  92. package/dist/cjs/bq-accordion.cjs.entry.js.map +1 -1
  93. package/dist/cjs/bq-alert.cjs.entry.js +3 -3
  94. package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
  95. package/dist/cjs/bq-avatar.cjs.entry.js +3 -3
  96. package/dist/cjs/bq-avatar.cjs.entry.js.map +1 -1
  97. package/dist/cjs/bq-badge.cjs.entry.js +3 -3
  98. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +3 -3
  99. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js.map +1 -1
  100. package/dist/cjs/bq-breadcrumb.cjs.entry.js +2 -2
  101. package/dist/cjs/bq-breadcrumb.cjs.entry.js.map +1 -1
  102. package/dist/cjs/bq-button_2.cjs.entry.js +6 -6
  103. package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
  104. package/dist/cjs/bq-card.cjs.entry.js +3 -3
  105. package/dist/cjs/bq-card.cjs.entry.js.map +1 -1
  106. package/dist/cjs/bq-checkbox.cjs.entry.js +35 -22
  107. package/dist/cjs/bq-checkbox.cjs.entry.js.map +1 -1
  108. package/dist/cjs/bq-date-picker.cjs.entry.js +1743 -366
  109. package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
  110. package/dist/cjs/bq-dialog.cjs.entry.js +7 -7
  111. package/dist/cjs/bq-dialog.cjs.entry.js.map +1 -1
  112. package/dist/cjs/bq-divider.cjs.entry.js +7 -7
  113. package/dist/cjs/bq-drawer.cjs.entry.js +7 -7
  114. package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
  115. package/dist/cjs/bq-dropdown_2.cjs.entry.js +6 -6
  116. package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +1 -1
  117. package/dist/cjs/bq-empty-state.cjs.entry.js +8 -8
  118. package/dist/cjs/bq-empty-state.cjs.entry.js.map +1 -1
  119. package/dist/cjs/bq-input.cjs.entry.js +17 -10
  120. package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
  121. package/dist/cjs/bq-notification.cjs.entry.js +8 -8
  122. package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
  123. package/dist/cjs/bq-option-group.cjs.entry.js +3 -3
  124. package/dist/cjs/bq-option-group.cjs.entry.js.map +1 -1
  125. package/dist/cjs/bq-option-list_2.cjs.entry.js +10 -10
  126. package/dist/cjs/bq-option-list_2.cjs.entry.js.map +1 -1
  127. package/dist/cjs/bq-option.cjs.entry.js +5 -5
  128. package/dist/cjs/bq-page-title.cjs.entry.js +6 -6
  129. package/dist/cjs/bq-page-title.cjs.entry.js.map +1 -1
  130. package/dist/cjs/bq-progress.cjs.entry.js +7 -7
  131. package/dist/cjs/bq-progress.cjs.entry.js.map +1 -1
  132. package/dist/cjs/bq-radio-group.cjs.entry.js +8 -12
  133. package/dist/cjs/bq-radio-group.cjs.entry.js.map +1 -1
  134. package/dist/cjs/bq-radio.cjs.entry.js +5 -5
  135. package/dist/cjs/bq-radio.cjs.entry.js.map +1 -1
  136. package/dist/cjs/bq-select.cjs.entry.js +39 -10
  137. package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
  138. package/dist/cjs/bq-side-menu-item.cjs.entry.js +2 -2
  139. package/dist/cjs/bq-side-menu-item.cjs.entry.js.map +1 -1
  140. package/dist/cjs/bq-side-menu.cjs.entry.js +3 -3
  141. package/dist/cjs/bq-slider.cjs.entry.js +4 -4
  142. package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
  143. package/dist/cjs/bq-spinner.cjs.entry.js +8 -8
  144. package/dist/cjs/bq-spinner.cjs.entry.js.map +1 -1
  145. package/dist/cjs/bq-status.cjs.entry.js +4 -4
  146. package/dist/cjs/bq-status.cjs.entry.js.map +1 -1
  147. package/dist/cjs/bq-step-item.cjs.entry.js +7 -7
  148. package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
  149. package/dist/cjs/bq-steps.cjs.entry.js +4 -4
  150. package/dist/cjs/bq-switch.cjs.entry.js +9 -20
  151. package/dist/cjs/bq-switch.cjs.entry.js.map +1 -1
  152. package/dist/cjs/bq-tab-group.cjs.entry.js +5 -5
  153. package/dist/cjs/bq-tab.cjs.entry.js +6 -6
  154. package/dist/cjs/bq-tab.cjs.entry.js.map +1 -1
  155. package/dist/cjs/bq-textarea.cjs.entry.js +17 -15
  156. package/dist/cjs/bq-textarea.cjs.entry.js.map +1 -1
  157. package/dist/cjs/bq-toast.cjs.entry.js +5 -7
  158. package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
  159. package/dist/cjs/bq-tooltip.cjs.entry.js +6 -6
  160. package/dist/cjs/bq-tooltip.cjs.entry.js.map +1 -1
  161. package/dist/cjs/{cssVariables-exM7Oz37.js → cssVariables-DuVz7KcV.js} +3 -3
  162. package/dist/cjs/cssVariables-DuVz7KcV.js.map +1 -0
  163. package/dist/cjs/event-BhuEFC-I.js.map +1 -1
  164. package/dist/cjs/{index-BSrsKFVG.js → index-J9jJ-fFQ.js} +47 -12
  165. package/dist/cjs/index-J9jJ-fFQ.js.map +1 -0
  166. package/dist/cjs/index.cjs.js +2 -2
  167. package/dist/cjs/loader.cjs.js +2 -2
  168. package/dist/cjs/{props-DzFXZXSF.js → props-BXpv3G-e.js} +6 -5
  169. package/dist/cjs/props-BXpv3G-e.js.map +1 -0
  170. package/dist/cjs/slot-DKWrtk4b.js.map +1 -1
  171. package/dist/cjs/transition-C0S-pYqN.js.map +1 -1
  172. package/dist/collection/collection-manifest.json +1 -1
  173. package/dist/collection/components/accordion-group/scss/bq-accordion-group.css +1 -1
  174. package/dist/collection/components/alert/scss/bq-alert.css +1 -1
  175. package/dist/collection/components/avatar/scss/bq-avatar.css +1 -1
  176. package/dist/collection/components/breadcrumb/scss/bq-breadcrumb.css +1 -1
  177. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +1 -1
  178. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js.map +1 -1
  179. package/dist/collection/components/breadcrumb-item/scss/bq-breadcrumb-item.css +1 -1
  180. package/dist/collection/components/button/scss/bq-button.css +1 -1
  181. package/dist/collection/components/card/scss/bq-card.css +1 -1
  182. package/dist/collection/components/checkbox/bq-checkbox.js +35 -21
  183. package/dist/collection/components/checkbox/bq-checkbox.js.map +1 -1
  184. package/dist/collection/components/checkbox/scss/bq-checkbox.css +1 -1
  185. package/dist/collection/components/date-picker/bq-date-picker.js +1141 -457
  186. package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
  187. package/dist/collection/components/date-picker/bq-date-picker.types.js +29 -0
  188. package/dist/collection/components/date-picker/bq-date-picker.types.js.map +1 -1
  189. package/dist/collection/components/date-picker/components/CalendarDayView.js +96 -0
  190. package/dist/collection/components/date-picker/components/CalendarDayView.js.map +1 -0
  191. package/dist/collection/components/date-picker/components/CalendarHeader.js +18 -0
  192. package/dist/collection/components/date-picker/components/CalendarHeader.js.map +1 -0
  193. package/dist/collection/components/date-picker/components/CalendarMonthView.js +70 -0
  194. package/dist/collection/components/date-picker/components/CalendarMonthView.js.map +1 -0
  195. package/dist/collection/components/date-picker/components/CalendarYearView.js +68 -0
  196. package/dist/collection/components/date-picker/components/CalendarYearView.js.map +1 -0
  197. package/dist/collection/components/date-picker/helper/bounds.js +114 -0
  198. package/dist/collection/components/date-picker/helper/bounds.js.map +1 -0
  199. package/dist/collection/components/date-picker/helper/calendar.js +156 -0
  200. package/dist/collection/components/date-picker/helper/calendar.js.map +1 -0
  201. package/dist/collection/components/date-picker/helper/constants.js +62 -16
  202. package/dist/collection/components/date-picker/helper/constants.js.map +1 -1
  203. package/dist/collection/components/date-picker/helper/input.js +37 -0
  204. package/dist/collection/components/date-picker/helper/input.js.map +1 -0
  205. package/dist/collection/components/date-picker/helper/intl.js +78 -0
  206. package/dist/collection/components/date-picker/helper/intl.js.map +1 -0
  207. package/dist/collection/components/date-picker/helper/labels.js +61 -0
  208. package/dist/collection/components/date-picker/helper/labels.js.map +1 -0
  209. package/dist/collection/components/date-picker/helper/navigation.js +45 -0
  210. package/dist/collection/components/date-picker/helper/navigation.js.map +1 -0
  211. package/dist/collection/components/date-picker/helper/selection.js +167 -0
  212. package/dist/collection/components/date-picker/helper/selection.js.map +1 -0
  213. package/dist/collection/components/date-picker/helper/value.js +49 -0
  214. package/dist/collection/components/date-picker/helper/value.js.map +1 -0
  215. package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -1
  216. package/dist/collection/components/dialog/bq-dialog.js +4 -4
  217. package/dist/collection/components/dialog/scss/bq-dialog.css +1 -1
  218. package/dist/collection/components/divider/bq-divider.js +4 -4
  219. package/dist/collection/components/drawer/bq-drawer.js +4 -4
  220. package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
  221. package/dist/collection/components/dropdown/bq-dropdown.js +1 -1
  222. package/dist/collection/components/dropdown/scss/bq-dropdown.css +1 -1
  223. package/dist/collection/components/empty-state/bq-empty-state.js +5 -5
  224. package/dist/collection/components/empty-state/scss/bq-empty-state.css +1 -1
  225. package/dist/collection/components/icon/bq-icon.js +1 -1
  226. package/dist/collection/components/icon/helper/request.js +1 -1
  227. package/dist/collection/components/icon/helper/request.js.map +1 -1
  228. package/dist/collection/components/icon/svg/.icons-meta.json +13 -0
  229. package/dist/collection/components/input/bq-input.js +15 -8
  230. package/dist/collection/components/input/bq-input.js.map +1 -1
  231. package/dist/collection/components/input/scss/bq-input.css +1 -1
  232. package/dist/collection/components/notification/bq-notification.js +5 -5
  233. package/dist/collection/components/notification/bq-notification.js.map +1 -1
  234. package/dist/collection/components/notification/scss/bq-notification.css +1 -1
  235. package/dist/collection/components/option/bq-option.js +4 -4
  236. package/dist/collection/components/option-group/bq-option-group.js +1 -1
  237. package/dist/collection/components/option-group/scss/bq-option-group.css +1 -1
  238. package/dist/collection/components/option-list/bq-option-list.js +1 -1
  239. package/dist/collection/components/option-list/scss/bq-option-list.css +1 -1
  240. package/dist/collection/components/page-title/bq-page-title.js +4 -4
  241. package/dist/collection/components/page-title/scss/bq-page-title.css +1 -1
  242. package/dist/collection/components/panel/bq-panel.js +2 -2
  243. package/dist/collection/components/panel/scss/bq-panel.css +1 -1
  244. package/dist/collection/components/progress/bq-progress.js +4 -4
  245. package/dist/collection/components/progress/scss/bq-progress.css +1 -1
  246. package/dist/collection/components/radio/bq-radio.js +5 -4
  247. package/dist/collection/components/radio/bq-radio.js.map +1 -1
  248. package/dist/collection/components/radio/scss/bq-radio.css +1 -1
  249. package/dist/collection/components/radio-group/bq-radio-group.js +6 -10
  250. package/dist/collection/components/radio-group/bq-radio-group.js.map +1 -1
  251. package/dist/collection/components/select/bq-select.js +59 -10
  252. package/dist/collection/components/select/bq-select.js.map +1 -1
  253. package/dist/collection/components/select/scss/bq-select.css +1 -1
  254. package/dist/collection/components/side-menu/bq-side-menu.js +2 -2
  255. package/dist/collection/components/side-menu-item/scss/bq-side-menu-item.css +1 -1
  256. package/dist/collection/components/slider/bq-slider.js +2 -2
  257. package/dist/collection/components/spinner/bq-spinner.js +4 -4
  258. package/dist/collection/components/spinner/scss/bq-spinner.css +1 -1
  259. package/dist/collection/components/status/bq-status.js +1 -1
  260. package/dist/collection/components/status/scss/bq-status.css +1 -1
  261. package/dist/collection/components/step-item/bq-step-item.js +4 -4
  262. package/dist/collection/components/step-item/scss/bq-step-item.css +1 -1
  263. package/dist/collection/components/steps/bq-steps.js +2 -2
  264. package/dist/collection/components/switch/bq-switch.js +9 -18
  265. package/dist/collection/components/switch/bq-switch.js.map +1 -1
  266. package/dist/collection/components/switch/scss/bq-switch.css +1 -1
  267. package/dist/collection/components/tab/bq-tab.js +3 -3
  268. package/dist/collection/components/tab/scss/bq-tab.css +1 -1
  269. package/dist/collection/components/tab-group/bq-tab-group.js +3 -3
  270. package/dist/collection/components/tag/bq-tag.js +4 -4
  271. package/dist/collection/components/tag/scss/bq-tag.css +1 -1
  272. package/dist/collection/components/textarea/bq-textarea.js +15 -13
  273. package/dist/collection/components/textarea/bq-textarea.js.map +1 -1
  274. package/dist/collection/components/textarea/scss/bq-textarea.css +1 -1
  275. package/dist/collection/components/toast/bq-toast.js +2 -4
  276. package/dist/collection/components/toast/bq-toast.js.map +1 -1
  277. package/dist/collection/components/toast/scss/bq-toast.css +1 -1
  278. package/dist/collection/components/tooltip/bq-tooltip.js +4 -4
  279. package/dist/collection/components/tooltip/scss/bq-tooltip.css +1 -1
  280. package/dist/collection/shared/test-utils/computedStyle.js +24 -24
  281. package/dist/collection/shared/test-utils/computedStyle.js.map +1 -1
  282. package/dist/collection/shared/test-utils/sleep.js +5 -1
  283. package/dist/collection/shared/test-utils/sleep.js.map +1 -1
  284. package/dist/collection/shared/utils/cssVariables.js +1 -1
  285. package/dist/collection/shared/utils/cssVariables.js.map +1 -1
  286. package/dist/collection/shared/utils/event.js.map +1 -1
  287. package/dist/collection/shared/utils/props.js +4 -3
  288. package/dist/collection/shared/utils/props.js.map +1 -1
  289. package/dist/collection/shared/utils/slot.js.map +1 -1
  290. package/dist/collection/shared/utils/transition.js.map +1 -1
  291. package/dist/components/bq-accordion-group.js +1 -1
  292. package/dist/components/bq-accordion.js +1 -1
  293. package/dist/components/bq-alert.js +1 -1
  294. package/dist/components/bq-avatar.js +1 -1
  295. package/dist/components/bq-badge.js +1 -1
  296. package/dist/components/bq-breadcrumb-item.js +1 -1
  297. package/dist/components/bq-breadcrumb-item.js.map +1 -1
  298. package/dist/components/bq-breadcrumb.js +1 -1
  299. package/dist/components/bq-button.js +1 -1
  300. package/dist/components/bq-card.js +1 -1
  301. package/dist/components/bq-checkbox.js +1 -1
  302. package/dist/components/bq-checkbox.js.map +1 -1
  303. package/dist/components/bq-date-picker.js +1 -1
  304. package/dist/components/bq-date-picker.js.map +1 -1
  305. package/dist/components/bq-dialog.js +1 -1
  306. package/dist/components/bq-dialog.js.map +1 -1
  307. package/dist/components/bq-divider.js +1 -1
  308. package/dist/components/bq-drawer.js +1 -1
  309. package/dist/components/bq-drawer.js.map +1 -1
  310. package/dist/components/bq-dropdown.js +1 -1
  311. package/dist/components/bq-empty-state.js +1 -1
  312. package/dist/components/bq-icon.js +1 -1
  313. package/dist/components/bq-input.js +1 -1
  314. package/dist/components/bq-input.js.map +1 -1
  315. package/dist/components/bq-notification.js +1 -1
  316. package/dist/components/bq-notification.js.map +1 -1
  317. package/dist/components/bq-option-group.js +1 -1
  318. package/dist/components/bq-option-group.js.map +1 -1
  319. package/dist/components/bq-option-list.js +1 -1
  320. package/dist/components/bq-option.js +1 -1
  321. package/dist/components/bq-page-title.js +1 -1
  322. package/dist/components/bq-page-title.js.map +1 -1
  323. package/dist/components/bq-panel.js +1 -1
  324. package/dist/components/bq-progress.js +1 -1
  325. package/dist/components/bq-radio-group.js +1 -1
  326. package/dist/components/bq-radio-group.js.map +1 -1
  327. package/dist/components/bq-radio.js +1 -1
  328. package/dist/components/bq-radio.js.map +1 -1
  329. package/dist/components/bq-select.js +1 -1
  330. package/dist/components/bq-select.js.map +1 -1
  331. package/dist/components/bq-side-menu-item.js +1 -1
  332. package/dist/components/bq-side-menu.js +1 -1
  333. package/dist/components/bq-slider.js +1 -1
  334. package/dist/components/bq-spinner.js +1 -1
  335. package/dist/components/bq-status.js +1 -1
  336. package/dist/components/bq-status.js.map +1 -1
  337. package/dist/components/bq-step-item.js +1 -1
  338. package/dist/components/bq-step-item.js.map +1 -1
  339. package/dist/components/bq-steps.js +1 -1
  340. package/dist/components/bq-switch.js +1 -1
  341. package/dist/components/bq-switch.js.map +1 -1
  342. package/dist/components/bq-tab-group.js +1 -1
  343. package/dist/components/bq-tab.js +1 -1
  344. package/dist/components/bq-tag.js +1 -1
  345. package/dist/components/bq-textarea.js +1 -1
  346. package/dist/components/bq-textarea.js.map +1 -1
  347. package/dist/components/bq-toast.js +1 -1
  348. package/dist/components/bq-toast.js.map +1 -1
  349. package/dist/components/bq-tooltip.js +1 -1
  350. package/dist/components/index.js +1 -1
  351. package/dist/components/{p-YjPwN7vu.js → p-2eUC8A3N.js} +2 -2
  352. package/dist/components/p-2eUC8A3N.js.map +1 -0
  353. package/dist/components/{p-D3RCJ1ti.js → p-BBCVL6R0.js} +2 -2
  354. package/dist/components/{p-BY4GkNoQ.js → p-BMHXMsVR.js} +2 -2
  355. package/dist/components/{p-4ksDMBf6.js → p-BS8hIETL.js} +2 -2
  356. package/dist/components/{p-DTsYGX5p.js → p-CWawcXxA.js} +2 -2
  357. package/dist/components/{p-DTsYGX5p.js.map → p-CWawcXxA.js.map} +1 -1
  358. package/dist/components/{p-fdkSHq2G.js → p-D6ngGq0Y.js} +2 -2
  359. package/dist/components/p-D6ngGq0Y.js.map +1 -0
  360. package/dist/components/{p-B99eLANt.js → p-DMKBBBUE.js} +2 -2
  361. package/dist/components/p-DbxZ8FhA.js +6 -0
  362. package/dist/components/p-DbxZ8FhA.js.map +1 -0
  363. package/dist/components/{p-CvvcRGDG.js → p-Dd3v3b2E.js} +2 -2
  364. package/dist/components/p-DdvbF5yL.js.map +1 -1
  365. package/dist/components/p-Dx-CEPSQ.js.map +1 -1
  366. package/dist/components/{p-Dj-mQvqv.js → p-iyX-PhkX.js} +2 -2
  367. package/dist/components/p-kY6d9Evy.js +6 -0
  368. package/dist/components/p-kY6d9Evy.js.map +1 -0
  369. package/dist/components/p-uqkxeAeG.js.map +1 -1
  370. package/dist/{beeq/p-edc81a31.entry.js → components/p-v3c5-Hhf.js} +2 -2
  371. package/dist/components/p-v3c5-Hhf.js.map +1 -0
  372. package/dist/custom-elements.json +25954 -1583
  373. package/dist/esm/beeq.js +4 -4
  374. package/dist/esm/beeq.js.map +1 -1
  375. package/dist/esm/bq-accordion-group.entry.js +2 -2
  376. package/dist/esm/bq-accordion-group.entry.js.map +1 -1
  377. package/dist/esm/bq-accordion.entry.js +3 -3
  378. package/dist/esm/bq-accordion.entry.js.map +1 -1
  379. package/dist/esm/bq-alert.entry.js +3 -3
  380. package/dist/esm/bq-alert.entry.js.map +1 -1
  381. package/dist/esm/bq-avatar.entry.js +3 -3
  382. package/dist/esm/bq-avatar.entry.js.map +1 -1
  383. package/dist/esm/bq-badge.entry.js +3 -3
  384. package/dist/esm/bq-breadcrumb-item.entry.js +3 -3
  385. package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
  386. package/dist/esm/bq-breadcrumb.entry.js +2 -2
  387. package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
  388. package/dist/esm/bq-button_2.entry.js +6 -6
  389. package/dist/esm/bq-button_2.entry.js.map +1 -1
  390. package/dist/esm/bq-card.entry.js +3 -3
  391. package/dist/esm/bq-card.entry.js.map +1 -1
  392. package/dist/esm/bq-checkbox.entry.js +35 -22
  393. package/dist/esm/bq-checkbox.entry.js.map +1 -1
  394. package/dist/esm/bq-date-picker.entry.js +1744 -367
  395. package/dist/esm/bq-date-picker.entry.js.map +1 -1
  396. package/dist/esm/bq-dialog.entry.js +7 -7
  397. package/dist/esm/bq-dialog.entry.js.map +1 -1
  398. package/dist/esm/bq-divider.entry.js +7 -7
  399. package/dist/esm/bq-drawer.entry.js +7 -7
  400. package/dist/esm/bq-drawer.entry.js.map +1 -1
  401. package/dist/esm/bq-dropdown_2.entry.js +6 -6
  402. package/dist/esm/bq-dropdown_2.entry.js.map +1 -1
  403. package/dist/esm/bq-empty-state.entry.js +8 -8
  404. package/dist/esm/bq-empty-state.entry.js.map +1 -1
  405. package/dist/esm/bq-input.entry.js +17 -10
  406. package/dist/esm/bq-input.entry.js.map +1 -1
  407. package/dist/esm/bq-notification.entry.js +8 -8
  408. package/dist/esm/bq-notification.entry.js.map +1 -1
  409. package/dist/esm/bq-option-group.entry.js +3 -3
  410. package/dist/esm/bq-option-group.entry.js.map +1 -1
  411. package/dist/esm/bq-option-list_2.entry.js +10 -10
  412. package/dist/esm/bq-option-list_2.entry.js.map +1 -1
  413. package/dist/esm/bq-option.entry.js +5 -5
  414. package/dist/esm/bq-page-title.entry.js +6 -6
  415. package/dist/esm/bq-page-title.entry.js.map +1 -1
  416. package/dist/esm/bq-progress.entry.js +7 -7
  417. package/dist/esm/bq-progress.entry.js.map +1 -1
  418. package/dist/esm/bq-radio-group.entry.js +8 -12
  419. package/dist/esm/bq-radio-group.entry.js.map +1 -1
  420. package/dist/esm/bq-radio.entry.js +5 -5
  421. package/dist/esm/bq-radio.entry.js.map +1 -1
  422. package/dist/esm/bq-select.entry.js +39 -10
  423. package/dist/esm/bq-select.entry.js.map +1 -1
  424. package/dist/esm/bq-side-menu-item.entry.js +2 -2
  425. package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
  426. package/dist/esm/bq-side-menu.entry.js +3 -3
  427. package/dist/esm/bq-slider.entry.js +4 -4
  428. package/dist/esm/bq-slider.entry.js.map +1 -1
  429. package/dist/esm/bq-spinner.entry.js +8 -8
  430. package/dist/esm/bq-spinner.entry.js.map +1 -1
  431. package/dist/esm/bq-status.entry.js +4 -4
  432. package/dist/esm/bq-status.entry.js.map +1 -1
  433. package/dist/esm/bq-step-item.entry.js +7 -7
  434. package/dist/esm/bq-step-item.entry.js.map +1 -1
  435. package/dist/esm/bq-steps.entry.js +4 -4
  436. package/dist/esm/bq-switch.entry.js +9 -20
  437. package/dist/esm/bq-switch.entry.js.map +1 -1
  438. package/dist/esm/bq-tab-group.entry.js +5 -5
  439. package/dist/esm/bq-tab.entry.js +6 -6
  440. package/dist/esm/bq-tab.entry.js.map +1 -1
  441. package/dist/esm/bq-textarea.entry.js +17 -15
  442. package/dist/esm/bq-textarea.entry.js.map +1 -1
  443. package/dist/esm/bq-toast.entry.js +5 -7
  444. package/dist/esm/bq-toast.entry.js.map +1 -1
  445. package/dist/esm/bq-tooltip.entry.js +6 -6
  446. package/dist/esm/bq-tooltip.entry.js.map +1 -1
  447. package/dist/esm/{cssVariables-CyiWA5Ok.js → cssVariables-DhGXeOL_.js} +3 -3
  448. package/dist/esm/cssVariables-DhGXeOL_.js.map +1 -0
  449. package/dist/esm/event-Dx-CEPSQ.js.map +1 -1
  450. package/dist/esm/{index-CO2T68hs.js → index-BSSRzVAz.js} +47 -12
  451. package/dist/esm/index-BSSRzVAz.js.map +1 -0
  452. package/dist/esm/index.js +2 -2
  453. package/dist/esm/loader.js +3 -3
  454. package/dist/esm/{props-zh4P02Kn.js → props-DbxZ8FhA.js} +6 -5
  455. package/dist/esm/props-DbxZ8FhA.js.map +1 -0
  456. package/dist/esm/slot-uqkxeAeG.js.map +1 -1
  457. package/dist/esm/transition-DdvbF5yL.js.map +1 -1
  458. package/dist/hydrate/index.js +2142 -675
  459. package/dist/hydrate/index.mjs +2142 -675
  460. package/dist/stencil.config.js +7 -0
  461. package/dist/stencil.config.js.map +1 -1
  462. package/dist/types/components/checkbox/bq-checkbox.d.ts +4 -3
  463. package/dist/types/components/date-picker/bq-date-picker.d.ts +330 -238
  464. package/dist/types/components/date-picker/bq-date-picker.types.d.ts +30 -39
  465. package/dist/types/components/date-picker/components/CalendarDayView.d.ts +42 -0
  466. package/dist/types/components/date-picker/components/CalendarHeader.d.ts +34 -0
  467. package/dist/types/components/date-picker/components/CalendarMonthView.d.ts +34 -0
  468. package/dist/types/components/date-picker/components/CalendarYearView.d.ts +32 -0
  469. package/dist/types/components/date-picker/helper/bounds.d.ts +49 -0
  470. package/dist/types/components/date-picker/helper/calendar.d.ts +78 -0
  471. package/dist/types/components/date-picker/helper/constants.d.ts +62 -16
  472. package/dist/types/components/date-picker/helper/input.d.ts +23 -0
  473. package/dist/types/components/date-picker/helper/intl.d.ts +38 -0
  474. package/dist/types/components/date-picker/helper/labels.d.ts +29 -0
  475. package/dist/types/components/date-picker/helper/navigation.d.ts +23 -0
  476. package/dist/types/components/date-picker/helper/selection.d.ts +44 -0
  477. package/dist/types/components/date-picker/helper/value.d.ts +31 -0
  478. package/dist/types/components/input/bq-input.d.ts +1 -0
  479. package/dist/types/components/radio/bq-radio.d.ts +2 -1
  480. package/dist/types/components/select/bq-select.d.ts +5 -0
  481. package/dist/types/components/switch/bq-switch.d.ts +2 -3
  482. package/dist/types/components.d.ts +450 -350
  483. package/dist/types/home/runner/work/BEEQ/BEEQ/.stencil/packages/beeq/vitest.config.d.ts +2 -0
  484. package/dist/types/shared/test-utils/computedStyle.d.ts +7 -6
  485. package/dist/types/shared/test-utils/setProperties.d.ts +1 -1
  486. package/dist/types/shared/test-utils/sleep.d.ts +5 -1
  487. package/dist/types/shared/utils/event.d.ts +1 -1
  488. package/dist/types/shared/utils/slot.d.ts +1 -1
  489. package/dist/types/stencil-public-runtime.d.ts +1 -0
  490. package/dist/vitest.config.js +81 -0
  491. package/dist/vitest.config.js.map +1 -0
  492. package/package.json +1 -1
  493. package/dist/beeq/p-0323869d.entry.js.map +0 -1
  494. package/dist/beeq/p-1e675bdc.entry.js +0 -6
  495. package/dist/beeq/p-2283258e.entry.js +0 -6
  496. package/dist/beeq/p-654c7701.entry.js +0 -6
  497. package/dist/beeq/p-654c7701.entry.js.map +0 -1
  498. package/dist/beeq/p-7a6a89f1.entry.js +0 -6
  499. package/dist/beeq/p-7a6a89f1.entry.js.map +0 -1
  500. package/dist/beeq/p-7adb6e2e.entry.js.map +0 -1
  501. package/dist/beeq/p-7d356cce.entry.js.map +0 -1
  502. package/dist/beeq/p-CO2T68hs.js.map +0 -1
  503. package/dist/beeq/p-_RvVpeh2.js +0 -6
  504. package/dist/beeq/p-_RvVpeh2.js.map +0 -1
  505. package/dist/beeq/p-a83ce5aa.entry.js +0 -6
  506. package/dist/beeq/p-a83ce5aa.entry.js.map +0 -1
  507. package/dist/beeq/p-bb46524f.entry.js +0 -6
  508. package/dist/beeq/p-c25c20bf.entry.js.map +0 -1
  509. package/dist/beeq/p-e9535627.entry.js.map +0 -1
  510. package/dist/beeq/p-zh4P02Kn.js +0 -6
  511. package/dist/beeq/p-zh4P02Kn.js.map +0 -1
  512. package/dist/cjs/cssVariables-exM7Oz37.js.map +0 -1
  513. package/dist/cjs/index-BSrsKFVG.js.map +0 -1
  514. package/dist/cjs/props-DzFXZXSF.js.map +0 -1
  515. package/dist/collection/components/date-picker/libs/callyLibrary.js +0 -92
  516. package/dist/collection/components/date-picker/libs/callyLibrary.js.map +0 -1
  517. package/dist/components/p-DnqmdkvK.js +0 -6
  518. package/dist/components/p-DnqmdkvK.js.map +0 -1
  519. package/dist/components/p-YjPwN7vu.js.map +0 -1
  520. package/dist/components/p-_RvVpeh2.js +0 -6
  521. package/dist/components/p-_RvVpeh2.js.map +0 -1
  522. package/dist/components/p-fdkSHq2G.js.map +0 -1
  523. package/dist/components/p-zh4P02Kn.js +0 -6
  524. package/dist/components/p-zh4P02Kn.js.map +0 -1
  525. package/dist/esm/cssVariables-CyiWA5Ok.js.map +0 -1
  526. package/dist/esm/index-CO2T68hs.js.map +0 -1
  527. package/dist/esm/props-zh4P02Kn.js.map +0 -1
  528. package/dist/jest.config.js +0 -23
  529. package/dist/jest.config.js.map +0 -1
  530. package/dist/types/Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System/.stencil/packages/beeq/jest.config.d.ts +0 -19
  531. package/dist/types/components/date-picker/libs/callyLibrary.d.ts +0 -15
  532. /package/dist/beeq/{p-882966dd.entry.js.map → p-38006c8e.entry.js.map} +0 -0
  533. /package/dist/beeq/{p-8dfd0329.entry.js.map → p-6b0f896f.entry.js.map} +0 -0
  534. /package/dist/beeq/{p-ea473f56.entry.js.map → p-72ff2fe2.entry.js.map} +0 -0
  535. /package/dist/beeq/{p-ad419446.entry.js.map → p-8bd7f4c2.entry.js.map} +0 -0
  536. /package/dist/beeq/{p-1fb43de2.entry.js.map → p-e9a1b183.entry.js.map} +0 -0
  537. /package/dist/beeq/{p-3c77308c.entry.js.map → p-f891fb4b.entry.js.map} +0 -0
  538. /package/dist/components/{p-D3RCJ1ti.js.map → p-BBCVL6R0.js.map} +0 -0
  539. /package/dist/components/{p-BY4GkNoQ.js.map → p-BMHXMsVR.js.map} +0 -0
  540. /package/dist/components/{p-4ksDMBf6.js.map → p-BS8hIETL.js.map} +0 -0
  541. /package/dist/components/{p-B99eLANt.js.map → p-DMKBBBUE.js.map} +0 -0
  542. /package/dist/components/{p-CvvcRGDG.js.map → p-Dd3v3b2E.js.map} +0 -0
  543. /package/dist/components/{p-Dj-mQvqv.js.map → p-iyX-PhkX.js.map} +0 -0
  544. /package/dist/types/{Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System → home/runner/work/BEEQ/BEEQ}/.stencil/packages/beeq/stencil.config.d.ts +0 -0
  545. /package/dist/types/{Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System → home/runner/work/BEEQ/BEEQ}/.stencil/tailwind.config.d.ts +0 -0
@@ -1 +1 @@
1
- .transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{text-size-adjust:none;font-family:var(--bq-font-family);font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);line-height:var(--bq-font-line-height--regular);min-height:100vb;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:where(:root){--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq:not([bq-mode]),.light,:root:not([bq-theme]):not([bq-mode]),:root[bq-theme=beeq]:not([bq-mode]),[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}:where(.endava),:where([bq-theme=endava]){--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,.endava:not([bq-mode]),[bq-theme=endava]:not([bq-mode]),[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.relative{position:relative}.box-border{box-sizing:border-box}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.rounded-full{border-radius:var(--bq-radius--full)}.rounded-s{border-radius:var(--bq-radius--s)}.border-\[length\:--bq-radio--border-width\]{border-width:var(--bq-radio--border-width)}.border-solid{border-style:solid}.border-icon-brand{border-color:var(--bq-icon--brand)}.bg-ui-brand{background-color:var(--bq-ui--brand)}.font-medium{font-weight:var(--bq-font-weight--medium)}.leading-regular{line-height:var(--bq-font-line-height--regular)}.text-primary{color:var(--bq-text--primary)}.opacity-60{opacity:.6}.transition-\[background-color\]{transition-duration:.15s;transition-property:background-color;transition-timing-function:cubic-bezier(.4,0,.2,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)}.duration-300{transition-duration:.3s}.bg-hover-ui-primary{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.border-hover-icon-brand{border-color:color-mix(in srgb,var(--bq-icon--brand),var(--bq-hover) 20%)}.border-hover-icon-primary{border-color:color-mix(in srgb,var(--bq-icon--primary),var(--bq-hover) 20%)}.bs-\[--bq-radio--size\]{block-size:var(--bq-radio--size)}.bs-full{block-size:100%}.is-\[--bq-radio--size\]{inline-size:var(--bq-radio--size)}.is-full{inline-size:100%}.p-b-\[2px\]{padding-block:2px}.p-b-\[3px\]{padding-block:3px}.p-b-xs{padding-block:var(--bq-spacing-xs)}.p-i-\[2px\]{padding-inline:2px}.p-i-\[3px\]{padding-inline:3px}.p-i-xs{padding-inline:var(--bq-spacing-xs)}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}@-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-radio--size:24px;--bq-radio--border-width:var(--bq-stroke-m);display:inline-block}.bq-radio{align-items:center;border-radius:var(--bq-radius--s);box-sizing:border-box;cursor:pointer;display:inline-flex;gap:.5rem;justify-content:center;padding-block:var(--bq-spacing-xs);padding-inline:var(--bq-spacing-xs);transition-duration:.3s;transition-property:background-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.bq-radio.is-disabled{cursor:not-allowed;opacity:.6}.bq-radio.is-disabled.is-checked .bq-radio__circle{border-color:var(--bq-icon--brand)}.bq-radio.is-disabled.is-checked .bq-radio__checked{background-color:var(--bq-ui--brand)}.bq-radio.has-background:not(.is-disabled):hover{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.bq-radio.is-checked:not(.is-disabled) .bq-radio__circle{border-color:var(--bq-icon--brand)}.bq-radio.is-checked:not(.is-disabled) .bq-radio__checked{background-color:var(--bq-ui--brand)}.bq-radio.is-checked:not(.is-disabled):hover .bq-radio__checked,.bq-radio.is-checked:not(.is-disabled):hover .bq-radio__circle,.bq-radio:not(.is-disabled):hover .bq-radio__circle{border-color:color-mix(in srgb,var(--bq-icon--brand),var(--bq-hover) 20%)}.bq-radio__input{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.bq-radio__input:focus-visible~.bq-radio__circle{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.bq-radio__control{block-size:var(--bq-radio--size);inline-size:var(--bq-radio--size);padding-block:2px;padding-inline:2px}.bq-radio__circle,.bq-radio__control{align-items:center;border-radius:var(--bq-radius--full);box-sizing:border-box;display:flex;justify-content:center}.bq-radio__circle{block-size:100%;border-color:color-mix(in srgb,var(--bq-icon--primary),var(--bq-hover) 20%);border-style:solid;border-width:var(--bq-radio--border-width);inline-size:100%;padding-block:3px;padding-inline:3px;position:relative}.bq-radio__checked{block-size:100%;border-radius:var(--bq-radius--full);inline-size:100%}.bq-radio__label{color:var(--bq-text--primary);font-weight:var(--bq-font-weight--medium);line-height:var(--bq-font-line-height--regular)}.bq-radio__checked,.bq-radio__circle,.bq-radio__label{transition-duration:.3s;transition-property:color,background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.blur{--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--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}
1
+ .transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{text-size-adjust:none;font-family:var(--bq-font-family);font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);line-height:var(--bq-font-line-height--regular);min-height:100vb;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:where(:root){--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq:not([bq-mode]),.light,:root:not([bq-theme]):not([bq-mode]),:root[bq-theme=beeq]:not([bq-mode]),[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}:where(.endava),:where([bq-theme=endava]){--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,.endava:not([bq-mode]),[bq-theme=endava]:not([bq-mode]),[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-100);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-950);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.relative{position:relative}.box-border{box-sizing:border-box}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.rounded-full{border-radius:var(--bq-radius--full)}.rounded-s{border-radius:var(--bq-radius--s)}.border-\[length\:--bq-radio--border-width\]{border-width:var(--bq-radio--border-width)}.border-solid{border-style:solid}.border-icon-brand{border-color:var(--bq-icon--brand)}.bg-\[--bq-radio--background-color\]{background-color:var(--bq-radio--background-color)}.bg-ui-brand{background-color:var(--bq-ui--brand)}.font-medium{font-weight:var(--bq-font-weight--medium)}.leading-regular{line-height:var(--bq-font-line-height--regular)}.text-primary{color:var(--bq-text--primary)}.opacity-60{opacity:.6}.transition-\[background-color\]{transition-duration:.15s;transition-property:background-color;transition-timing-function:cubic-bezier(.4,0,.2,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)}.duration-300{transition-duration:.3s}.bg-hover-ui-primary{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.border-hover-icon-brand{border-color:color-mix(in srgb,var(--bq-icon--brand),var(--bq-hover) 20%)}.border-hover-icon-primary{border-color:color-mix(in srgb,var(--bq-icon--primary),var(--bq-hover) 20%)}.bs-\[--bq-radio--size\]{block-size:var(--bq-radio--size)}.bs-full{block-size:100%}.is-\[--bq-radio--size\]{inline-size:var(--bq-radio--size)}.is-full{inline-size:100%}.p-b-\[2px\]{padding-block:2px}.p-b-\[3px\]{padding-block:3px}.p-b-xs{padding-block:var(--bq-spacing-xs)}.p-i-\[2px\]{padding-inline:2px}.p-i-\[3px\]{padding-inline:3px}.p-i-xs{padding-inline:var(--bq-spacing-xs)}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}@-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-radio--background-color:var(--bq-ui--primary);--bq-radio--border-width:var(--bq-stroke-m);--bq-radio--size:24px;display:inline-block}.bq-radio{align-items:center;border-radius:var(--bq-radius--s);box-sizing:border-box;cursor:pointer;display:inline-flex;gap:.5rem;justify-content:center;padding-block:var(--bq-spacing-xs);padding-inline:var(--bq-spacing-xs);transition-duration:.3s;transition-property:background-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.bq-radio.is-disabled{cursor:not-allowed;opacity:.6}.bq-radio.is-disabled.is-checked .bq-radio__circle{border-color:var(--bq-icon--brand)}.bq-radio.is-disabled.is-checked .bq-radio__checked{background-color:var(--bq-ui--brand)}.bq-radio.has-background:not(.is-disabled):hover{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.bq-radio.is-checked:not(.is-disabled) .bq-radio__circle{border-color:var(--bq-icon--brand)}.bq-radio.is-checked:not(.is-disabled) .bq-radio__checked{background-color:var(--bq-ui--brand)}.bq-radio.is-checked:not(.is-disabled):hover .bq-radio__checked,.bq-radio.is-checked:not(.is-disabled):hover .bq-radio__circle,.bq-radio:not(.is-disabled):hover .bq-radio__circle{border-color:color-mix(in srgb,var(--bq-icon--brand),var(--bq-hover) 20%)}.bq-radio__input{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.bq-radio__input:focus-visible~.bq-radio__circle{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.bq-radio__control{block-size:var(--bq-radio--size);inline-size:var(--bq-radio--size);padding-block:2px;padding-inline:2px}.bq-radio__circle,.bq-radio__control{align-items:center;border-radius:var(--bq-radius--full);box-sizing:border-box;display:flex;justify-content:center}.bq-radio__circle{background-color:var(--bq-radio--background-color);block-size:100%;border-color:color-mix(in srgb,var(--bq-icon--primary),var(--bq-hover) 20%);border-style:solid;border-width:var(--bq-radio--border-width);inline-size:100%;padding-block:3px;padding-inline:3px;position:relative}.bq-radio__checked{block-size:100%;border-radius:var(--bq-radius--full);inline-size:100%}.bq-radio__label{color:var(--bq-text--primary);font-weight:var(--bq-font-weight--medium);line-height:var(--bq-font-line-height--regular)}.bq-radio__checked,.bq-radio__circle,.bq-radio__label{transition-duration:.3s;transition-property:color,background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.blur{--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--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}
@@ -153,8 +153,8 @@ export class BqRadioGroup {
153
153
  formResetCallback() {
154
154
  this.value = this.initialValue;
155
155
  this.internals.setFormValue(this.value ?? null);
156
- this.updateFormValidity();
157
156
  this.updateCustomStates();
157
+ this.updateFormValidity();
158
158
  }
159
159
  // Listeners
160
160
  // ==============
@@ -241,18 +241,14 @@ export class BqRadioGroup {
241
241
  });
242
242
  return;
243
243
  }
244
- // Find which radio should be focusable
245
- let focusableRadio;
246
244
  // Priority 1: Currently checked radio
247
- focusableRadio = this.cachedRadioElements.find((radio) => radio.checked);
245
+ let focusableRadio = this.cachedRadioElements.find((radio) => radio.checked);
248
246
  // Priority 2: Radio matching current value
249
- if (!focusableRadio && this.value) {
250
- focusableRadio = this.cachedRadioElements.find((radio) => radio.value === this.value);
247
+ if (!isNil(this.value)) {
248
+ focusableRadio ??= this.cachedRadioElements.find((radio) => radio.value === this.value);
251
249
  }
252
250
  // Priority 3: First enabled radio (fallback)
253
- if (!focusableRadio) {
254
- focusableRadio = this.cachedRadioElements.find((radio) => !radio.disabled);
255
- }
251
+ focusableRadio ??= this.cachedRadioElements.find((radio) => !radio.disabled);
256
252
  // Apply tabIndex to all radios
257
253
  this.cachedRadioElements.forEach((radio) => {
258
254
  radio.tabIndex = radio === focusableRadio ? 0 : -1;
@@ -353,7 +349,7 @@ export class BqRadioGroup {
353
349
  // Always the last one in the class.
354
350
  // ===================================
355
351
  render() {
356
- return (h(Host, { key: '324a831a19e6713db5b5f561d78571cb84e9b530', tabindex: this.tabIndex }, h("fieldset", { key: '41474f54b518587ecd897bbbddd8a96ba1e7ebed', "aria-controls": "bq-radiogroup", "aria-disabled": this.disabled, "aria-labelledby": "bq-radio-group__label", class: { 'bq-radio-group': true, 'has-fieldset': this.fieldset }, disabled: this.disabled, part: "base" }, h("legend", { key: 'f5c8834333aa3174418298e7240f16d9d5e85c70', part: "label" }, h("slot", { key: '8180b8c2a610af608092a5a37b3bb5b59ef32b76', id: "bq-radiogroup__label", name: "label" })), h("div", { key: 'dbad104bf6d984de4f9057e2d588dc1899705116', class: `bq-radio-group--${this.orientation}`, part: "group" }, h("slot", { key: '08ce09046a91f79a46e015bda8fc094291a66f4a', id: "bq-radiogroup", onSlotchange: this.handleSlotChange })))));
352
+ return (h(Host, { key: 'bdd2d1ebac746b834eeef6b01842b5b77b2ba2ce', tabindex: this.tabIndex }, h("fieldset", { key: '185fed234744906f7335e1b415e47fd6755fc54b', "aria-controls": "bq-radiogroup", "aria-disabled": this.disabled, "aria-labelledby": "bq-radio-group__label", class: { 'bq-radio-group': true, 'has-fieldset': this.fieldset }, disabled: this.disabled, part: "base" }, h("legend", { key: '242145ebde1fa2dd6123fdc4b507aee17d5c7bea', part: "label" }, h("slot", { key: '05de970d8fa4722ab9f5d40c29918a4ad49d0029', id: "bq-radiogroup__label", name: "label" })), h("div", { key: 'ed3388c950af9fffa1d8edb4e10d1fdfaa07fbcb', class: `bq-radio-group--${this.orientation}`, part: "group" }, h("slot", { key: '67e58e5ccd2f765f963681e281e2d4a8edd2dfd1', id: "bq-radiogroup", onSlotchange: this.handleSlotChange })))));
357
353
  }
358
354
  static get is() { return "bq-radio-group"; }
359
355
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"bq-radio-group.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/radio-group/bq-radio-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { EventEmitter } from '@stencil/core';\nimport { AttachInternals, Component, Element, Event, Host, h, Listen, Prop, State, Watch } from '@stencil/core';\n\nimport {\n debounce,\n getNextElement,\n isDefined,\n isEventTargetChildOfElement,\n isNil,\n type TDebounce,\n validatePropValue,\n} from '../../shared/utils';\nimport type { TRadioGroupOrientation } from './bq-radio-group.types';\nimport { RADIO_GROUP_ORIENTATION } from './bq-radio-group.types';\n\nconst KEY_MAP = {\n ArrowDown: 'forward',\n ArrowRight: 'forward',\n ArrowUp: 'backward',\n ArrowLeft: 'backward',\n} as const;\n\ntype Direction = (typeof KEY_MAP)[keyof typeof KEY_MAP];\n\n/**\n * The radio group is a user interface component that groups radio buttons to enable a single selection within the group.\n *\n * @example How to use it\n * ```html\n * <bq-radio-group fieldset value=\"option1\">\n * <span slot=\"label\">radio group</span>\n * <bq-radio value=\"option1\">Radio option 1</bq-radio>\n * <bq-radio value=\"option2\">Radio option 2</bq-radio>\n * <bq-radio value=\"option3\">Radio option 3</bq-radio>\n * </bq-radio-group>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/9718e1-radio-button/b/09d7b1\n * @status stable\n *\n * @attr {boolean} background-on-hover - If `true`, the radio displays background on hover\n * @attr {number} debounce-time - A number representing the delay time (in milliseconds) that bqChange event handler gets triggered once the value change\n * @attr {boolean} disabled - If `true` radio inputs are disabled\n * @attr {boolean} fieldset - If `true` displays fieldset\n * @attr {string} name - Name of the HTML input form control. Submitted with the form as part of a name/value pair\n * @attr {\"horizontal\" | \"vertical\"} orientation - The display orientation of the radio inputs\n * @attr {boolean} required - If `true`, the radio group is required\n * @attr {string} required-validation-message - The native form validation message when the radio group is required\n * @attr {string} value - The display orientation of the radio inputs\n *\n * @method vClick - Simulate a click event on the native `<input>` HTML element used under the hood\n * @method vFocus - Sets focus on the native `<input>` HTML element used under the hood\n * @method vBlur - Remove focus from the native `<input>` HTML element used under the hood\n *\n * @event bqChange - Handler to be called when the radio state changes\n *\n * @slot - The bq-radio items to group\n * @slot label - The label content of radio group\n *\n * @part base - The component's internal wrapper of the radio components.\n * @part label - The `<legend>` element that holds the text content.\n * @part group - The `<div>` element that holds the radio inputs.\n */\n@Component({\n tag: 'bq-radio-group',\n styleUrl: './scss/bq-radio-group.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqRadioGroup {\n // Own Properties\n // ====================\n\n private initialValue?: string;\n private debouncedBqChange: TDebounce<{ value: string; target: HTMLBqRadioElement }>;\n private focusedBqRadio: HTMLBqRadioElement | null = null;\n private readonly radioElementsSet = new Set<HTMLBqRadioElement>();\n private cachedRadioElements: HTMLBqRadioElement[] = [];\n\n // Reference to host HTML element\n // ===================================\n\n @AttachInternals() internals!: ElementInternals;\n @Element() el!: HTMLBqRadioGroupElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() checkedRadio?: HTMLBqRadioElement;\n @State() tabIndex: '0' | '-1' = '0';\n\n // Public Property API\n // ========================\n\n /** If true, all radio inputs in the group will display a background on hover */\n @Prop({ reflect: true }) backgroundOnHover = false;\n\n /** A number representing the delay time (in milliseconds) that `bqChange` event handler gets triggered once the value change */\n @Prop({ reflect: true, mutable: true }) debounceTime = 0;\n\n /** If true radio inputs are disabled */\n @Prop({ reflect: true }) disabled = false;\n\n /** If true displays fieldset */\n @Prop({ reflect: true }) fieldset = false;\n\n /** Name of the HTML input form control. Submitted with the form as part of a name/value pair. */\n @Prop({ reflect: true }) name!: string;\n\n /** The display orientation of the radio inputs */\n @Prop({ reflect: true, mutable: true }) orientation: TRadioGroupOrientation = 'vertical';\n\n /** If true, the radio group is required */\n @Prop({ reflect: true }) required = false;\n\n /** The native form validation message when the radio group is required */\n @Prop({ reflect: true }) requiredValidationMessage?: string;\n\n /** A string representing the value of the radio. */\n @Prop({ reflect: true, mutable: true }) value?: string;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('debounceTime')\n handleDebounceTimeChange() {\n const MIN_DEBOUNCE_TIME = 0;\n const normalizedDebounceTime = Math.max(MIN_DEBOUNCE_TIME, this.debounceTime);\n\n if (normalizedDebounceTime !== this.debounceTime) {\n this.debounceTime = normalizedDebounceTime;\n }\n\n this.debouncedBqChange?.cancel();\n this.debouncedBqChange = debounce((event: { value: string; target: HTMLBqRadioElement }): void => {\n this.bqChange?.emit(event);\n }, this.debounceTime);\n }\n\n @Watch('disabled')\n handleDisabledChange() {\n this.tabIndex = this.disabled ? '-1' : '0';\n this.updateRadioTabIndexes();\n }\n\n @Watch('backgroundOnHover')\n @Watch('disabled')\n @Watch('name')\n @Watch('required')\n handleGroupProperties() {\n this.updateRadioProperties();\n }\n\n @Watch('orientation')\n checkPropValues() {\n validatePropValue(RADIO_GROUP_ORIENTATION, 'vertical', this.el, 'orientation');\n }\n\n @Watch('required')\n handleRequiredChange() {\n this.updateFormValidity();\n }\n\n @Watch('value')\n handleValueChange() {\n this.updateRadioProperties();\n this.updateFormValidity();\n\n // Find and update the checked radio based on the new value\n const newCheckedRadio = this.cachedRadioElements.find((radio) => radio.value === this.value);\n if (newCheckedRadio) {\n this.checkedRadio = newCheckedRadio;\n this.debouncedBqChange?.({ value: this.value, target: newCheckedRadio });\n } else {\n this.checkedRadio = undefined;\n }\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the radio state changes */\n @Event() bqChange: EventEmitter<{ value: string; target: HTMLBqRadioElement }>;\n\n /** Handler to be called when the radio loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqRadioElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.initialValue = this.value;\n this.handleDebounceTimeChange();\n this.internals.setFormValue(this.value ?? null);\n\n this.updateCustomStates();\n this.updateFormValidity();\n }\n\n disconnectedCallback() {\n this.debouncedBqChange?.cancel();\n }\n\n formAssociatedCallback() {\n this.internals.setFormValue(this.value ?? null);\n this.updateFormValidity();\n }\n\n formResetCallback() {\n this.value = this.initialValue;\n this.internals.setFormValue(this.value ?? null);\n this.updateFormValidity();\n this.updateCustomStates();\n }\n\n // Listeners\n // ==============\n\n @Listen('bqClick', { capture: true })\n async onBqClick(event: CustomEvent<{ value: string; target: HTMLBqRadioElement }>) {\n if (!isEventTargetChildOfElement(event, this.el)) return;\n\n const { target, value } = event.detail;\n if (value === this.value) return;\n\n requestAnimationFrame(() => {\n if (event.defaultPrevented) return;\n this.updateRadioSelection(target);\n });\n }\n\n @Listen('bqKeyDown')\n onBqKeyDown(event: CustomEvent<{ key: string; target: HTMLBqRadioElement }>) {\n if (!isEventTargetChildOfElement(event, this.el)) return;\n\n const direction: Direction | undefined = KEY_MAP[event.detail.key];\n if (!direction) return;\n\n this.focusRadioInputSibling(event.detail.target, direction);\n }\n\n @Listen('bqFocus', { capture: true })\n onBqFocus(event: CustomEvent<HTMLBqRadioElement>) {\n if (!isEventTargetChildOfElement(event, this.el)) return;\n\n const shouldStopPropagation = isDefined(this.focusedBqRadio);\n this.focusedBqRadio = event.detail;\n\n if (shouldStopPropagation) {\n event.stopPropagation();\n }\n }\n\n @Listen('bqBlur', { capture: true })\n onBqBlur(event: CustomEvent<HTMLBqRadioElement>) {\n if (!isEventTargetChildOfElement(event, this.el)) return;\n\n // NOTE: if focusedBqRadio is nil that means the event occurred from this component\n if (isNil(this.focusedBqRadio)) return;\n\n event.stopPropagation();\n\n requestAnimationFrame(() => {\n if (this.focusedBqRadio !== event.detail) return;\n\n this.focusedBqRadio = null;\n this.bqBlur.emit(event.detail);\n });\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 /**\n * Initializes the radio elements set by querying the host element for `ds-radio` elements.\n * This is done to avoid re-querying the host element for radio elements on every change.\n */\n private initializeRadioElements = (): void => {\n this.radioElementsSet.clear();\n this.el.querySelectorAll('bq-radio').forEach((radio) => {\n this.radioElementsSet.add(radio);\n });\n // Caching the radio elements in an array for faster access and iteration\n this.cachedRadioElements = Array.from(this.radioElementsSet);\n // Set the tabIndex of the host element to -1 if there are no radio elements or the group is disabled, otherwise set it to 0\n this.tabIndex = this.cachedRadioElements.length === 0 || this.disabled ? '-1' : '0';\n // Set initial tabIndex for all radios\n this.updateRadioTabIndexes();\n };\n\n /**\n * Sets tabIndex for all radio elements based on current state\n * Handles all scenarios: disabled state, checked radio, value matching, fallback to first\n */\n private updateRadioTabIndexes = (): void => {\n if (this.cachedRadioElements.length === 0) return;\n\n // If disabled, all radios get tabIndex -1\n if (this.disabled) {\n this.cachedRadioElements.forEach((radio) => {\n radio.tabIndex = -1;\n });\n return;\n }\n\n // Find which radio should be focusable\n let focusableRadio: HTMLBqRadioElement | undefined;\n\n // Priority 1: Currently checked radio\n focusableRadio = this.cachedRadioElements.find((radio) => radio.checked);\n\n // Priority 2: Radio matching current value\n if (!focusableRadio && this.value) {\n focusableRadio = this.cachedRadioElements.find((radio) => radio.value === this.value);\n }\n\n // Priority 3: First enabled radio (fallback)\n if (!focusableRadio) {\n focusableRadio = this.cachedRadioElements.find((radio) => !radio.disabled);\n }\n\n // Apply tabIndex to all radios\n this.cachedRadioElements.forEach((radio) => {\n radio.tabIndex = radio === focusableRadio ? 0 : -1;\n });\n };\n\n /**\n * Updates the radio selection and focus.\n * @param target - The radio element to update.\n */\n private updateRadioSelection = (target: HTMLBqRadioElement): void => {\n // Only uncheck the previously checked radio if it's different\n if (this.checkedRadio && this.checkedRadio !== target) {\n this.checkedRadio.checked = false;\n this.checkedRadio.tabIndex = -1;\n }\n\n target.checked = true;\n target.tabIndex = 0;\n target.vFocus();\n\n this.checkedRadio = target;\n this.value = target.value;\n this.internals?.setFormValue(this.value ?? null);\n\n this.updateRadioTabIndexes();\n };\n\n /**\n * Synchronizes properties of child radio elements with the group's state.\n */\n private updateRadioProperties = (): void => {\n if (this.cachedRadioElements.length === 0) return;\n\n const { backgroundOnHover, disabled, name, required, value } = this;\n\n for (const radio of this.cachedRadioElements) {\n radio.backgroundOnHover = backgroundOnHover;\n radio.checked = value === radio.value;\n // This will allows us to force all radio elements to be disabled\n // while keeping the disabled state of the radio element if it was set individually by the user\n radio.forceDisabled = disabled;\n radio.name = name;\n radio.required = required;\n }\n };\n\n /**\n * Focuses the next/previous radio element in the group based on the current target.\n * Handles circular navigation and skips disabled elements.\n * @param currentTarget - The currently focused radio element\n * @param direction - The navigation direction ('forward' | 'backward')\n */\n private focusRadioInputSibling = (currentTarget: HTMLBqRadioElement, direction: Direction): void => {\n // If there is none or only one radio element, there will be no sibling to focus\n if (this.cachedRadioElements.length <= 1) return;\n\n const currentIndex = this.cachedRadioElements.indexOf(currentTarget);\n // If the index of the radio element target is not found, it means that it's not part of the group\n if (currentIndex === -1) return;\n\n const nextElement = getNextElement(this.cachedRadioElements, currentIndex, direction);\n this.updateRadioSelection(nextElement);\n };\n\n private updateFormValidity = async (): Promise<void> => {\n const { internals, required, requiredValidationMessage, value } = this;\n // Clear the validity state\n internals?.states.clear();\n\n if (!required || (required && !isNil(value))) {\n // If the radio group is not required or has a value, set the validity state to valid\n internals?.states.add('valid');\n internals?.setValidity({});\n return;\n }\n\n const firstRadio = this.cachedRadioElements[0];\n if (!firstRadio) return;\n // If the radio group is required and has no value, set the validity state to invalid\n internals?.states.add('invalid');\n // We need to pass the native input element to the setValidity method as anchor element\n internals?.setValidity(\n { valueMissing: true },\n requiredValidationMessage ?? 'Please select an option',\n await firstRadio.getNativeInput(),\n );\n };\n\n /**\n * Updates the custom states based on the component properties.\n * The custom states can be used to style the component based on the component properties.\n * The custom states are `disabled`, based on the component properties.\n */\n private updateCustomStates = (): void => {\n const states = new Set<string>();\n\n if (this.disabled) states.add('disabled');\n if (this.orientation) states.add(this.orientation);\n\n // Update states\n this.internals?.states.clear();\n states.forEach((state) => {\n this.internals?.states.add(state);\n });\n };\n\n private handleSlotChange = (): void => {\n this.initializeRadioElements();\n this.updateRadioProperties();\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host tabindex={this.tabIndex}>\n <fieldset\n aria-controls=\"bq-radiogroup\"\n aria-disabled={this.disabled}\n aria-labelledby=\"bq-radio-group__label\"\n class={{ 'bq-radio-group': true, 'has-fieldset': this.fieldset }}\n disabled={this.disabled}\n part=\"base\"\n >\n <legend part=\"label\">\n <slot id=\"bq-radiogroup__label\" name=\"label\" />\n </legend>\n <div class={`bq-radio-group--${this.orientation}`} part=\"group\">\n <slot id=\"bq-radiogroup\" onSlotchange={this.handleSlotChange} />\n </div>\n </fieldset>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"bq-radio-group.js","sourceRoot":"","sources":["../../../../../../packages/beeq/src/components/radio-group/bq-radio-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { EventEmitter } from '@stencil/core';\nimport { AttachInternals, Component, Element, Event, Host, h, Listen, Prop, State, Watch } from '@stencil/core';\n\nimport {\n debounce,\n getNextElement,\n isDefined,\n isEventTargetChildOfElement,\n isNil,\n type TDebounce,\n validatePropValue,\n} from '../../shared/utils';\nimport type { TRadioGroupOrientation } from './bq-radio-group.types';\nimport { RADIO_GROUP_ORIENTATION } from './bq-radio-group.types';\n\nconst KEY_MAP = {\n ArrowDown: 'forward',\n ArrowRight: 'forward',\n ArrowUp: 'backward',\n ArrowLeft: 'backward',\n} as const;\n\ntype Direction = (typeof KEY_MAP)[keyof typeof KEY_MAP];\n\n/**\n * The radio group is a user interface component that groups radio buttons to enable a single selection within the group.\n *\n * @example How to use it\n * ```html\n * <bq-radio-group fieldset value=\"option1\">\n * <span slot=\"label\">radio group</span>\n * <bq-radio value=\"option1\">Radio option 1</bq-radio>\n * <bq-radio value=\"option2\">Radio option 2</bq-radio>\n * <bq-radio value=\"option3\">Radio option 3</bq-radio>\n * </bq-radio-group>\n * ```\n *\n * @documentation https://www.beeq.design/3d466e231/p/9718e1-radio-button/b/09d7b1\n * @status stable\n *\n * @attr {boolean} background-on-hover - If `true`, the radio displays background on hover\n * @attr {number} debounce-time - A number representing the delay time (in milliseconds) that bqChange event handler gets triggered once the value change\n * @attr {boolean} disabled - If `true` radio inputs are disabled\n * @attr {boolean} fieldset - If `true` displays fieldset\n * @attr {string} name - Name of the HTML input form control. Submitted with the form as part of a name/value pair\n * @attr {\"horizontal\" | \"vertical\"} orientation - The display orientation of the radio inputs\n * @attr {boolean} required - If `true`, the radio group is required\n * @attr {string} required-validation-message - The native form validation message when the radio group is required\n * @attr {string} value - The display orientation of the radio inputs\n *\n * @method vClick - Simulate a click event on the native `<input>` HTML element used under the hood\n * @method vFocus - Sets focus on the native `<input>` HTML element used under the hood\n * @method vBlur - Remove focus from the native `<input>` HTML element used under the hood\n *\n * @event bqChange - Handler to be called when the radio state changes\n *\n * @slot - The bq-radio items to group\n * @slot label - The label content of radio group\n *\n * @part base - The component's internal wrapper of the radio components.\n * @part label - The `<legend>` element that holds the text content.\n * @part group - The `<div>` element that holds the radio inputs.\n */\n@Component({\n tag: 'bq-radio-group',\n styleUrl: './scss/bq-radio-group.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqRadioGroup {\n // Own Properties\n // ====================\n\n private initialValue?: string;\n private debouncedBqChange: TDebounce<{ value: string; target: HTMLBqRadioElement }>;\n private focusedBqRadio: HTMLBqRadioElement | null = null;\n private readonly radioElementsSet = new Set<HTMLBqRadioElement>();\n private cachedRadioElements: HTMLBqRadioElement[] = [];\n\n // Reference to host HTML element\n // ===================================\n\n @AttachInternals() internals!: ElementInternals;\n @Element() el!: HTMLBqRadioGroupElement;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() checkedRadio?: HTMLBqRadioElement;\n @State() tabIndex: '0' | '-1' = '0';\n\n // Public Property API\n // ========================\n\n /** If true, all radio inputs in the group will display a background on hover */\n @Prop({ reflect: true }) backgroundOnHover = false;\n\n /** A number representing the delay time (in milliseconds) that `bqChange` event handler gets triggered once the value change */\n @Prop({ reflect: true, mutable: true }) debounceTime = 0;\n\n /** If true radio inputs are disabled */\n @Prop({ reflect: true }) disabled = false;\n\n /** If true displays fieldset */\n @Prop({ reflect: true }) fieldset = false;\n\n /** Name of the HTML input form control. Submitted with the form as part of a name/value pair. */\n @Prop({ reflect: true }) name!: string;\n\n /** The display orientation of the radio inputs */\n @Prop({ reflect: true, mutable: true }) orientation: TRadioGroupOrientation = 'vertical';\n\n /** If true, the radio group is required */\n @Prop({ reflect: true }) required = false;\n\n /** The native form validation message when the radio group is required */\n @Prop({ reflect: true }) requiredValidationMessage?: string;\n\n /** A string representing the value of the radio. */\n @Prop({ reflect: true, mutable: true }) value?: string;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('debounceTime')\n handleDebounceTimeChange() {\n const MIN_DEBOUNCE_TIME = 0;\n const normalizedDebounceTime = Math.max(MIN_DEBOUNCE_TIME, this.debounceTime);\n\n if (normalizedDebounceTime !== this.debounceTime) {\n this.debounceTime = normalizedDebounceTime;\n }\n\n this.debouncedBqChange?.cancel();\n this.debouncedBqChange = debounce((event: { value: string; target: HTMLBqRadioElement }): void => {\n this.bqChange?.emit(event);\n }, this.debounceTime);\n }\n\n @Watch('disabled')\n handleDisabledChange() {\n this.tabIndex = this.disabled ? '-1' : '0';\n this.updateRadioTabIndexes();\n }\n\n @Watch('backgroundOnHover')\n @Watch('disabled')\n @Watch('name')\n @Watch('required')\n handleGroupProperties() {\n this.updateRadioProperties();\n }\n\n @Watch('orientation')\n checkPropValues() {\n validatePropValue(RADIO_GROUP_ORIENTATION, 'vertical', this.el, 'orientation');\n }\n\n @Watch('required')\n handleRequiredChange() {\n this.updateFormValidity();\n }\n\n @Watch('value')\n handleValueChange() {\n this.updateRadioProperties();\n this.updateFormValidity();\n\n // Find and update the checked radio based on the new value\n const newCheckedRadio = this.cachedRadioElements.find((radio) => radio.value === this.value);\n if (newCheckedRadio) {\n this.checkedRadio = newCheckedRadio;\n this.debouncedBqChange?.({ value: this.value, target: newCheckedRadio });\n } else {\n this.checkedRadio = undefined;\n }\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the radio state changes */\n @Event() bqChange: EventEmitter<{ value: string; target: HTMLBqRadioElement }>;\n\n /** Handler to be called when the radio loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqRadioElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.initialValue = this.value;\n this.handleDebounceTimeChange();\n this.internals.setFormValue(this.value ?? null);\n\n this.updateCustomStates();\n this.updateFormValidity();\n }\n\n disconnectedCallback() {\n this.debouncedBqChange?.cancel();\n }\n\n formAssociatedCallback() {\n this.internals.setFormValue(this.value ?? null);\n this.updateFormValidity();\n }\n\n formResetCallback() {\n this.value = this.initialValue;\n this.internals.setFormValue(this.value ?? null);\n this.updateCustomStates();\n this.updateFormValidity();\n }\n\n // Listeners\n // ==============\n\n @Listen('bqClick', { capture: true })\n async onBqClick(event: CustomEvent<{ value: string; target: HTMLBqRadioElement }>) {\n if (!isEventTargetChildOfElement(event, this.el)) return;\n\n const { target, value } = event.detail;\n if (value === this.value) return;\n\n requestAnimationFrame(() => {\n if (event.defaultPrevented) return;\n this.updateRadioSelection(target);\n });\n }\n\n @Listen('bqKeyDown')\n onBqKeyDown(event: CustomEvent<{ key: string; target: HTMLBqRadioElement }>) {\n if (!isEventTargetChildOfElement(event, this.el)) return;\n\n const direction: Direction | undefined = KEY_MAP[event.detail.key];\n if (!direction) return;\n\n this.focusRadioInputSibling(event.detail.target, direction);\n }\n\n @Listen('bqFocus', { capture: true })\n onBqFocus(event: CustomEvent<HTMLBqRadioElement>) {\n if (!isEventTargetChildOfElement(event, this.el)) return;\n\n const shouldStopPropagation = isDefined(this.focusedBqRadio);\n this.focusedBqRadio = event.detail;\n\n if (shouldStopPropagation) {\n event.stopPropagation();\n }\n }\n\n @Listen('bqBlur', { capture: true })\n onBqBlur(event: CustomEvent<HTMLBqRadioElement>) {\n if (!isEventTargetChildOfElement(event, this.el)) return;\n\n // NOTE: if focusedBqRadio is nil that means the event occurred from this component\n if (isNil(this.focusedBqRadio)) return;\n\n event.stopPropagation();\n\n requestAnimationFrame(() => {\n if (this.focusedBqRadio !== event.detail) return;\n\n this.focusedBqRadio = null;\n this.bqBlur.emit(event.detail);\n });\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 /**\n * Initializes the radio elements set by querying the host element for `ds-radio` elements.\n * This is done to avoid re-querying the host element for radio elements on every change.\n */\n private initializeRadioElements = (): void => {\n this.radioElementsSet.clear();\n this.el.querySelectorAll('bq-radio').forEach((radio) => {\n this.radioElementsSet.add(radio);\n });\n // Caching the radio elements in an array for faster access and iteration\n this.cachedRadioElements = Array.from(this.radioElementsSet);\n // Set the tabIndex of the host element to -1 if there are no radio elements or the group is disabled, otherwise set it to 0\n this.tabIndex = this.cachedRadioElements.length === 0 || this.disabled ? '-1' : '0';\n // Set initial tabIndex for all radios\n this.updateRadioTabIndexes();\n };\n\n /**\n * Sets tabIndex for all radio elements based on current state\n * Handles all scenarios: disabled state, checked radio, value matching, fallback to first\n */\n private updateRadioTabIndexes = (): void => {\n if (this.cachedRadioElements.length === 0) return;\n\n // If disabled, all radios get tabIndex -1\n if (this.disabled) {\n this.cachedRadioElements.forEach((radio) => {\n radio.tabIndex = -1;\n });\n return;\n }\n\n // Priority 1: Currently checked radio\n let focusableRadio = this.cachedRadioElements.find((radio) => radio.checked);\n\n // Priority 2: Radio matching current value\n if (!isNil(this.value)) {\n focusableRadio ??= this.cachedRadioElements.find((radio) => radio.value === this.value);\n }\n\n // Priority 3: First enabled radio (fallback)\n focusableRadio ??= this.cachedRadioElements.find((radio) => !radio.disabled);\n\n // Apply tabIndex to all radios\n this.cachedRadioElements.forEach((radio) => {\n radio.tabIndex = radio === focusableRadio ? 0 : -1;\n });\n };\n\n /**\n * Updates the radio selection and focus.\n * @param target - The radio element to update.\n */\n private updateRadioSelection = (target: HTMLBqRadioElement): void => {\n // Only uncheck the previously checked radio if it's different\n if (this.checkedRadio && this.checkedRadio !== target) {\n this.checkedRadio.checked = false;\n this.checkedRadio.tabIndex = -1;\n }\n\n target.checked = true;\n target.tabIndex = 0;\n target.vFocus();\n\n this.checkedRadio = target;\n this.value = target.value;\n this.internals?.setFormValue(this.value ?? null);\n\n this.updateRadioTabIndexes();\n };\n\n /**\n * Synchronizes properties of child radio elements with the group's state.\n */\n private updateRadioProperties = (): void => {\n if (this.cachedRadioElements.length === 0) return;\n\n const { backgroundOnHover, disabled, name, required, value } = this;\n\n for (const radio of this.cachedRadioElements) {\n radio.backgroundOnHover = backgroundOnHover;\n radio.checked = value === radio.value;\n // This will allows us to force all radio elements to be disabled\n // while keeping the disabled state of the radio element if it was set individually by the user\n radio.forceDisabled = disabled;\n radio.name = name;\n radio.required = required;\n }\n };\n\n /**\n * Focuses the next/previous radio element in the group based on the current target.\n * Handles circular navigation and skips disabled elements.\n * @param currentTarget - The currently focused radio element\n * @param direction - The navigation direction ('forward' | 'backward')\n */\n private focusRadioInputSibling = (currentTarget: HTMLBqRadioElement, direction: Direction): void => {\n // If there is none or only one radio element, there will be no sibling to focus\n if (this.cachedRadioElements.length <= 1) return;\n\n const currentIndex = this.cachedRadioElements.indexOf(currentTarget);\n // If the index of the radio element target is not found, it means that it's not part of the group\n if (currentIndex === -1) return;\n\n const nextElement = getNextElement(this.cachedRadioElements, currentIndex, direction);\n this.updateRadioSelection(nextElement);\n };\n\n private updateFormValidity = async (): Promise<void> => {\n const { internals, required, requiredValidationMessage, value } = this;\n // Clear the validity state\n internals?.states.clear();\n\n if (!required || (required && !isNil(value))) {\n // If the radio group is not required or has a value, set the validity state to valid\n internals?.states.add('valid');\n internals?.setValidity({});\n return;\n }\n\n const firstRadio = this.cachedRadioElements[0];\n if (!firstRadio) return;\n // If the radio group is required and has no value, set the validity state to invalid\n internals?.states.add('invalid');\n // We need to pass the native input element to the setValidity method as anchor element\n internals?.setValidity(\n { valueMissing: true },\n requiredValidationMessage ?? 'Please select an option',\n await firstRadio.getNativeInput(),\n );\n };\n\n /**\n * Updates the custom states based on the component properties.\n * The custom states can be used to style the component based on the component properties.\n * The custom states are `disabled`, based on the component properties.\n */\n private updateCustomStates = (): void => {\n const states = new Set<string>();\n\n if (this.disabled) states.add('disabled');\n if (this.orientation) states.add(this.orientation);\n\n // Update states\n this.internals?.states.clear();\n states.forEach((state) => {\n this.internals?.states.add(state);\n });\n };\n\n private handleSlotChange = (): void => {\n this.initializeRadioElements();\n this.updateRadioProperties();\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n return (\n <Host tabindex={this.tabIndex}>\n <fieldset\n aria-controls=\"bq-radiogroup\"\n aria-disabled={this.disabled}\n aria-labelledby=\"bq-radio-group__label\"\n class={{ 'bq-radio-group': true, 'has-fieldset': this.fieldset }}\n disabled={this.disabled}\n part=\"base\"\n >\n <legend part=\"label\">\n <slot id=\"bq-radiogroup__label\" name=\"label\" />\n </legend>\n <div class={`bq-radio-group--${this.orientation}`} part=\"group\">\n <slot id=\"bq-radiogroup\" onSlotchange={this.handleSlotChange} />\n </div>\n </fieldset>\n </Host>\n );\n }\n}\n"]}
@@ -38,6 +38,7 @@ import { debounce, hasSlotContent, isDefined, isHTMLElement, isNil, stringToArra
38
38
  * @attr {boolean} disabled - Indicates whether the Select input is disabled and cannot be interacted with.
39
39
  * @attr {number} distance - Represents the distance (gutter or margin) between the Select panel and the input element.
40
40
  * @attr {string} form - The ID of the form that Select input field belongs to.
41
+ * @attr {string} form-validation-message - The native form validation message (mandatory if `required` is set).
41
42
  * @attr {boolean} keep-open-on-select - If `true`, the Select panel will remain open after a selection is made.
42
43
  * @attr {number} max-tags-visible - The maximum number of tags to display when multiple selection is enabled.
43
44
  * @attr {boolean} multiple - If `true`, the Select input will allow multiple selections.
@@ -158,6 +159,8 @@ export class BqSelect {
158
159
  distance = 8;
159
160
  /** The ID of the form that the Select input belongs to. */
160
161
  form;
162
+ /** The native form validation message (mandatory if `required` is set) */
163
+ formValidationMessage;
161
164
  /** If true, the Select panel will remain open after a selection is made. */
162
165
  keepOpenOnSelect = false;
163
166
  /** The Select input name. */
@@ -205,6 +208,7 @@ export class BqSelect {
205
208
  this.value = this.multiple ? [] : '';
206
209
  this.internals.setFormValue(undefined);
207
210
  this.syncItemsFromValue();
211
+ this.updateFormValidity();
208
212
  return;
209
213
  }
210
214
  // Handle multiple selection mode
@@ -212,12 +216,17 @@ export class BqSelect {
212
216
  this.value = stringToArray(this.value);
213
217
  this.internals.setFormValue(this.value.join(','));
214
218
  this.syncItemsFromValue();
219
+ this.updateFormValidity();
215
220
  return;
216
221
  }
217
222
  // Handle single selection mode
218
223
  this.value = String(this.value);
219
224
  this.internals.setFormValue(this.value);
220
225
  this.syncItemsFromValue();
226
+ this.updateFormValidity();
227
+ }
228
+ handleRequiredPropChange() {
229
+ this.updateFormValidity();
221
230
  }
222
231
  // Events section
223
232
  // Requires JSDocs for public API documentation
@@ -251,11 +260,12 @@ export class BqSelect {
251
260
  formAssociatedCallback() {
252
261
  this.internals.role = 'combobox';
253
262
  this.internals.ariaExpanded = this.open ? 'true' : 'false';
263
+ this.updateFormValidity();
254
264
  }
255
265
  async formResetCallback() {
256
266
  if (isNil(this.value))
257
267
  return;
258
- this.internals.setValidity({});
268
+ this.updateFormValidity();
259
269
  this.clear();
260
270
  }
261
271
  // Listeners
@@ -537,6 +547,23 @@ export class BqSelect {
537
547
  }
538
548
  return '';
539
549
  };
550
+ updateFormValidity = () => {
551
+ const { formValidationMessage, internals, required, value } = this;
552
+ // Clear the validity state
553
+ internals?.states.clear();
554
+ const isEmpty = this.multiple
555
+ ? !Array.isArray(value) || value.length === 0
556
+ : !isDefined(value) || String(value).trim() === '';
557
+ if (required && isEmpty) {
558
+ // Set validity state to invalid
559
+ internals?.states.add('invalid');
560
+ internals?.setValidity({ valueMissing: true }, formValidationMessage || 'Please select an option', this.inputElem);
561
+ return;
562
+ }
563
+ // Set validity state to valid if textarea has value or is not required
564
+ internals?.states.add('valid');
565
+ internals?.setValidity({});
566
+ };
540
567
  get options() {
541
568
  return Array.from(this.el.querySelectorAll('bq-option'));
542
569
  }
@@ -575,29 +602,29 @@ export class BqSelect {
575
602
  // ===================================
576
603
  render() {
577
604
  const labelId = `bq-select__label-${this.name || this.fallbackInputId}`;
578
- return (h("div", { key: '7fce1b5a16a7e5b25cce5624c60c09187f380f2c', class: "bq-select", part: "base" }, h("label", { key: '5785e81858a0493c5cfc2e80ebcd19d96ff50d22', "aria-label": this.name || this.fallbackInputId, class: { 'bq-select__label': true, '!hidden': !this.hasLabel }, htmlFor: this.name || this.fallbackInputId, id: labelId, part: "label", ref: (labelElem) => {
605
+ return (h("div", { key: '3ac6927fd004b8de97f4b66f0fcb83151d04755c', class: "bq-select", part: "base" }, h("label", { key: '5f0d3b9899c3c17ce58a4cff93ba377993ff4f72', "aria-label": this.name || this.fallbackInputId, class: { 'bq-select__label': true, '!hidden': !this.hasLabel }, htmlFor: this.name || this.fallbackInputId, id: labelId, part: "label", ref: (labelElem) => {
579
606
  this.labelElem = labelElem;
580
- } }, h("slot", { key: 'bb7730c735f53312411f9d873483cb876835da0f', name: "label", onSlotchange: this.handleSlotChange })), h("bq-dropdown", { key: '8064982e9df5815d0213d6129212bc1e7472fdf9', class: "bq-select__dropdown w-full", disabled: this.disabled, disableScrollLock: this.disableScrollLock, distance: this.distance, exportparts: "panel", keepOpenOnSelect: this.keepOpenOnSelect, open: this.open, panelHeight: this.panelHeight, placement: this.placement, sameWidth: this.sameWidth, skidding: this.skidding, strategy: this.strategy }, h("div", { key: '014b00e22b0870ae1fc70fdd712e75890741212f', class: {
607
+ } }, h("slot", { key: 'c7262cb63edc2a85de1bd119b9acab5f22038cb7', name: "label", onSlotchange: this.handleSlotChange })), h("bq-dropdown", { key: '3c8b5050c2c5d59236a5c2e9c663f11fde6d22eb', class: "bq-select__dropdown w-full", disabled: this.disabled, disableScrollLock: this.disableScrollLock, distance: this.distance, exportparts: "panel", keepOpenOnSelect: this.keepOpenOnSelect, open: this.open, panelHeight: this.panelHeight, placement: this.placement, sameWidth: this.sameWidth, skidding: this.skidding, strategy: this.strategy }, h("div", { key: 'f4affd0bc3129ebd50d6812b71aab734ad08dc14', class: {
581
608
  'bq-select__control': true,
582
609
  [`validation-${this.validationStatus}`]: true,
583
610
  disabled: this.disabled,
584
- }, part: "control", slot: "trigger" }, h("span", { key: '9258ab50855df0a94eaa470d55371cf5a3197ac9', class: { 'bq-select__control--prefix': true, '!hidden': !this.hasPrefix }, part: "prefix", ref: (spanElem) => {
611
+ }, part: "control", slot: "trigger" }, h("span", { key: '228c2739b4e2ba0d1fa09360e1c45a2594e3af1c', class: { 'bq-select__control--prefix': true, '!hidden': !this.hasPrefix }, part: "prefix", ref: (spanElem) => {
585
612
  this.prefixElem = spanElem;
586
- } }, h("slot", { key: '1cf1940473621784792bf8d0e77391233ec99aee', name: "prefix", onSlotchange: this.handleSlotChange })), h("div", { key: 'a91471faea3a207758de88e98081e159848c573f', class: "flex flex-1 overflow-x-auto", part: "input-outline" }, this.multiple && (h("span", { key: 'db8bbcc8837bb9c3949130a8ca9a09a1377abf55', class: "bq-select__tags", part: "tags" }, h("slot", { key: '6a9d99f481a7b0a7e3df77ff01bbc515135c0bfb', name: "tags" }, this.displayTags))), h("input", { key: 'bf4b0b97f3b5adf3f7116a04efcdf66701b72e0a', "aria-controls": `bq-options-${this.name}`, "aria-disabled": this.disabled ? 'true' : 'false', "aria-expanded": this.open ? 'true' : 'false', "aria-haspopup": "listbox", autoCapitalize: "off", autoComplete: "off", class: "bq-select__control--input is-full flex-grow", disabled: this.disabled, form: this.form, id: this.name || this.fallbackInputId, name: this.name, onBlur: this.handleBlur, onFocus: this.handleFocus, onInput: this.handleInput, onKeyDown: this.handleKeydown, part: "input", placeholder: this.displayPlaceholder, readOnly: this.readonly, ref: (inputElem) => {
613
+ } }, h("slot", { key: '98a207db3b4e9fbb2aee9545d40b56ae3e3a2124', name: "prefix", onSlotchange: this.handleSlotChange })), h("div", { key: 'ee7ff8f24c599b9954f0ca664f7169262ee75636', class: "flex flex-1 overflow-x-auto", part: "input-outline" }, this.multiple && (h("span", { key: 'a9f016739ad1cad0e468954932bddaa00c222160', class: "bq-select__tags", part: "tags" }, h("slot", { key: 'faae09dca15fa1fbec43e6cbde5ecb7241fb82c0', name: "tags" }, this.displayTags))), h("input", { key: 'f5d11d101de3bab402f41253bd0bcbeb7f40c417', "aria-controls": `bq-options-${this.name}`, "aria-disabled": this.disabled ? 'true' : 'false', "aria-expanded": this.open ? 'true' : 'false', "aria-haspopup": "listbox", autoCapitalize: "off", autoComplete: "off", class: "bq-select__control--input is-full flex-grow", disabled: this.disabled, form: this.form, id: this.name || this.fallbackInputId, name: this.name, onBlur: this.handleBlur, onFocus: this.handleFocus, onInput: this.handleInput, onKeyDown: this.handleKeydown, part: "input", placeholder: this.displayPlaceholder, readOnly: this.readonly, ref: (inputElem) => {
587
614
  this.inputElem = inputElem;
588
615
  }, required: this.required, role: "combobox",
589
616
  // Events
590
617
  spellcheck: false, type: "text", value: this.displayValue })), this.hasClearIcon && (
591
618
  // The clear button will be visible as long as the input has a value
592
619
  // and the parent group is hovered or has focus-within
593
- h("bq-button", { key: '8a74e1c5d96622392a828ce6336152e84b2d427d', appearance: "text", border: "s", class: "bq-select__control--clear ms-[--bq-select--gap] hidden [&::part(button)]:border-none [&::part(button)]:p-0", exportparts: "button", label: this.clearButtonLabel, onBqClick: this.handleClearClick, onlyIcon: true, part: "clear-btn", size: "small", tabIndex: -1 }, h("slot", { key: '0d3b64bba90b0d28fbf1fd1ef3f91b07cce7c542', name: "clear-icon" }, h("bq-icon", { key: 'e081ee013781bed15d22d1d3c999314eb1fc76af', "aria-hidden": "true", class: "flex", name: "x-circle" })))), h("span", { key: 'd6ee0750683f57c4843b66c0f57fa4f8fe593233', class: { 'bq-select__control--suffix': true, 'rotate-180': this.open, 'rotate-0': !this.open }, part: "suffix", ref: (spanElem) => {
620
+ h("bq-button", { key: '1bae439a9b9f3ba28393cf3c7a6fa7dde1bfdd4d', appearance: "text", border: "s", class: "bq-select__control--clear ms-[--bq-select--gap] hidden [&::part(button)]:border-none [&::part(button)]:p-0", exportparts: "button", label: this.clearButtonLabel, onBqClick: this.handleClearClick, onlyIcon: true, part: "clear-btn", size: "small", tabIndex: -1 }, h("slot", { key: '52147b8bbb070b92acfe631114e6c074ed04b3c1', name: "clear-icon" }, h("bq-icon", { key: 'fc1f97a1f710654113431fd816229e4421f04f72', "aria-hidden": "true", class: "flex", name: "x-circle" })))), h("span", { key: 'd6499acc2ff3c1d977d9048c62e961e90a894164', class: { 'bq-select__control--suffix': true, 'rotate-180': this.open, 'rotate-0': !this.open }, part: "suffix", ref: (spanElem) => {
594
621
  this.suffixElem = spanElem;
595
- } }, h("slot", { key: '60bbf927836994e487ec5615ac37b46309a7f0d2', name: "suffix", onSlotchange: this.handleSlotChange }, h("bq-icon", { key: 'f92b77a0d9833e0ad31d7a9adbd8b0ce76f069b7', class: "flex", name: "caret-down" })))), h("bq-option-list", { key: '0b4fa059ac5d9a296358bffb05cd61a08bbb41f6', "aria-expanded": this.open ? 'true' : 'false', exportparts: "base:option-list", id: `bq-options-${this.name}`, onBqSelect: this.handleSelect, role: "listbox" }, h("slot", { key: '9a42fd00864ff85ea0b9298b60d0f4cbdb9be43e' }))), h("div", { key: 'f09628183dc0f4e35caae1551d3de266a96ccc64', class: {
622
+ } }, h("slot", { key: 'b8da8cd1692533d5cb89507849b7b8ef11086287', name: "suffix", onSlotchange: this.handleSlotChange }, h("bq-icon", { key: '14e08948bbcac9b5ce4657fb900737c255e83415', class: "flex", name: "caret-down" })))), h("bq-option-list", { key: 'c8636fcfd3537b92bfa0ae4c2afff3da2207ac49', "aria-expanded": this.open ? 'true' : 'false', exportparts: "base:option-list", id: `bq-options-${this.name}`, onBqSelect: this.handleSelect, role: "listbox" }, h("slot", { key: 'fb79a3d78b80e1e46fbd686262f5b5ac32f14e69' }))), h("div", { key: 'c5a85030b5239bfef0997a893472bbe713d2a434', class: {
596
623
  [`bq-select__helper-text validation-${this.validationStatus}`]: true,
597
624
  '!hidden': !this.hasHelperText,
598
625
  }, part: "helper-text", ref: (divElem) => {
599
626
  this.helperTextElem = divElem;
600
- } }, h("slot", { key: '0ab5418216b6b41c64b7019a6ff4f6ab8bc751c4', name: "helper-text", onSlotchange: this.handleSlotChange }))));
627
+ } }, h("slot", { key: '7e779ebbb1ac575e253003e26d54c9eb402357fb', name: "helper-text", onSlotchange: this.handleSlotChange }))));
601
628
  }
602
629
  static get is() { return "bq-select"; }
603
630
  static get encapsulation() { return "shadow"; }
@@ -773,6 +800,25 @@ export class BqSelect {
773
800
  "reflect": true,
774
801
  "attribute": "form"
775
802
  },
803
+ "formValidationMessage": {
804
+ "type": "string",
805
+ "mutable": true,
806
+ "complexType": {
807
+ "original": "string",
808
+ "resolved": "string",
809
+ "references": {}
810
+ },
811
+ "required": false,
812
+ "optional": true,
813
+ "docs": {
814
+ "tags": [],
815
+ "text": "The native form validation message (mandatory if `required` is set)"
816
+ },
817
+ "getter": false,
818
+ "setter": false,
819
+ "reflect": false,
820
+ "attribute": "form-validation-message"
821
+ },
776
822
  "keepOpenOnSelect": {
777
823
  "type": "boolean",
778
824
  "mutable": false,
@@ -1074,7 +1120,7 @@ export class BqSelect {
1074
1120
  "references": {
1075
1121
  "TSelectValue": {
1076
1122
  "location": "local",
1077
- "path": "/Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System/packages/beeq/src/components/select/bq-select.tsx",
1123
+ "path": "/home/runner/work/BEEQ/BEEQ/packages/beeq/src/components/select/bq-select.tsx",
1078
1124
  "id": "../../packages/beeq/src/components/select/bq-select.tsx::TSelectValue"
1079
1125
  }
1080
1126
  }
@@ -1241,7 +1287,7 @@ export class BqSelect {
1241
1287
  },
1242
1288
  "TSelectValue": {
1243
1289
  "location": "local",
1244
- "path": "/Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System/packages/beeq/src/components/select/bq-select.tsx",
1290
+ "path": "/home/runner/work/BEEQ/BEEQ/packages/beeq/src/components/select/bq-select.tsx",
1245
1291
  "id": "../../packages/beeq/src/components/select/bq-select.tsx::TSelectValue"
1246
1292
  }
1247
1293
  },
@@ -1268,6 +1314,9 @@ export class BqSelect {
1268
1314
  return [{
1269
1315
  "propName": "value",
1270
1316
  "methodName": "handleValueChange"
1317
+ }, {
1318
+ "propName": "required",
1319
+ "methodName": "handleRequiredPropChange"
1271
1320
  }];
1272
1321
  }
1273
1322
  static get listeners() {