@beeq/core 1.8.0-beta.1 → 1.8.0-beta.10

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 (632) hide show
  1. package/dist/beeq/beeq.css +1 -1
  2. package/dist/beeq/beeq.esm.js +4 -4
  3. package/dist/beeq/beeq.esm.js.map +1 -1
  4. package/dist/beeq/index.esm.js +8 -6
  5. package/dist/beeq/index.esm.js.map +1 -1
  6. package/dist/beeq/{p-0c42c08a.js → p-01df4baa.js} +38 -23
  7. package/dist/beeq/p-01df4baa.js.map +1 -0
  8. package/dist/beeq/p-01fe8efb.entry.js +182 -0
  9. package/dist/beeq/p-01fe8efb.entry.js.map +1 -0
  10. package/dist/beeq/p-03373320.entry.js +318 -0
  11. package/dist/beeq/p-03373320.entry.js.map +1 -0
  12. package/dist/beeq/p-0a981080.entry.js +154 -0
  13. package/dist/beeq/{p-49249dda.entry.js.map → p-0a981080.entry.js.map} +1 -1
  14. package/dist/beeq/p-0ce76c54.entry.js +103 -0
  15. package/dist/beeq/{p-36652891.entry.js.map → p-0ce76c54.entry.js.map} +1 -1
  16. package/dist/beeq/p-0f786b44.entry.js +458 -0
  17. package/dist/beeq/p-0f786b44.entry.js.map +1 -0
  18. package/dist/beeq/p-16c6ece5.entry.js +112 -0
  19. package/dist/beeq/{p-a6489187.entry.js.map → p-16c6ece5.entry.js.map} +1 -1
  20. package/dist/beeq/{p-951ba558.js → p-1defeea3.js} +19 -19
  21. package/dist/beeq/{p-951ba558.js.map → p-1defeea3.js.map} +1 -1
  22. package/dist/beeq/p-2fe5f338.entry.js +292 -0
  23. package/dist/beeq/p-2fe5f338.entry.js.map +1 -0
  24. package/dist/beeq/p-3043c826.entry.js +133 -0
  25. package/dist/beeq/p-3043c826.entry.js.map +1 -0
  26. package/dist/beeq/p-38e70f78.entry.js +133 -0
  27. package/dist/beeq/p-38e70f78.entry.js.map +1 -0
  28. package/dist/beeq/p-398bfb48.entry.js +242 -0
  29. package/dist/beeq/{p-297fb76b.entry.js.map → p-398bfb48.entry.js.map} +1 -1
  30. package/dist/beeq/p-3fd0d92d.js.map +1 -1
  31. package/dist/beeq/p-41ac1d84.entry.js +195 -0
  32. package/dist/beeq/p-41ac1d84.entry.js.map +1 -0
  33. package/dist/beeq/p-4eabcd51.entry.js +82 -0
  34. package/dist/beeq/{p-39b7c578.entry.js.map → p-4eabcd51.entry.js.map} +1 -1
  35. package/dist/beeq/p-5ff6621d.entry.js +134 -0
  36. package/dist/beeq/p-5ff6621d.entry.js.map +1 -0
  37. package/dist/beeq/p-60cbc966.entry.js +85 -0
  38. package/dist/beeq/{p-e301647a.entry.js.map → p-60cbc966.entry.js.map} +1 -1
  39. package/dist/beeq/p-68ff188d.entry.js +144 -0
  40. package/dist/beeq/p-68ff188d.entry.js.map +1 -0
  41. package/dist/beeq/p-69c766a3.entry.js +213 -0
  42. package/dist/beeq/p-69c766a3.entry.js.map +1 -0
  43. package/dist/beeq/p-76486949.entry.js +347 -0
  44. package/dist/beeq/p-76486949.entry.js.map +1 -0
  45. package/dist/beeq/p-8512b8ee.entry.js +455 -0
  46. package/dist/beeq/p-8512b8ee.entry.js.map +1 -0
  47. package/dist/beeq/{p-2bb65f53.entry.js → p-8b16f130.entry.js} +77 -71
  48. package/dist/beeq/{p-2bb65f53.entry.js.map → p-8b16f130.entry.js.map} +1 -1
  49. package/dist/beeq/{p-548b45b7.entry.js → p-9cab14ee.entry.js} +59 -44
  50. package/dist/beeq/{p-548b45b7.entry.js.map → p-9cab14ee.entry.js.map} +1 -1
  51. package/dist/beeq/p-a23b23c4.entry.js +213 -0
  52. package/dist/beeq/p-a23b23c4.entry.js.map +1 -0
  53. package/dist/beeq/p-a44ae8fe.entry.js +267 -0
  54. package/dist/beeq/p-a44ae8fe.entry.js.map +1 -0
  55. package/dist/beeq/p-a697c8de.entry.js +528 -0
  56. package/dist/beeq/p-a697c8de.entry.js.map +1 -0
  57. package/dist/beeq/{p-14b44a4b.entry.js → p-aacaaa35.entry.js} +25 -21
  58. package/dist/beeq/{p-14b44a4b.entry.js.map → p-aacaaa35.entry.js.map} +1 -1
  59. package/dist/beeq/p-b2df1479.entry.js +270 -0
  60. package/dist/beeq/p-b2df1479.entry.js.map +1 -0
  61. package/dist/beeq/p-b48788b5.js +72 -0
  62. package/dist/beeq/p-b48788b5.js.map +1 -0
  63. package/dist/beeq/p-b77b52f2.entry.js +188 -0
  64. package/dist/beeq/p-b77b52f2.entry.js.map +1 -0
  65. package/dist/beeq/{p-4688e046.js → p-c6cbb8e2.js} +3 -3
  66. package/dist/beeq/{p-38d4bd8a.js → p-c78ae3c2.js} +270 -226
  67. package/dist/beeq/p-c78ae3c2.js.map +1 -0
  68. package/dist/beeq/p-c83bc7fd.entry.js +157 -0
  69. package/dist/beeq/p-c83bc7fd.entry.js.map +1 -0
  70. package/dist/beeq/{p-ac969486.entry.js → p-cb2b0014.entry.js} +118 -85
  71. package/dist/beeq/p-cb2b0014.entry.js.map +1 -0
  72. package/dist/beeq/p-cb917e68.entry.js +177 -0
  73. package/dist/beeq/p-cb917e68.entry.js.map +1 -0
  74. package/dist/beeq/p-cfb8829b.entry.js +100 -0
  75. package/dist/beeq/{p-5e11b866.entry.js.map → p-cfb8829b.entry.js.map} +1 -1
  76. package/dist/beeq/{p-ffddc425.entry.js → p-d7067dae.entry.js} +51 -49
  77. package/dist/beeq/{p-ffddc425.entry.js.map → p-d7067dae.entry.js.map} +1 -1
  78. package/dist/beeq/{p-d7a88b16.js → p-d7ce7165.js} +6 -7
  79. package/dist/beeq/p-d7ce7165.js.map +1 -0
  80. package/dist/beeq/p-d7dc7086.entry.js +267 -0
  81. package/dist/beeq/p-d7dc7086.entry.js.map +1 -0
  82. package/dist/beeq/p-e76e346b.entry.js +334 -0
  83. package/dist/beeq/p-e76e346b.entry.js.map +1 -0
  84. package/dist/beeq/{p-0ab0b58d.js → p-edfd9767.js} +2 -1
  85. package/dist/beeq/p-edfd9767.js.map +1 -0
  86. package/dist/beeq/p-f11a3beb.entry.js +90 -0
  87. package/dist/beeq/{p-39d77ba6.entry.js.map → p-f11a3beb.entry.js.map} +1 -1
  88. package/dist/beeq/{p-57a55ac5.entry.js → p-f1d6a960.entry.js} +61 -51
  89. package/dist/beeq/p-f1d6a960.entry.js.map +1 -0
  90. package/dist/beeq/p-f350516b.entry.js +154 -0
  91. package/dist/beeq/p-f350516b.entry.js.map +1 -0
  92. package/dist/beeq/p-f979d79a.entry.js +120 -0
  93. package/dist/beeq/{p-0f48adcc.entry.js.map → p-f979d79a.entry.js.map} +1 -1
  94. package/dist/beeq/p-faa3be41.entry.js +159 -0
  95. package/dist/beeq/{p-afc9fd80.entry.js.map → p-faa3be41.entry.js.map} +1 -1
  96. package/dist/beeq/p-fb809932.entry.js +272 -0
  97. package/dist/beeq/{p-e88257a8.entry.js.map → p-fb809932.entry.js.map} +1 -1
  98. package/dist/cjs/app-globals-b11284b9.js.map +1 -1
  99. package/dist/cjs/assetsPath-2885c838.js +79 -0
  100. package/dist/cjs/assetsPath-2885c838.js.map +1 -0
  101. package/dist/cjs/beeq.cjs.js +3 -3
  102. package/dist/cjs/beeq.cjs.js.map +1 -1
  103. package/dist/cjs/bq-accordion-group.cjs.entry.js +3 -4
  104. package/dist/cjs/bq-accordion-group.cjs.entry.js.map +1 -1
  105. package/dist/cjs/bq-accordion.cjs.entry.js +83 -48
  106. package/dist/cjs/bq-accordion.cjs.entry.js.map +1 -1
  107. package/dist/cjs/bq-alert.cjs.entry.js +71 -63
  108. package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
  109. package/dist/cjs/bq-avatar.cjs.entry.js +42 -42
  110. package/dist/cjs/bq-avatar.cjs.entry.js.map +1 -1
  111. package/dist/cjs/bq-badge.cjs.entry.js +44 -44
  112. package/dist/cjs/bq-badge.cjs.entry.js.map +1 -1
  113. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +42 -32
  114. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js.map +1 -1
  115. package/dist/cjs/bq-breadcrumb.cjs.entry.js +45 -30
  116. package/dist/cjs/bq-breadcrumb.cjs.entry.js.map +1 -1
  117. package/dist/cjs/bq-button_2.cjs.entry.js +189 -117
  118. package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
  119. package/dist/cjs/bq-card.cjs.entry.js +5 -6
  120. package/dist/cjs/bq-card.cjs.entry.js.map +1 -1
  121. package/dist/cjs/bq-checkbox.cjs.entry.js +63 -54
  122. package/dist/cjs/bq-checkbox.cjs.entry.js.map +1 -1
  123. package/dist/cjs/bq-date-picker.cjs.entry.js +163 -140
  124. package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
  125. package/dist/cjs/bq-dialog.cjs.entry.js +71 -50
  126. package/dist/cjs/bq-dialog.cjs.entry.js.map +1 -1
  127. package/dist/cjs/bq-divider.cjs.entry.js +30 -25
  128. package/dist/cjs/bq-divider.cjs.entry.js.map +1 -1
  129. package/dist/cjs/bq-drawer.cjs.entry.js +52 -38
  130. package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
  131. package/dist/cjs/bq-dropdown_2.cjs.entry.js +45 -35
  132. package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +1 -1
  133. package/dist/cjs/bq-empty-state.cjs.entry.js +29 -26
  134. package/dist/cjs/bq-empty-state.cjs.entry.js.map +1 -1
  135. package/dist/cjs/bq-input.cjs.entry.js +116 -90
  136. package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
  137. package/dist/cjs/bq-notification.cjs.entry.js +80 -59
  138. package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
  139. package/dist/cjs/bq-option-group.cjs.entry.js +4 -4
  140. package/dist/cjs/bq-option-group.cjs.entry.js.map +1 -1
  141. package/dist/cjs/bq-option-list_2.cjs.entry.js +77 -58
  142. package/dist/cjs/bq-option-list_2.cjs.entry.js.map +1 -1
  143. package/dist/cjs/bq-option.cjs.entry.js +65 -49
  144. package/dist/cjs/bq-option.cjs.entry.js.map +1 -1
  145. package/dist/cjs/bq-page-title.cjs.entry.js +38 -34
  146. package/dist/cjs/bq-page-title.cjs.entry.js.map +1 -1
  147. package/dist/cjs/bq-progress.cjs.entry.js +7 -8
  148. package/dist/cjs/bq-progress.cjs.entry.js.map +1 -1
  149. package/dist/cjs/bq-radio-group.cjs.entry.js +13 -8
  150. package/dist/cjs/bq-radio-group.cjs.entry.js.map +1 -1
  151. package/dist/cjs/bq-radio.cjs.entry.js +43 -37
  152. package/dist/cjs/bq-radio.cjs.entry.js.map +1 -1
  153. package/dist/cjs/bq-select.cjs.entry.js +189 -166
  154. package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
  155. package/dist/cjs/bq-side-menu-item.cjs.entry.js +68 -55
  156. package/dist/cjs/bq-side-menu-item.cjs.entry.js.map +1 -1
  157. package/dist/cjs/bq-side-menu.cjs.entry.js +47 -32
  158. package/dist/cjs/bq-side-menu.cjs.entry.js.map +1 -1
  159. package/dist/cjs/bq-slider.cjs.entry.js +165 -144
  160. package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
  161. package/dist/cjs/bq-spinner.cjs.entry.js +56 -55
  162. package/dist/cjs/bq-spinner.cjs.entry.js.map +1 -1
  163. package/dist/cjs/bq-status.cjs.entry.js +4 -5
  164. package/dist/cjs/bq-status.cjs.entry.js.map +1 -1
  165. package/dist/cjs/bq-step-item.cjs.entry.js +22 -15
  166. package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
  167. package/dist/cjs/bq-steps.cjs.entry.js +13 -11
  168. package/dist/cjs/bq-steps.cjs.entry.js.map +1 -1
  169. package/dist/cjs/bq-switch.cjs.entry.js +45 -34
  170. package/dist/cjs/bq-switch.cjs.entry.js.map +1 -1
  171. package/dist/cjs/bq-tab-group.cjs.entry.js +67 -60
  172. package/dist/cjs/bq-tab-group.cjs.entry.js.map +1 -1
  173. package/dist/cjs/bq-tab.cjs.entry.js +45 -35
  174. package/dist/cjs/bq-tab.cjs.entry.js.map +1 -1
  175. package/dist/cjs/bq-textarea.cjs.entry.js +80 -58
  176. package/dist/cjs/bq-textarea.cjs.entry.js.map +1 -1
  177. package/dist/cjs/bq-toast.cjs.entry.js +61 -57
  178. package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
  179. package/dist/cjs/bq-tooltip.cjs.entry.js +47 -43
  180. package/dist/cjs/bq-tooltip.cjs.entry.js.map +1 -1
  181. package/dist/cjs/{cssVariables-7139f0c6.js → cssVariables-dd190bc2.js} +3 -1
  182. package/dist/cjs/cssVariables-dd190bc2.js.map +1 -0
  183. package/dist/cjs/{debounce-f94a239b.js → debounce-1f7e1176.js} +3 -3
  184. package/dist/cjs/debounce-1f7e1176.js.map +1 -0
  185. package/dist/cjs/{index-1d3aac65.js → index-34edf639.js} +29 -14
  186. package/dist/cjs/index-34edf639.js.map +1 -0
  187. package/dist/cjs/{index-e4c116b6.js → index-fc7876d6.js} +63 -19
  188. package/dist/cjs/index-fc7876d6.js.map +1 -0
  189. package/dist/cjs/index.cjs.js +6 -5
  190. package/dist/cjs/index.cjs.js.map +1 -1
  191. package/dist/cjs/{isDefined-750bffc4.js → isDefined-869f6a26.js} +2 -2
  192. package/dist/cjs/{isDefined-750bffc4.js.map → isDefined-869f6a26.js.map} +1 -1
  193. package/dist/cjs/loader.cjs.js +2 -2
  194. package/dist/cjs/{slot-dd6f7db9.js → slot-2fee189a.js} +3 -4
  195. package/dist/{beeq/p-d7a88b16.js.map → cjs/slot-2fee189a.js.map} +1 -1
  196. package/dist/collection/_storybook/foundation/helper/index.js +3 -3
  197. package/dist/collection/_storybook/foundation/helper/index.js.map +1 -1
  198. package/dist/collection/collection-manifest.json +2 -2
  199. package/dist/collection/components/accordion/bq-accordion.js +72 -39
  200. package/dist/collection/components/accordion/bq-accordion.js.map +1 -1
  201. package/dist/collection/components/accordion/helper/index.js +10 -4
  202. package/dist/collection/components/accordion/helper/index.js.map +1 -1
  203. package/dist/collection/components/accordion/scss/bq-accordion.css +1 -1
  204. package/dist/collection/components/accordion-group/bq-accordion-group.js +5 -0
  205. package/dist/collection/components/accordion-group/bq-accordion-group.js.map +1 -1
  206. package/dist/collection/components/accordion-group/scss/bq-accordion-group.css +1 -1
  207. package/dist/collection/components/alert/bq-alert.js +79 -61
  208. package/dist/collection/components/alert/bq-alert.js.map +1 -1
  209. package/dist/collection/components/alert/scss/bq-alert.css +1 -1
  210. package/dist/collection/components/avatar/bq-avatar.js +42 -38
  211. package/dist/collection/components/avatar/bq-avatar.js.map +1 -1
  212. package/dist/collection/components/avatar/scss/bq-avatar.css +1 -1
  213. package/dist/collection/components/badge/bq-badge.js +42 -38
  214. package/dist/collection/components/badge/bq-badge.js.map +1 -1
  215. package/dist/collection/components/badge/scss/bq-badge.css +1 -1
  216. package/dist/collection/components/breadcrumb/bq-breadcrumb.js +45 -26
  217. package/dist/collection/components/breadcrumb/bq-breadcrumb.js.map +1 -1
  218. package/dist/collection/components/breadcrumb/scss/bq-breadcrumb.css +1 -1
  219. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +43 -27
  220. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js.map +1 -1
  221. package/dist/collection/components/breadcrumb-item/scss/bq-breadcrumb-item.css +1 -1
  222. package/dist/collection/components/button/bq-button.js +84 -43
  223. package/dist/collection/components/button/bq-button.js.map +1 -1
  224. package/dist/collection/components/button/scss/bq-button.css +1 -1
  225. package/dist/collection/components/card/bq-card.js +7 -2
  226. package/dist/collection/components/card/bq-card.js.map +1 -1
  227. package/dist/collection/components/card/scss/bq-card.css +1 -1
  228. package/dist/collection/components/checkbox/bq-checkbox.js +63 -50
  229. package/dist/collection/components/checkbox/bq-checkbox.js.map +1 -1
  230. package/dist/collection/components/checkbox/scss/bq-checkbox.css +1 -1
  231. package/dist/collection/components/date-picker/bq-date-picker.js +161 -134
  232. package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
  233. package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -1
  234. package/dist/collection/components/dialog/bq-dialog.js +70 -45
  235. package/dist/collection/components/dialog/bq-dialog.js.map +1 -1
  236. package/dist/collection/components/dialog/scss/bq-dialog.css +1 -1
  237. package/dist/collection/components/divider/bq-divider.js +28 -19
  238. package/dist/collection/components/divider/bq-divider.js.map +1 -1
  239. package/dist/collection/components/divider/scss/bq-divider.css +1 -1
  240. package/dist/collection/components/drawer/bq-drawer.js +51 -33
  241. package/dist/collection/components/drawer/bq-drawer.js.map +1 -1
  242. package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
  243. package/dist/collection/components/dropdown/bq-dropdown.js +34 -23
  244. package/dist/collection/components/dropdown/bq-dropdown.js.map +1 -1
  245. package/dist/collection/components/empty-state/bq-empty-state.js +29 -22
  246. package/dist/collection/components/empty-state/bq-empty-state.js.map +1 -1
  247. package/dist/collection/components/icon/bq-icon.js +45 -35
  248. package/dist/collection/components/icon/bq-icon.js.map +1 -1
  249. package/dist/collection/components/icon/helper/request.js +51 -33
  250. package/dist/collection/components/icon/helper/request.js.map +1 -1
  251. package/dist/collection/components/icon/scss/bq-icon.css +1 -1
  252. package/dist/collection/components/input/bq-input.js +113 -83
  253. package/dist/collection/components/input/bq-input.js.map +1 -1
  254. package/dist/collection/components/input/scss/bq-input.css +1 -1
  255. package/dist/collection/components/notification/bq-notification.js +86 -54
  256. package/dist/collection/components/notification/bq-notification.js.map +1 -1
  257. package/dist/collection/components/notification/scss/bq-notification.css +1 -1
  258. package/dist/collection/components/option/bq-option.js +64 -44
  259. package/dist/collection/components/option/bq-option.js.map +1 -1
  260. package/dist/collection/components/option/scss/bq-option.css +1 -1
  261. package/dist/collection/components/option-group/bq-option-group.js +6 -1
  262. package/dist/collection/components/option-group/bq-option-group.js.map +1 -1
  263. package/dist/collection/components/option-group/scss/bq-option-group.css +1 -1
  264. package/dist/collection/components/option-list/bq-option-list.js +11 -1
  265. package/dist/collection/components/option-list/bq-option-list.js.map +1 -1
  266. package/dist/collection/components/option-list/scss/bq-option-list.css +1 -1
  267. package/dist/collection/components/page-title/bq-page-title.js +37 -29
  268. package/dist/collection/components/page-title/bq-page-title.js.map +1 -1
  269. package/dist/collection/components/page-title/scss/bq-page-title.css +1 -1
  270. package/dist/collection/components/panel/bq-panel.js +12 -7
  271. package/dist/collection/components/panel/bq-panel.js.map +1 -1
  272. package/dist/collection/components/panel/scss/bq-panel.css +1 -1
  273. package/dist/collection/components/progress/bq-progress.js +9 -4
  274. package/dist/collection/components/progress/bq-progress.js.map +1 -1
  275. package/dist/collection/components/progress/scss/bq-progress.css +1 -1
  276. package/dist/collection/components/radio/bq-radio.js +43 -34
  277. package/dist/collection/components/radio/bq-radio.js.map +1 -1
  278. package/dist/collection/components/radio/scss/bq-radio.css +1 -1
  279. package/dist/collection/components/radio-group/bq-radio-group.js +13 -4
  280. package/dist/collection/components/radio-group/bq-radio-group.js.map +1 -1
  281. package/dist/collection/components/select/bq-select.js +187 -160
  282. package/dist/collection/components/select/bq-select.js.map +1 -1
  283. package/dist/collection/components/select/scss/bq-select.css +1 -1
  284. package/dist/collection/components/side-menu/bq-side-menu.js +50 -29
  285. package/dist/collection/components/side-menu/bq-side-menu.js.map +1 -1
  286. package/dist/collection/components/side-menu/scss/bq-side-menu.css +1 -1
  287. package/dist/collection/components/side-menu-item/bq-side-menu-item.js +68 -51
  288. package/dist/collection/components/side-menu-item/bq-side-menu-item.js.map +1 -1
  289. package/dist/collection/components/side-menu-item/scss/bq-side-menu-item.css +1 -1
  290. package/dist/collection/components/slider/bq-slider.js +164 -139
  291. package/dist/collection/components/slider/bq-slider.js.map +1 -1
  292. package/dist/collection/components/slider/scss/bq-slider.css +1 -1
  293. package/dist/collection/components/spinner/bq-spinner.js +55 -50
  294. package/dist/collection/components/spinner/bq-spinner.js.map +1 -1
  295. package/dist/collection/components/spinner/scss/bq-spinner.css +1 -1
  296. package/dist/collection/components/status/bq-status.js +6 -1
  297. package/dist/collection/components/status/bq-status.js.map +1 -1
  298. package/dist/collection/components/status/scss/bq-status.css +1 -1
  299. package/dist/collection/components/step-item/bq-step-item.js +24 -11
  300. package/dist/collection/components/step-item/bq-step-item.js.map +1 -1
  301. package/dist/collection/components/step-item/scss/bq-step-item.css +1 -1
  302. package/dist/collection/components/steps/bq-steps.js +13 -7
  303. package/dist/collection/components/steps/bq-steps.js.map +1 -1
  304. package/dist/collection/components/steps/scss/bq-steps.css +1 -1
  305. package/dist/collection/components/switch/bq-switch.js +44 -29
  306. package/dist/collection/components/switch/bq-switch.js.map +1 -1
  307. package/dist/collection/components/switch/scss/bq-switch.css +1 -1
  308. package/dist/collection/components/tab/bq-tab.js +44 -30
  309. package/dist/collection/components/tab/bq-tab.js.map +1 -1
  310. package/dist/collection/components/tab/scss/bq-tab.css +1 -1
  311. package/dist/collection/components/tab-group/bq-tab-group.js +67 -56
  312. package/dist/collection/components/tab-group/bq-tab-group.js.map +1 -1
  313. package/dist/collection/components/tag/bq-tag.js +67 -49
  314. package/dist/collection/components/tag/bq-tag.js.map +1 -1
  315. package/dist/collection/components/tag/scss/bq-tag.css +1 -1
  316. package/dist/collection/components/textarea/bq-textarea.js +78 -52
  317. package/dist/collection/components/textarea/bq-textarea.js.map +1 -1
  318. package/dist/collection/components/textarea/scss/bq-textarea.css +1 -1
  319. package/dist/collection/components/toast/bq-toast.js +68 -52
  320. package/dist/collection/components/toast/bq-toast.js.map +1 -1
  321. package/dist/collection/components/toast/scss/bq-toast.css +1 -1
  322. package/dist/collection/components/tooltip/bq-tooltip.js +46 -39
  323. package/dist/collection/components/tooltip/bq-tooltip.js.map +1 -1
  324. package/dist/collection/components/tooltip/scss/bq-tooltip.css +1 -1
  325. package/dist/collection/index.js.map +1 -1
  326. package/dist/collection/services/libraries/floating-ui/index.js +4 -0
  327. package/dist/collection/services/libraries/floating-ui/index.js.map +1 -1
  328. package/dist/collection/shared/utils/assetsPath.js +46 -46
  329. package/dist/collection/shared/utils/assetsPath.js.map +1 -1
  330. package/dist/collection/shared/utils/cssVariables.js +2 -0
  331. package/dist/collection/shared/utils/cssVariables.js.map +1 -1
  332. package/dist/collection/shared/utils/debounce.js +2 -2
  333. package/dist/collection/shared/utils/debounce.js.map +1 -1
  334. package/dist/collection/shared/utils/slot.js +2 -3
  335. package/dist/collection/shared/utils/slot.js.map +1 -1
  336. package/dist/components/bq-accordion-group.js +2 -3
  337. package/dist/components/bq-accordion-group.js.map +1 -1
  338. package/dist/components/bq-accordion.js +81 -46
  339. package/dist/components/bq-accordion.js.map +1 -1
  340. package/dist/components/bq-alert.js +68 -60
  341. package/dist/components/bq-alert.js.map +1 -1
  342. package/dist/components/bq-avatar.js +41 -41
  343. package/dist/components/bq-avatar.js.map +1 -1
  344. package/dist/components/bq-badge2.js +41 -41
  345. package/dist/components/bq-badge2.js.map +1 -1
  346. package/dist/components/bq-breadcrumb-item.js +40 -30
  347. package/dist/components/bq-breadcrumb-item.js.map +1 -1
  348. package/dist/components/bq-breadcrumb.js +44 -29
  349. package/dist/components/bq-breadcrumb.js.map +1 -1
  350. package/dist/components/bq-button2.js +84 -47
  351. package/dist/components/bq-button2.js.map +1 -1
  352. package/dist/components/bq-card.js +4 -5
  353. package/dist/components/bq-card.js.map +1 -1
  354. package/dist/components/bq-checkbox.js +62 -53
  355. package/dist/components/bq-checkbox.js.map +1 -1
  356. package/dist/components/bq-date-picker.js +160 -137
  357. package/dist/components/bq-date-picker.js.map +1 -1
  358. package/dist/components/bq-dialog.js +69 -48
  359. package/dist/components/bq-dialog.js.map +1 -1
  360. package/dist/components/bq-divider2.js +27 -22
  361. package/dist/components/bq-divider2.js.map +1 -1
  362. package/dist/components/bq-drawer.js +50 -36
  363. package/dist/components/bq-drawer.js.map +1 -1
  364. package/dist/components/bq-dropdown2.js +32 -24
  365. package/dist/components/bq-dropdown2.js.map +1 -1
  366. package/dist/components/bq-empty-state.js +27 -24
  367. package/dist/components/bq-empty-state.js.map +1 -1
  368. package/dist/components/bq-icon2.js +164 -70
  369. package/dist/components/bq-icon2.js.map +1 -1
  370. package/dist/components/bq-input.js +112 -86
  371. package/dist/components/bq-input.js.map +1 -1
  372. package/dist/components/bq-notification.js +78 -56
  373. package/dist/components/bq-notification.js.map +1 -1
  374. package/dist/components/bq-option-group.js +3 -3
  375. package/dist/components/bq-option-group.js.map +1 -1
  376. package/dist/components/bq-option-list2.js +8 -4
  377. package/dist/components/bq-option-list2.js.map +1 -1
  378. package/dist/components/bq-option.js +63 -47
  379. package/dist/components/bq-option.js.map +1 -1
  380. package/dist/components/bq-page-title.js +36 -32
  381. package/dist/components/bq-page-title.js.map +1 -1
  382. package/dist/components/bq-panel2.js +11 -9
  383. package/dist/components/bq-panel2.js.map +1 -1
  384. package/dist/components/bq-progress.js +6 -7
  385. package/dist/components/bq-progress.js.map +1 -1
  386. package/dist/components/bq-radio-group.js +11 -6
  387. package/dist/components/bq-radio-group.js.map +1 -1
  388. package/dist/components/bq-radio.js +43 -37
  389. package/dist/components/bq-radio.js.map +1 -1
  390. package/dist/components/bq-select.js +185 -162
  391. package/dist/components/bq-select.js.map +1 -1
  392. package/dist/components/bq-side-menu-item.js +67 -54
  393. package/dist/components/bq-side-menu-item.js.map +1 -1
  394. package/dist/components/bq-side-menu.js +47 -31
  395. package/dist/components/bq-side-menu.js.map +1 -1
  396. package/dist/components/bq-slider.js +163 -142
  397. package/dist/components/bq-slider.js.map +1 -1
  398. package/dist/components/bq-spinner.js +53 -52
  399. package/dist/components/bq-spinner.js.map +1 -1
  400. package/dist/components/bq-status.js +3 -4
  401. package/dist/components/bq-status.js.map +1 -1
  402. package/dist/components/bq-step-item.js +21 -14
  403. package/dist/components/bq-step-item.js.map +1 -1
  404. package/dist/components/bq-steps.js +12 -10
  405. package/dist/components/bq-steps.js.map +1 -1
  406. package/dist/components/bq-switch.js +43 -32
  407. package/dist/components/bq-switch.js.map +1 -1
  408. package/dist/components/bq-tab-group.js +65 -58
  409. package/dist/components/bq-tab-group.js.map +1 -1
  410. package/dist/components/bq-tab.js +43 -33
  411. package/dist/components/bq-tab.js.map +1 -1
  412. package/dist/components/bq-tag2.js +66 -52
  413. package/dist/components/bq-tag2.js.map +1 -1
  414. package/dist/components/bq-textarea.js +77 -55
  415. package/dist/components/bq-textarea.js.map +1 -1
  416. package/dist/components/bq-toast.js +60 -55
  417. package/dist/components/bq-toast.js.map +1 -1
  418. package/dist/components/bq-tooltip2.js +45 -41
  419. package/dist/components/bq-tooltip2.js.map +1 -1
  420. package/dist/components/cssVariables.js +2 -0
  421. package/dist/components/cssVariables.js.map +1 -1
  422. package/dist/components/debounce.js +2 -2
  423. package/dist/components/debounce.js.map +1 -1
  424. package/dist/components/index.js +1 -1
  425. package/dist/components/index2.js +62 -18
  426. package/dist/components/index2.js.map +1 -1
  427. package/dist/components/isDefined.js +1 -1
  428. package/dist/components/slot.js +2 -3
  429. package/dist/components/slot.js.map +1 -1
  430. package/dist/esm/app-globals-de5a646b.js.map +1 -1
  431. package/dist/esm/assetsPath-630898a9.js +76 -0
  432. package/dist/esm/assetsPath-630898a9.js.map +1 -0
  433. package/dist/esm/beeq.js +4 -4
  434. package/dist/esm/beeq.js.map +1 -1
  435. package/dist/esm/bq-accordion-group.entry.js +3 -4
  436. package/dist/esm/bq-accordion-group.entry.js.map +1 -1
  437. package/dist/esm/bq-accordion.entry.js +83 -48
  438. package/dist/esm/bq-accordion.entry.js.map +1 -1
  439. package/dist/esm/bq-alert.entry.js +71 -63
  440. package/dist/esm/bq-alert.entry.js.map +1 -1
  441. package/dist/esm/bq-avatar.entry.js +42 -42
  442. package/dist/esm/bq-avatar.entry.js.map +1 -1
  443. package/dist/esm/bq-badge.entry.js +44 -44
  444. package/dist/esm/bq-badge.entry.js.map +1 -1
  445. package/dist/esm/bq-breadcrumb-item.entry.js +42 -32
  446. package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
  447. package/dist/esm/bq-breadcrumb.entry.js +45 -30
  448. package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
  449. package/dist/esm/bq-button_2.entry.js +189 -117
  450. package/dist/esm/bq-button_2.entry.js.map +1 -1
  451. package/dist/esm/bq-card.entry.js +5 -6
  452. package/dist/esm/bq-card.entry.js.map +1 -1
  453. package/dist/esm/bq-checkbox.entry.js +63 -54
  454. package/dist/esm/bq-checkbox.entry.js.map +1 -1
  455. package/dist/esm/bq-date-picker.entry.js +163 -140
  456. package/dist/esm/bq-date-picker.entry.js.map +1 -1
  457. package/dist/esm/bq-dialog.entry.js +71 -50
  458. package/dist/esm/bq-dialog.entry.js.map +1 -1
  459. package/dist/esm/bq-divider.entry.js +30 -25
  460. package/dist/esm/bq-divider.entry.js.map +1 -1
  461. package/dist/esm/bq-drawer.entry.js +52 -38
  462. package/dist/esm/bq-drawer.entry.js.map +1 -1
  463. package/dist/esm/bq-dropdown_2.entry.js +45 -35
  464. package/dist/esm/bq-dropdown_2.entry.js.map +1 -1
  465. package/dist/esm/bq-empty-state.entry.js +29 -26
  466. package/dist/esm/bq-empty-state.entry.js.map +1 -1
  467. package/dist/esm/bq-input.entry.js +116 -90
  468. package/dist/esm/bq-input.entry.js.map +1 -1
  469. package/dist/esm/bq-notification.entry.js +80 -59
  470. package/dist/esm/bq-notification.entry.js.map +1 -1
  471. package/dist/esm/bq-option-group.entry.js +4 -4
  472. package/dist/esm/bq-option-group.entry.js.map +1 -1
  473. package/dist/esm/bq-option-list_2.entry.js +77 -58
  474. package/dist/esm/bq-option-list_2.entry.js.map +1 -1
  475. package/dist/esm/bq-option.entry.js +65 -49
  476. package/dist/esm/bq-option.entry.js.map +1 -1
  477. package/dist/esm/bq-page-title.entry.js +38 -34
  478. package/dist/esm/bq-page-title.entry.js.map +1 -1
  479. package/dist/esm/bq-progress.entry.js +7 -8
  480. package/dist/esm/bq-progress.entry.js.map +1 -1
  481. package/dist/esm/bq-radio-group.entry.js +13 -8
  482. package/dist/esm/bq-radio-group.entry.js.map +1 -1
  483. package/dist/esm/bq-radio.entry.js +43 -37
  484. package/dist/esm/bq-radio.entry.js.map +1 -1
  485. package/dist/esm/bq-select.entry.js +189 -166
  486. package/dist/esm/bq-select.entry.js.map +1 -1
  487. package/dist/esm/bq-side-menu-item.entry.js +68 -55
  488. package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
  489. package/dist/esm/bq-side-menu.entry.js +47 -32
  490. package/dist/esm/bq-side-menu.entry.js.map +1 -1
  491. package/dist/esm/bq-slider.entry.js +165 -144
  492. package/dist/esm/bq-slider.entry.js.map +1 -1
  493. package/dist/esm/bq-spinner.entry.js +56 -55
  494. package/dist/esm/bq-spinner.entry.js.map +1 -1
  495. package/dist/esm/bq-status.entry.js +4 -5
  496. package/dist/esm/bq-status.entry.js.map +1 -1
  497. package/dist/esm/bq-step-item.entry.js +22 -15
  498. package/dist/esm/bq-step-item.entry.js.map +1 -1
  499. package/dist/esm/bq-steps.entry.js +13 -11
  500. package/dist/esm/bq-steps.entry.js.map +1 -1
  501. package/dist/esm/bq-switch.entry.js +45 -34
  502. package/dist/esm/bq-switch.entry.js.map +1 -1
  503. package/dist/esm/bq-tab-group.entry.js +67 -60
  504. package/dist/esm/bq-tab-group.entry.js.map +1 -1
  505. package/dist/esm/bq-tab.entry.js +45 -35
  506. package/dist/esm/bq-tab.entry.js.map +1 -1
  507. package/dist/esm/bq-textarea.entry.js +80 -58
  508. package/dist/esm/bq-textarea.entry.js.map +1 -1
  509. package/dist/esm/bq-toast.entry.js +61 -57
  510. package/dist/esm/bq-toast.entry.js.map +1 -1
  511. package/dist/esm/bq-tooltip.entry.js +47 -43
  512. package/dist/esm/bq-tooltip.entry.js.map +1 -1
  513. package/dist/esm/{cssVariables-5ffccc29.js → cssVariables-000c23ad.js} +3 -1
  514. package/dist/esm/cssVariables-000c23ad.js.map +1 -0
  515. package/dist/esm/{debounce-c82e3da1.js → debounce-3e72f418.js} +3 -3
  516. package/dist/esm/debounce-3e72f418.js.map +1 -0
  517. package/dist/esm/{index-f69556fe.js → index-033f1efb.js} +29 -15
  518. package/dist/esm/index-033f1efb.js.map +1 -0
  519. package/dist/esm/{index-136429a6.js → index-1618c78b.js} +63 -19
  520. package/dist/esm/index-1618c78b.js.map +1 -0
  521. package/dist/esm/index.js +7 -6
  522. package/dist/esm/index.js.map +1 -1
  523. package/dist/esm/{isDefined-170f3095.js → isDefined-f356f816.js} +2 -2
  524. package/dist/esm/{isDefined-170f3095.js.map → isDefined-f356f816.js.map} +1 -1
  525. package/dist/esm/loader.js +3 -3
  526. package/dist/esm/{slot-179d109d.js → slot-58bfedb5.js} +3 -4
  527. package/dist/esm/slot-58bfedb5.js.map +1 -0
  528. package/dist/hydrate/index.d.ts +10 -4
  529. package/dist/hydrate/index.js +4042 -2095
  530. package/dist/hydrate/index.mjs +4042 -2095
  531. package/dist/stencil.config.js +10 -4
  532. package/dist/stencil.config.js.map +1 -1
  533. package/dist/types/Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System/packages/beeq/.stencil/packages/beeq/stencil.config.d.ts +2 -0
  534. package/dist/types/_storybook/foundation/helper/index.d.ts +1 -3
  535. package/dist/types/components/alert/bq-alert.d.ts +10 -4
  536. package/dist/types/components/button/bq-button.d.ts +5 -0
  537. package/dist/types/components/date-picker/bq-date-picker.d.ts +1 -0
  538. package/dist/types/components/divider/bq-divider.d.ts +1 -0
  539. package/dist/types/components/icon/bq-icon.d.ts +3 -1
  540. package/dist/types/components/icon/helper/request.d.ts +17 -1
  541. package/dist/types/components/notification/bq-notification.d.ts +8 -0
  542. package/dist/types/components/radio/bq-radio.d.ts +0 -5
  543. package/dist/types/components/select/bq-select.d.ts +2 -0
  544. package/dist/types/components/slider/bq-slider.d.ts +2 -0
  545. package/dist/types/components/step-item/bq-step-item.d.ts +1 -0
  546. package/dist/types/components/toast/bq-toast.d.ts +5 -0
  547. package/dist/types/components.d.ts +8 -8
  548. package/dist/types/shared/utils/assetsPath.d.ts +5 -22
  549. package/dist/types/shared/utils/cssVariables.d.ts +1 -1
  550. package/dist/types/stencil-public-runtime.d.ts +4 -0
  551. package/package.json +2 -2
  552. package/dist/beeq/p-063a3968.entry.js +0 -388
  553. package/dist/beeq/p-063a3968.entry.js.map +0 -1
  554. package/dist/beeq/p-0979fdfd.entry.js +0 -297
  555. package/dist/beeq/p-0979fdfd.entry.js.map +0 -1
  556. package/dist/beeq/p-0ab0b58d.js.map +0 -1
  557. package/dist/beeq/p-0c42c08a.js.map +0 -1
  558. package/dist/beeq/p-0f48adcc.entry.js +0 -117
  559. package/dist/beeq/p-1715ac80.entry.js +0 -274
  560. package/dist/beeq/p-1715ac80.entry.js.map +0 -1
  561. package/dist/beeq/p-242ac28a.entry.js +0 -145
  562. package/dist/beeq/p-242ac28a.entry.js.map +0 -1
  563. package/dist/beeq/p-297fb76b.entry.js +0 -220
  564. package/dist/beeq/p-2e66fc4f.entry.js +0 -434
  565. package/dist/beeq/p-2e66fc4f.entry.js.map +0 -1
  566. package/dist/beeq/p-36652891.entry.js +0 -102
  567. package/dist/beeq/p-38d4bd8a.js.map +0 -1
  568. package/dist/beeq/p-39b7c578.entry.js +0 -84
  569. package/dist/beeq/p-39d77ba6.entry.js +0 -90
  570. package/dist/beeq/p-49249dda.entry.js +0 -156
  571. package/dist/beeq/p-57a55ac5.entry.js.map +0 -1
  572. package/dist/beeq/p-5e11b866.entry.js +0 -102
  573. package/dist/beeq/p-6a4e104b.entry.js +0 -263
  574. package/dist/beeq/p-6a4e104b.entry.js.map +0 -1
  575. package/dist/beeq/p-6a5a79a3.entry.js +0 -184
  576. package/dist/beeq/p-6a5a79a3.entry.js.map +0 -1
  577. package/dist/beeq/p-7f301da8.entry.js +0 -508
  578. package/dist/beeq/p-7f301da8.entry.js.map +0 -1
  579. package/dist/beeq/p-81f1c3ba.entry.js +0 -121
  580. package/dist/beeq/p-81f1c3ba.entry.js.map +0 -1
  581. package/dist/beeq/p-822773ae.entry.js +0 -195
  582. package/dist/beeq/p-822773ae.entry.js.map +0 -1
  583. package/dist/beeq/p-9990889d.entry.js +0 -222
  584. package/dist/beeq/p-9990889d.entry.js.map +0 -1
  585. package/dist/beeq/p-a1b43de6.entry.js +0 -248
  586. package/dist/beeq/p-a1b43de6.entry.js.map +0 -1
  587. package/dist/beeq/p-a6489187.entry.js +0 -103
  588. package/dist/beeq/p-ac969486.entry.js.map +0 -1
  589. package/dist/beeq/p-afc9fd80.entry.js +0 -144
  590. package/dist/beeq/p-bef53750.js +0 -79
  591. package/dist/beeq/p-bef53750.js.map +0 -1
  592. package/dist/beeq/p-bf2320dd.entry.js +0 -329
  593. package/dist/beeq/p-bf2320dd.entry.js.map +0 -1
  594. package/dist/beeq/p-c34e292e.entry.js +0 -127
  595. package/dist/beeq/p-c34e292e.entry.js.map +0 -1
  596. package/dist/beeq/p-db18eba1.entry.js +0 -173
  597. package/dist/beeq/p-db18eba1.entry.js.map +0 -1
  598. package/dist/beeq/p-dd950c12.entry.js +0 -309
  599. package/dist/beeq/p-dd950c12.entry.js.map +0 -1
  600. package/dist/beeq/p-e301647a.entry.js +0 -87
  601. package/dist/beeq/p-e3aa2886.entry.js +0 -203
  602. package/dist/beeq/p-e3aa2886.entry.js.map +0 -1
  603. package/dist/beeq/p-e41f07ae.entry.js +0 -173
  604. package/dist/beeq/p-e41f07ae.entry.js.map +0 -1
  605. package/dist/beeq/p-e88257a8.entry.js +0 -259
  606. package/dist/beeq/p-e9a54b49.entry.js +0 -145
  607. package/dist/beeq/p-e9a54b49.entry.js.map +0 -1
  608. package/dist/beeq/p-f77d9b8b.entry.js +0 -144
  609. package/dist/beeq/p-f77d9b8b.entry.js.map +0 -1
  610. package/dist/beeq/p-fd658de1.entry.js +0 -135
  611. package/dist/beeq/p-fd658de1.entry.js.map +0 -1
  612. package/dist/beeq/p-ffb48c40.entry.js +0 -258
  613. package/dist/beeq/p-ffb48c40.entry.js.map +0 -1
  614. package/dist/cjs/assetsPath-3938a05d.js +0 -78
  615. package/dist/cjs/assetsPath-3938a05d.js.map +0 -1
  616. package/dist/cjs/cssVariables-7139f0c6.js.map +0 -1
  617. package/dist/cjs/debounce-f94a239b.js.map +0 -1
  618. package/dist/cjs/index-1d3aac65.js.map +0 -1
  619. package/dist/cjs/index-e4c116b6.js.map +0 -1
  620. package/dist/cjs/slot-dd6f7db9.js.map +0 -1
  621. package/dist/components/assetsPath.js +0 -75
  622. package/dist/components/assetsPath.js.map +0 -1
  623. package/dist/esm/assetsPath-a1b58980.js +0 -75
  624. package/dist/esm/assetsPath-a1b58980.js.map +0 -1
  625. package/dist/esm/cssVariables-5ffccc29.js.map +0 -1
  626. package/dist/esm/debounce-c82e3da1.js.map +0 -1
  627. package/dist/esm/index-136429a6.js.map +0 -1
  628. package/dist/esm/index-f69556fe.js.map +0 -1
  629. package/dist/esm/slot-179d109d.js.map +0 -1
  630. package/dist/types/home/workflows/workspace/packages/beeq/.stencil/packages/beeq/stencil.config.d.ts +0 -2
  631. /package/dist/beeq/{p-4688e046.js.map → p-c6cbb8e2.js.map} +0 -0
  632. /package/dist/types/{home/workflows/workspace → Users/dramos/PROJECTs/ENDAVA/BEEQ-Design-System}/packages/beeq/.stencil/tailwind.config.d.ts +0 -0
@@ -0,0 +1,455 @@
1
+ /*!
2
+ * Built by Endavans
3
+ * © https://beeq.design - Apache 2 License.
4
+ */
5
+ import { r as a, c as r, g as b, h as e, a as n } from "./p-01df4baa.js";
6
+
7
+ import { i as t } from "./p-99829fc7.js";
8
+
9
+ import { i as q } from "./p-c6cbb8e2.js";
10
+
11
+ import { v as i } from "./p-687da041.js";
12
+
13
+ import { b as o } from "./p-d7ce7165.js";
14
+
15
+ import { i as s } from "./p-ecd27cf2.js";
16
+
17
+ import { g as d } from "./p-b48788b5.js";
18
+
19
+ import { g as l } from "./p-edfd9767.js";
20
+
21
+ const c = [ "small", "medium", "large" ];
22
+
23
+ const v = [ "button", "submit", "reset" ];
24
+
25
+ const u = [ "primary", "secondary", "link", "text" ];
26
+
27
+ const g = [ "standard", "ghost", "danger" ];
28
+
29
+ const f = '.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{font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);font-family:var(--bq-font-family);line-height:var(--bq-font-line-height--regular);min-height:100vh;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:root{--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq.light,.light,:root,[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.beeq.dark,.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}.endava,[bq-theme=endava]{--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.absolute{position:absolute}.relative{position:relative}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.shrink-0{flex-shrink:0}.grow-0{flex-grow:0}.basis-auto{flex-basis:auto}.cursor-\\[inherit\\]{cursor:inherit}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.rounded-\\[--bq-button--border-radius\\]{border-radius:var(--bq-button--border-radius)}.border-\\[length\\:--bq-button--border-width\\]{border-width:var(--bq-button--border-width)}.border-m{border-width:var(--bq-stroke-m)}.border-solid{border-style:solid}.border-\\[color\\:--bq-button--border-color\\]{border-color:var(--bq-button--border-color)}.border-stroke-brand{border-color:var(--bq-stroke--brand)}.border-stroke-tertiary{border-color:var(--bq-stroke--tertiary)}.bg-transparent{background-color:transparent}.bg-ui-brand{background-color:var(--bq-ui--brand)}.bg-ui-danger{background-color:var(--bq-ui--danger)}.bg-ui-secondary{background-color:var(--bq-ui--secondary)}.pe-xs2{padding-inline-end:var(--bq-spacing-xs2)}.ps-xs2{padding-inline-start:var(--bq-spacing-xs2)}.text-\\[length\\:--bq-button--large-font-size\\]{font-size:var(--bq-button--large-font-size)}.text-\\[length\\:--bq-button--medium-font-size\\]{font-size:var(--bq-button--medium-font-size)}.text-\\[length\\:--bq-button--small-font-size\\]{font-size:var(--bq-button--small-font-size)}.font-medium{font-weight:var(--bq-font-weight--medium)}.text-text-brand{color:var(--bq-text--brand)}.opacity-60{opacity:.6}.transition-\\[background-color\\2c border-color\\2c color\\]{transition-duration:.15s;transition-property:background-color,border-color,color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.bs-\\[--bq-button--large-height\\]{block-size:var(--bq-button--large-height)}.bs-\\[--bq-button--medium-height\\]{block-size:var(--bq-button--medium-height)}.bs-\\[--bq-button--small-height\\]{block-size:var(--bq-button--small-height)}.is-auto{inline-size:auto}.is-full{inline-size:100%}.p-b-\\[--bq-button--large-paddingY\\]{padding-block:var(--bq-button--large-paddingY)}.p-b-\\[--bq-button--medium-paddingY\\]{padding-block:var(--bq-button--medium-paddingY)}.p-b-\\[--bq-button--small-paddingY\\]{padding-block:var(--bq-button--small-paddingY)}.p-i-\\[--bq-button--large-paddingX\\]{padding-inline:var(--bq-button--large-paddingX)}.p-i-\\[--bq-button--medium-paddingX\\]{padding-inline:var(--bq-button--medium-paddingX)}.p-i-\\[--bq-button--small-paddingX\\]{padding-inline:var(--bq-button--small-paddingX)}.bq-button{align-items:center;border-color:var(--bq-button--border-color);border-radius:var(--bq-button--border-radius);border-width:var(--bq-button--border-width);box-sizing:border-box;cursor:inherit;display:flex;font-weight:var(--bq-font-weight--medium);justify-content:center;line-height:var(--bq-font-line-height--regular);transition-duration:.3s;transition-property:background-color,border-color,color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.bq-button:disabled{cursor:not-allowed;opacity:.6}.bq-button:focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}@-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-button--border-color:transparent;--bq-button--border-radius:var(--bq-radius--m);--bq-button--border-style:solid;--bq-button--border-width:0;--bq-button--small-height:32px;--bq-button--small-paddingX:var(--bq-spacing-xs);--bq-button--small-paddingY:var(--bq-spacing-xs2);--bq-button--small-font-size:var(--bq-font-size--m);--bq-button--medium-height:48px;--bq-button--medium-paddingX:var(--bq-spacing-m);--bq-button--medium-paddingY:var(--bq-spacing-s);--bq-button--medium-font-size:var(--bq-font-size--m);--bq-button--large-height:56px;--bq-button--large-paddingX:var(--bq-spacing-l);--bq-button--large-paddingY:var(--bq-spacing-m);--bq-button--large-font-size:var(--bq-font-size--m);cursor:pointer;display:inline-block;inline-size:auto;position:relative}.block,:host([block]){inline-size:100%}.bq-button--primary{background-color:var(--bq-ui--brand);color:var(--bq-text--alt)}.bq-button--primary:enabled:hover{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-hover) 20%)}.bq-button--primary:enabled:active,.bq-button--primary:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-active) 20%)}.bq-button--primary.ghost{background-color:transparent;border-color:var(--bq-stroke--brand);border-style:solid;border-width:var(--bq-stroke-m);color:var(--bq-text--brand)}.bq-button--primary.ghost:enabled:hover{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.bq-button--primary.ghost:enabled:active,.bq-button--primary.ghost:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-active) 20%)}.bq-button--primary.danger{background-color:var(--bq-ui--danger);color:var(--bq-text--alt)}.bq-button--primary.danger:enabled:hover{background-color:color-mix(in srgb,var(--bq-ui--danger),var(--bq-hover) 20%)}.bq-button--primary.danger:enabled:active,.bq-button--primary.danger:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--danger),var(--bq-active) 20%)}.bq-button--secondary{background-color:var(--bq-ui--secondary);color:var(--bq-text--primary)}.bq-button--secondary:enabled:hover{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-hover) 20%)}.bq-button--secondary:enabled:active,.bq-button--secondary:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.bq-button--secondary.ghost{background-color:transparent;border-color:var(--bq-stroke--tertiary);border-style:solid;border-width:var(--bq-stroke-m);color:var(--bq-text--primary)}.bq-button--secondary.ghost:enabled:hover{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-hover) 20%)}.bq-button--secondary.ghost:enabled:active,.bq-button--secondary.ghost:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.bq-button--link{background-color:transparent;color:var(--bq-text--brand);text-decoration-line:none}.bq-button--link:hover:not(.disabled){background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.bq-button--link:active:not(.disabled),.bq-button--link:hover:active:not(.disabled){background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.bq-button--link.disabled{cursor:not-allowed;opacity:.6}.bq-button--text{background-color:transparent;color:var(--bq-text--primary)}.bq-button--text:enabled:hover{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-hover) 20%)}.bq-button--text:enabled:active,.bq-button--text:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.small{block-size:var(--bq-button--small-height);font-size:var(--bq-button--small-font-size);padding-block:var(--bq-button--small-paddingY);padding-inline:var(--bq-button--small-paddingX)}.medium{block-size:var(--bq-button--medium-height);font-size:var(--bq-button--medium-font-size);padding-block:var(--bq-button--medium-paddingY);padding-inline:var(--bq-button--medium-paddingX)}.large{block-size:var(--bq-button--large-height);font-size:var(--bq-button--large-font-size);padding-block:var(--bq-button--large-paddingY);padding-inline:var(--bq-button--large-paddingX)}.bq-button__label ::slotted(bq-icon){display:flex}.content-left{justify-content:flex-start}.content-right{justify-content:flex-end}.bq-button__prefix,.bq-button__suffix{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;pointer-events:none}.bq-button.has-prefix .bq-button__label{padding-inline-start:var(--bq-spacing-xs2)}.bq-button.has-suffix .bq-button__label{padding-inline-end:var(--bq-spacing-xs2)}.bq-button.loading{cursor:wait;position:relative}.bq-button.loading .bq-button__label,.bq-button.loading .bq-button__prefix,.bq-button.loading .bq-button__suffix{visibility:hidden}.bq-button__loader{-webkit-animation:spin 1s linear 0s infinite;animation:spin 1s linear 0s infinite;position:absolute}.focus-visible\\:focus:focus-visible{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.active\\:enabled\\:bg-active-ui-brand:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-active) 20%)}.active\\:enabled\\:bg-active-ui-danger:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--danger),var(--bq-active) 20%)}.active\\:enabled\\:bg-active-ui-primary:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-active) 20%)}.active\\:enabled\\:bg-active-ui-secondary:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.active\\:enabled\\:hover\\:bg-active-ui-brand:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--brand),var(--bq-active) 20%)}.active\\:enabled\\:hover\\:bg-active-ui-danger:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--danger),var(--bq-active) 20%)}.active\\:enabled\\:hover\\:bg-active-ui-primary:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--primary),var(--bq-active) 20%)}.active\\:enabled\\:hover\\:bg-active-ui-secondary:hover:enabled:active{background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.\\[\\&\\:not\\(\\.disabled\\)\\]\\:active\\:bg-active-ui-secondary:active:not(.disabled){background-color:color-mix(in srgb,var(--bq-ui--secondary),var(--bq-active) 20%)}.static{position:static}.hidden{display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.focus{outline:var(--bq-ring-width,2px) solid var(--bq-ring-color-focus,var(--bq-focus));outline-offset:var(--bq-ring-offset-width,1px)}.text-\\[color\\:--bq-icon--color\\]{color:var(--bq-icon--color)}.bs-\\[--bq-icon--size\\]{block-size:var(--bq-icon--size)}.is-\\[--bq-icon--size\\]{inline-size:var(--bq-icon--size)}';
30
+
31
+ const h = f;
32
+
33
+ const m = class {
34
+ constructor(b) {
35
+ a(this, b);
36
+ this.bqBlur = r(this, "bqBlur", 7);
37
+ this.bqFocus = r(this, "bqFocus", 7);
38
+ this.bqClick = r(this, "bqClick", 7);
39
+ if (b.$hostElement$["s-ei"]) {
40
+ this.internals = b.$hostElement$["s-ei"];
41
+ } else {
42
+ this.internals = b.$hostElement$.attachInternals();
43
+ b.$hostElement$["s-ei"] = this.internals;
44
+ }
45
+ this.hasPrefix = false;
46
+ this.hasSuffix = false;
47
+ this.appearance = "primary";
48
+ this.block = false;
49
+ this.border = "m";
50
+ this.disabled = false;
51
+ this.download = undefined;
52
+ this.href = undefined;
53
+ this.justifyContent = "center";
54
+ this.loading = false;
55
+ this.size = "medium";
56
+ this.target = undefined;
57
+ this.type = "button";
58
+ this.variant = "standard";
59
+ }
60
+ // Own Properties
61
+ // ====================
62
+ prefixElem;
63
+ suffixElem;
64
+ get el() {
65
+ return b(this);
66
+ }
67
+ internals;
68
+ // Prop lifecycle events
69
+ // =======================
70
+ checkPropValues() {
71
+ i(u, "primary", this.el, "appearance");
72
+ i(v, "button", this.el, "type");
73
+ i(c, "medium", this.el, "size");
74
+ i(g, "standard", this.el, "variant");
75
+ }
76
+ // Events section
77
+ // Requires JSDocs for public API documentation
78
+ // ==============================================
79
+ /** Handler to be called when the button loses focus */
80
+ bqBlur;
81
+ /** Handler to be called when the button is clicked */
82
+ bqFocus;
83
+ /** Handler to be called when button gets focus */
84
+ bqClick;
85
+ // Component lifecycle events
86
+ // Ordered by their natural call order
87
+ // =====================================
88
+ componentWillLoad() {
89
+ this.checkPropValues();
90
+ }
91
+ // Listeners
92
+ // ==============
93
+ // Public methods API
94
+ // These methods are exposed on the host element.
95
+ // Always use two lines.
96
+ // Public Methods must be async.
97
+ // Requires JSDocs for public API documentation.
98
+ // ===============================================
99
+ // Local methods
100
+ // Internal business logic.
101
+ // These methods cannot be called from the host element.
102
+ // =======================================================
103
+ handleBlur=() => {
104
+ this.bqBlur.emit(this.el);
105
+ };
106
+ handleFocus=() => {
107
+ this.bqFocus.emit(this.el);
108
+ };
109
+ handleClick=a => {
110
+ const {disabled: r, loading: b, bqClick: e, el: n} = this;
111
+ if (r || b) {
112
+ this.preventEvent(a);
113
+ return;
114
+ }
115
+ const t = e.emit(n);
116
+ if (t.defaultPrevented) {
117
+ this.preventEvent(a);
118
+ return;
119
+ }
120
+ this.handleFormAction();
121
+ };
122
+ handleFormAction() {
123
+ const {type: a, internals: {form: r}} = this;
124
+ if (t(r)) return;
125
+ const b = this.formActions(r)[a];
126
+ if (t(b)) return;
127
+ b();
128
+ }
129
+ formActions=a => ({
130
+ submit: () => this.submitAssociatedForm(a),
131
+ reset: () => a.reset()
132
+ });
133
+ submitAssociatedForm=a => {
134
+ if (typeof window === "undefined" || t(a)) return;
135
+ const r = document.createElement("button");
136
+ r.type = this.type;
137
+ r.hidden = true;
138
+ a.append(r);
139
+ r.click();
140
+ r.remove();
141
+ };
142
+ handleSlotChange=() => {
143
+ this.hasPrefix = o(this.prefixElem, "prefix");
144
+ this.hasSuffix = o(this.suffixElem, "suffix");
145
+ };
146
+ preventEvent(a) {
147
+ a.preventDefault();
148
+ a.stopPropagation();
149
+ }
150
+ // render() function
151
+ // Always the last one in the class.
152
+ // ===================================
153
+ render() {
154
+ const a = q(this.href);
155
+ const r = a ? "a" : "button";
156
+ const b = {
157
+ ...this.border && {
158
+ "--bq-button--border-radius": `var(--bq-radius--${this.border})`
159
+ }
160
+ };
161
+ return e(n, {
162
+ key: "1c60e9784b28354e3c63ddcb8606f06280d6eb01",
163
+ style: b
164
+ }, e(r, {
165
+ key: "f2556225dbeeee74d938a06ffd0dd0753306ab95",
166
+ class: {
167
+ "bq-button": true,
168
+ [`bq-button--${this.appearance}`]: true,
169
+ [`content-${this.justifyContent}`]: true,
170
+ [`${this.variant}`]: true,
171
+ [`${this.size}`]: true,
172
+ block: this.block,
173
+ disabled: this.disabled,
174
+ "has-prefix": this.hasPrefix,
175
+ "has-suffix": this.hasSuffix,
176
+ loading: this.loading
177
+ },
178
+ "aria-disabled": this.disabled ? "true" : "false",
179
+ disabled: this.disabled,
180
+ download: a ? this.download : undefined,
181
+ href: a ? this.href : undefined,
182
+ part: "button",
183
+ rel: a && this.target ? "noreferrer noopener" : undefined,
184
+ target: a ? this.target : undefined,
185
+ type: this.type,
186
+ tabIndex: this.disabled ? -1 : 0,
187
+ onBlur: this.handleBlur,
188
+ onFocus: this.handleFocus,
189
+ onClick: this.handleClick
190
+ }, e("span", {
191
+ key: "b5d52280888eb922c89b8a484b280e79da568573",
192
+ class: "bq-button__prefix",
193
+ ref: a => this.prefixElem = a,
194
+ part: "prefix"
195
+ }, e("slot", {
196
+ key: "d8527ff22b5cc1e1eb94b39d416d7df25bf33e8f",
197
+ name: "prefix",
198
+ onSlotchange: this.handleSlotChange
199
+ })), e("span", {
200
+ key: "23c9363780c470abd1f793ca7b53e7af1a381532",
201
+ class: "bq-button__label",
202
+ part: "label"
203
+ }, e("slot", {
204
+ key: "81322f2eb3e43ef6af1541dccbade337a622e62d"
205
+ })), e("span", {
206
+ key: "e89c90ccacbfdba00f2e02993927acb3f10c1917",
207
+ class: "bq-button__suffix",
208
+ ref: a => this.suffixElem = a,
209
+ part: "suffix"
210
+ }, e("slot", {
211
+ key: "9094f9ac52957442dbeae0dd46a7ea359760d19a",
212
+ name: "suffix",
213
+ onSlotchange: this.handleSlotChange
214
+ })), this.loading && e("bq-icon", {
215
+ key: "e852caae661c63bbaf777f0875f128143c9b10b3",
216
+ class: "bq-button__loader",
217
+ name: "spinner-gap",
218
+ role: "img",
219
+ title: `${this.appearance} button loader`
220
+ })));
221
+ }
222
+ static get delegatesFocus() {
223
+ return true;
224
+ }
225
+ static get formAssociated() {
226
+ return true;
227
+ }
228
+ static get watchers() {
229
+ return {
230
+ appearance: [ "checkPropValues" ],
231
+ type: [ "checkPropValues" ],
232
+ size: [ "checkPropValues" ],
233
+ variant: [ "checkPropValues" ]
234
+ };
235
+ }
236
+ };
237
+
238
+ m.style = h;
239
+
240
+ /* -------------------------------------------------------------------------- */ const y = new Map;
241
+
242
+ const p = new Map;
243
+
244
+ /**
245
+ * Fetches SVG content from a given URL and optionally sanitizes it.
246
+ * @param {string} url - The URL to fetch the SVG from.
247
+ * @param {boolean} sanitize - Whether to sanitize the SVG content.
248
+ * @returns {Promise<unknown>} - A promise that resolves to the SVG content.
249
+ */ const fetchSvg = async (a, r) => {
250
+ if (t(a) || typeof fetch === "undefined" || typeof window === "undefined") {
251
+ return;
252
+ }
253
+ if (y.has(a)) return y.get(a);
254
+ try {
255
+ const b = await fetch(a);
256
+ if (!b.ok) {
257
+ p.set(a, "");
258
+ return;
259
+ }
260
+ let e = await b.text();
261
+ if (r !== false) {
262
+ e = validateContent(e);
263
+ }
264
+ p.set(a, e);
265
+ return e;
266
+ } catch (r) {
267
+ console.error(`[BqIcon] Failed to fetch SVG from ${a}:`, r);
268
+ p.set(a, "");
269
+ }
270
+ };
271
+
272
+ /**
273
+ * Retrieves the SVG content for a given URL, fetching and caching it if necessary.
274
+ * @param {string} url - The URL to fetch the SVG from.
275
+ * @param {boolean} sanitize - Whether to sanitize the SVG content.
276
+ * @returns {Promise<unknown>} - A promise that resolves to the SVG content.
277
+ */ const getSvgContent = async (a, r) => {
278
+ if (t(a)) return;
279
+ let b = y.get(a);
280
+ if (t(b)) {
281
+ b = fetchSvg(a, r);
282
+ y.set(a, b);
283
+ }
284
+ return b;
285
+ };
286
+
287
+ /**
288
+ * Validates and sanitizes the SVG content.
289
+ * @param {string} svgContent - The SVG content to validate.
290
+ * @returns {string} - The sanitized SVG content.
291
+ */ const validateContent = a => {
292
+ if (typeof window === "undefined" || t(a)) return "";
293
+ const r = "svg";
294
+ const b = "bq-icon__svg";
295
+ const e = document.createElement("div");
296
+ e.innerHTML = a;
297
+ const n = e.querySelector(r);
298
+ if (n) {
299
+ const a = n.getAttribute("class") || "";
300
+ n.setAttribute("class", `${a} ${b}`.trim());
301
+ n.setAttribute("part", r);
302
+ n.removeAttribute("height");
303
+ n.removeAttribute("width");
304
+ if (isValid(n)) {
305
+ return e.innerHTML;
306
+ }
307
+ }
308
+ return "";
309
+ };
310
+
311
+ /**
312
+ * Checks if an HTML element is valid (i.e., does not contain scripts or event handlers).
313
+ * @param {HTMLElement} elm - The element to check.
314
+ * @returns {boolean} - True if the element is valid, false otherwise.
315
+ */ const isValid = a => {
316
+ if (!a) return false;
317
+ if (a.nodeType !== Node.ELEMENT_NODE) return false;
318
+ if (a.nodeName.toLowerCase() === "script") return false;
319
+ for (const r of Array.from(a.attributes)) {
320
+ if (s(r.value) && r.value.toLowerCase().startsWith("on")) {
321
+ return false;
322
+ }
323
+ }
324
+ for (const r of Array.from(a.children)) {
325
+ if (!isValid(r)) return false;
326
+ }
327
+ return true;
328
+ };
329
+
330
+ const k = '.bq-icon__svg,.scale-x-\\[--bq-icon--direction\\],.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}::backdrop,:root{--bq-blue-100:#e7f0fd;--bq-blue-200:#d0e2fb;--bq-blue-300:#a1c5f7;--bq-blue-400:#73a8f3;--bq-blue-500:#448bef;--bq-blue-600:#156eeb;--bq-blue-700:#1158bc;--bq-blue-800:#0d428d;--bq-blue-900:#082c5e;--bq-blue-1000:#04162f;--bq-corai-100:#fff2f2;--bq-corai-200:#ffe6e6;--bq-corai-300:#ffccce;--bq-corai-400:#ffb3b5;--bq-corai-500:#ff999d;--bq-corai-600:#ff8084;--bq-corai-700:#cc666a;--bq-corai-800:#994d4f;--bq-corai-900:#663335;--bq-corai-1000:#331a1a;--bq-cyan-100:#e8f7fb;--bq-cyan-200:#d2f0f8;--bq-cyan-300:#a5e1f1;--bq-cyan-400:#78d1e9;--bq-cyan-500:#4bc2e2;--bq-cyan-600:#1eb3db;--bq-cyan-700:#188faf;--bq-cyan-800:#126b83;--bq-cyan-900:#0c4858;--bq-cyan-1000:#06242c;--bq-gold-100:#fbf4ec;--bq-gold-200:#f7e9da;--bq-gold-300:#f0d3b6;--bq-gold-400:#e8bc91;--bq-gold-500:#e1a66d;--bq-gold-600:#d99048;--bq-gold-700:#ae733a;--bq-gold-800:#82562b;--bq-gold-900:#573a1d;--bq-gold-1000:#2b1d0e;--bq-green-100:#e8f8ef;--bq-green-200:#d2f1e0;--bq-green-300:#a5e3c1;--bq-green-400:#78d5a1;--bq-green-500:#4bc782;--bq-green-600:#1eb963;--bq-green-700:#18944f;--bq-green-800:#126f3b;--bq-green-900:#0c4a28;--bq-green-1000:#062514;--bq-grey-100:#f1f2f4;--bq-grey-200:#e7e8eb;--bq-grey-300:#caccd2;--bq-grey-400:#a6aab3;--bq-grey-50:#f6f6f8;--bq-grey-500:#898e99;--bq-grey-600:#646a77;--bq-grey-700:#3f4350;--bq-grey-800:#2a2c35;--bq-grey-900:#1c1d23;--bq-grey-950:#15161a;--bq-grey-1000:#0d0e11;--bq-indigo-100:#edecfc;--bq-indigo-200:#dcdafa;--bq-indigo-300:#b9b5f5;--bq-indigo-400:#9590ef;--bq-indigo-500:#726bea;--bq-indigo-600:#4f46e5;--bq-indigo-700:#3f38b7;--bq-indigo-800:#2f2a89;--bq-indigo-900:#201c5c;--bq-indigo-1000:#100e2e;--bq-iris-100:#e9f0ff;--bq-iris-200:#d6e0ff;--bq-iris-300:#b2c0fe;--bq-iris-400:#8691f8;--bq-iris-500:#6061ee;--bq-iris-600:#4f46e5;--bq-iris-700:#413abd;--bq-iris-800:#332e95;--bq-iris-900:#26216d;--bq-iris-1000:#181545;--bq-lime-100:#f5fae8;--bq-lime-200:#ecf6d2;--bq-lime-300:#d9eda5;--bq-lime-400:#c5e379;--bq-lime-500:#b2da4c;--bq-lime-600:#9fd11f;--bq-lime-700:#7fa719;--bq-lime-800:#5f7d13;--bq-lime-900:#40540c;--bq-lime-1000:#202a06;--bq-magenta-100:#fce7f4;--bq-magenta-200:#f9cfea;--bq-magenta-300:#f39fd6;--bq-magenta-400:#ee6fbf;--bq-magenta-500:#e83fab;--bq-magenta-600:#de1395;--bq-magenta-700:#b20f77;--bq-magenta-800:#850c59;--bq-magenta-900:#58083c;--bq-magenta-1000:#2c041e;--bq-neutral-white:#fbfbfc;--bq-neutral-black:#060708;--bq-orange-100:#fbf0e9;--bq-orange-200:#f8e1d4;--bq-orange-300:#f1c2a8;--bq-orange-400:#eaa47d;--bq-orange-500:#e38551;--bq-orange-600:#dc6726;--bq-orange-700:#b0521e;--bq-orange-800:#843e17;--bq-orange-900:#58290f;--bq-orange-1000:#2c1508;--bq-purple-100:#efebf8;--bq-purple-200:#e0d7f2;--bq-purple-300:#c1afe5;--bq-purple-400:#a388d8;--bq-purple-500:#8460cb;--bq-purple-600:#6538be;--bq-purple-700:#512d98;--bq-purple-800:#3d2272;--bq-purple-900:#28164c;--bq-purple-1000:#140b26;--bq-red-100:#fce7ea;--bq-red-200:#f9d1d5;--bq-red-300:#f3a2ac;--bq-red-400:#ed7482;--bq-red-500:#e74559;--bq-red-600:#e1172f;--bq-red-700:#b41226;--bq-red-800:#870e1c;--bq-red-900:#5a0913;--bq-red-1000:#2d0509;--bq-sky-100:#eff4fb;--bq-sky-200:#dfeaf8;--bq-sky-300:#bfd5f1;--bq-sky-400:#9ec1e9;--bq-sky-500:#7eace2;--bq-sky-600:#5e97db;--bq-sky-700:#4b79af;--bq-sky-800:#385b83;--bq-sky-900:#263c58;--bq-sky-1000:#131e2c;--bq-teal-100:#e5f7f5;--bq-teal-200:#ccf0eb;--bq-teal-300:#99e1d8;--bq-teal-400:#66d2c4;--bq-teal-500:#33c3b1;--bq-teal-600:#00b49d;--bq-teal-700:#00907e;--bq-teal-800:#006c5e;--bq-teal-900:#00483f;--bq-teal-1000:#00241f;--bq-volcano-100:#feede7;--bq-volcano-200:#fddbd1;--bq-volcano-300:#fbb8a3;--bq-volcano-400:#fa9474;--bq-volcano-500:#f87146;--bq-volcano-600:#f64d18;--bq-volcano-700:#c53e13;--bq-volcano-800:#942e0e;--bq-volcano-900:#621f0a;--bq-volcano-1000:#310f05;--bq-yellow-100:#fefbe7;--bq-yellow-200:#fcf6d0;--bq-yellow-300:#faeea0;--bq-yellow-400:#f7e571;--bq-yellow-500:#f5dd41;--bq-yellow-600:#f2d412;--bq-yellow-700:#c2aa0e;--bq-yellow-800:#917f0b;--bq-yellow-900:#615507;--bq-yellow-1000:#302a04;--bq-endava-grey-50:#f7f7f8;--bq-endava-grey-100:#e4e6e7;--bq-endava-grey-200:#b5babe;--bq-endava-grey-300:#949ca1;--bq-endava-grey-400:#737d84;--bq-endava-grey-500:#525f67;--bq-endava-grey-600:#30404b;--bq-endava-grey-700:#2b3942;--bq-endava-grey-800:#263139;--bq-endava-grey-900:#192b37;--bq-endava-grey-950:#151b1e;--bq-endava-grey-1000:#0f1316;--bq-endava-neutral-white:#fafbfb;--bq-endava-neutral-black:#060708;--bq-endava-orange-100:#fef3f1;--bq-endava-orange-200:#fbd6d1;--bq-endava-orange-300:#fab7af;--bq-endava-orange-400:#fa988b;--bq-endava-orange-500:#fc7866;--bq-endava-orange-600:#ff5640;--bq-endava-orange-700:#ce4a39;--bq-endava-orange-800:#a03d30;--bq-endava-orange-900:#722e25;--bq-endava-orange-1000:#471e19}*,:after,:before{box-sizing:border-box}*{font:inherit;margin:0}ol[role=list],ul[role=list]{list-style-type:none}html{font-size:var(--bq-font-size--m)}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bq-background--primary);color:var(--bq-text--primary);font-family:var(--bq-font-family);line-height:var(--bq-font-line-height--regular);min-height:100vh;text-rendering:optimizeSpeed}a:not([class]){text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto;transition-duration:.01ms!important}}:root{--bq-white:#fff;--bq-black:#060708;--bq-neutral-50:var(--bq-grey-50);--bq-neutral-100:var(--bq-grey-100);--bq-neutral-200:var(--bq-grey-200);--bq-neutral-300:var(--bq-grey-300);--bq-neutral-400:var(--bq-grey-400);--bq-neutral-500:var(--bq-grey-500);--bq-neutral-600:var(--bq-grey-600);--bq-neutral-700:var(--bq-grey-700);--bq-neutral-800:var(--bq-grey-800);--bq-neutral-900:var(--bq-grey-900);--bq-neutral-950:var(--bq-grey-950);--bq-neutral-1000:var(--bq-grey-1000);--bq-brand-light:var(--bq-iris-100);--bq-brand:var(--bq-iris-600);--bq-brand-dark:var(--bq-iris-1000);--bq-accent-light:var(--bq-purple-100);--bq-accent:var(--bq-purple-600);--bq-accent-dark:var(--bq-purple-1000);--bq-success-light:var(--bq-teal-100);--bq-success:var(--bq-teal-600);--bq-success-dark:var(--bq-teal-1000);--bq-danger-light:var(--bq-red-100);--bq-danger:var(--bq-red-600);--bq-danger-dark:var(--bq-red-1000);--bq-warning-light:var(--bq-gold-100);--bq-warning:var(--bq-gold-600);--bq-warning-dark:var(--bq-gold-1000);--bq-info-light:var(--bq-iris-100);--bq-info:var(--bq-iris-600);--bq-info-dark:var(--bq-iris-1000);--bq-focus:var(--bq-iris-600);--bq-data-01:var(--bq-brand);--bq-data-02:var(--bq-purple-600);--bq-data-03:var(--bq-magenta-600);--bq-data-04:var(--bq-cyan-600);--bq-data-05:var(--bq-teal-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-yellow-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-blue-600);--bq-data-10:var(--bq-grey-600);--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white);--bq-radius--none:0;--bq-radius--xs2:0.125rem;--bq-radius--xs:0.25rem;--bq-radius--s:0.5rem;--bq-radius--m:0.75rem;--bq-radius--l:1.5rem;--bq-radius--full:9999px;--bq-box-shadow--xs:0 2px 0 rgba(0,0,0,.016);--bq-box-shadow--s:0 8px 24px rgba(0,0,0,.04);--bq-box-shadow--m:0 10px 48px -16px rgba(0,0,0,.12);--bq-box-shadow--l:0 20px 58px -16px rgba(0,0,0,.16);--bq-font-family:"Outfit",sans-serif;--bq-font-size--xs:0.75rem;--bq-font-size--s:0.875rem;--bq-font-size--m:1rem;--bq-font-size--l:1.125rem;--bq-font-size--xl:1.5rem;--bq-font-size--xxl:2rem;--bq-font-size--xxl2:2.5rem;--bq-font-size--xxl3:3rem;--bq-font-size--xxl4:3.5rem;--bq-font-size--xxl5:4rem;--bq-font-weight--thin:100;--bq-font-weight--light:300;--bq-font-weight--regular:400;--bq-font-weight--medium:500;--bq-font-weight--semibold:600;--bq-font-weight--bold:700;--bq-font-line-height--small:1.2;--bq-font-line-height--regular:1.5;--bq-font-line-height--large:1.5;--bq-spacing-xs3:0.125rem;--bq-spacing-xs2:0.25rem;--bq-spacing-xs:0.5rem;--bq-spacing-s:0.75rem;--bq-spacing-m:1rem;--bq-spacing-l:1.5rem;--bq-spacing-xl:2rem;--bq-spacing-xxl:2.5rem;--bq-spacing-xxl2:3.5rem;--bq-spacing-xxl3:4rem;--bq-spacing-xxl4:4.5rem;--bq-stroke-s:1px;--bq-stroke-m:2px;--bq-stroke-l:3px}.beeq.light,.light,:root,[bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--alt:var(--bq-white);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-light);--bq-hover:#bcbfc5;--bq-active:#444546}.beeq.dark,.dark,[bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-950);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-brand);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-brand);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-brand);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-brand);--bq-ui--info-alt:var(--bq-brand-dark);--bq-hover:#444546;--bq-active:#1f2026}.endava,[bq-theme=endava]{--bq-font-family:"Poppins",sans-serif;--bq-white:#fafbfb;--bq-black:#030406;--bq-neutral-50:var(--bq-endava-grey-50);--bq-neutral-100:var(--bq-endava-grey-100);--bq-neutral-200:var(--bq-endava-grey-200);--bq-neutral-300:var(--bq-endava-grey-300);--bq-neutral-400:var(--bq-endava-grey-400);--bq-neutral-500:var(--bq-endava-grey-500);--bq-neutral-600:var(--bq-endava-grey-600);--bq-neutral-700:var(--bq-endava-grey-700);--bq-neutral-800:var(--bq-endava-grey-800);--bq-neutral-900:var(--bq-endava-grey-900);--bq-neutral-950:var(--bq-endava-grey-950);--bq-neutral-1000:var(--bq-endava-grey-1000);--bq-brand-light:var(--bq-endava-orange-100);--bq-brand:var(--bq-endava-orange-600);--bq-brand-dark:var(--bq-endava-orange-1000);--bq-accent-light:var(--bq-endava-orange-100);--bq-accent:var(--bq-endava-orange-600);--bq-accent-dark:var(--bq-endava-orange-1000);--bq-success-light:var(--bq-green-100);--bq-success:var(--bq-green-600);--bq-success-dark:var(--bq-green-1000);--bq-danger-light:var(--bq-corai-100);--bq-danger:var(--bq-corai-600);--bq-danger-dark:var(--bq-corai-1000);--bq-warning-light:var(--bq-yellow-100);--bq-warning:var(--bq-yellow-600);--bq-warning-dark:var(--bq-yellow-1000);--bq-info-light:var(--bq-blue-100);--bq-info:var(--bq-blue-600);--bq-info-dark:var(--bq-blue-1000);--bq-focus:var(--bq-endava-orange-600);--bq-data-01:var(--bq-brand);--bq-data-02:#af0cd8;--bq-data-03:#0ca8d8;--bq-data-04:var(--bq-teal-600);--bq-data-05:var(--bq-yellow-600);--bq-data-06:var(--bq-orange-600);--bq-data-07:var(--bq-blue-600);--bq-data-08:var(--bq-red-600);--bq-data-09:var(--bq-purple-600);--bq-data-10:#394b56;--bq-data-11:var(--bq-black);--bq-data-12:var(--bq-white)}.endava.light,[bq-theme=endava][bq-mode=light]{--bq-background--primary:var(--bq-white);--bq-background--secondary:var(--bq-neutral-100);--bq-background--tertiary:var(--bq-neutral-200);--bq-background--alt:var(--bq-neutral-300);--bq-background--inverse:var(--bq-neutral-900);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-800);--bq-icon--secondary:var(--bq-neutral-600);--bq-icon--inverse:var(--bq-neutral-50);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-200);--bq-stroke--secondary:var(--bq-neutral-600);--bq-stroke--tertiary:var(--bq-neutral-900);--bq-stroke--inverse:var(--bq-white);--bq-stroke--brand:var(--bq-brand);--bq-stroke--alt:var(--bq-neutral-50);--bq-stroke--brand-alt:var(--bq-brand-light);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-800);--bq-text--secondary:var(--bq-neutral-600);--bq-text--inverse:var(--bq-neutral-50);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-white);--bq-ui--secondary:var(--bq-neutral-200);--bq-ui--tertiary:var(--bq-neutral-500);--bq-ui--inverse:var(--bq-neutral-900);--bq-ui--alt:var(--bq-neutral-50);--bq-ui--brand-alt:var(--bq-brand-light);--bq-ui--brand:var(--bq-brand);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-light);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-light);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-light);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-light);--bq-hover:#444546;--bq-active:#1f2026}.endava.dark,[bq-theme=endava][bq-mode=dark]{--bq-background--primary:var(--bq-neutral-1000);--bq-background--secondary:var(--bq-neutral-900);--bq-background--tertiary:var(--bq-neutral-800);--bq-background--alt:var(--bq-neutral-700);--bq-background--inverse:var(--bq-neutral-600);--bq-background--brand:var(--bq-brand);--bq-background--overlay:var(--bq-neutral-900);--bq-icon--primary:var(--bq-neutral-100);--bq-icon--secondary:var(--bq-neutral-400);--bq-icon--inverse:var(--bq-neutral-800);--bq-icon--brand:var(--bq-brand);--bq-icon--alt:var(--bq-white);--bq-icon--info:var(--bq-info);--bq-icon--success:var(--bq-success);--bq-icon--warning:var(--bq-warning);--bq-icon--danger:var(--bq-danger);--bq-stroke--primary:var(--bq-neutral-900);--bq-stroke--secondary:var(--bq-neutral-700);--bq-stroke--tertiary:var(--bq-neutral-400);--bq-stroke--inverse:var(--bq-neutral-950);--bq-stroke--brand:var(--bq-brand);--bq-stroke--brand-alt:var(--bq-brand-dark);--bq-stroke--alt:var(--bq-neutral-1000);--bq-stroke--success:var(--bq-success);--bq-stroke--warning:var(--bq-warning);--bq-stroke--danger:var(--bq-danger);--bq-stroke--info:var(--bq-info);--bq-text--primary:var(--bq-neutral-100);--bq-text--secondary:var(--bq-neutral-400);--bq-text--inverse:var(--bq-neutral-800);--bq-text--brand:var(--bq-brand);--bq-text--alt:var(--bq-neutral-white);--bq-text--info:var(--bq-info);--bq-text--success:var(--bq-success);--bq-text--warning:var(--bq-warning);--bq-text--danger:var(--bq-danger);--bq-ui--primary:var(--bq-neutral-900);--bq-ui--secondary:var(--bq-neutral-800);--bq-ui--tertiary:var(--bq-neutral-700);--bq-ui--inverse:var(--bq-neutral-100);--bq-ui--brand:var(--bq-brand);--bq-ui--brand-alt:var(--bq-brand-dark);--bq-ui--alt:var(--bq-neutral-950);--bq-ui--success:var(--bq-success);--bq-ui--success-alt:var(--bq-success-dark);--bq-ui--warning:var(--bq-warning);--bq-ui--warning-alt:var(--bq-warning-dark);--bq-ui--danger:var(--bq-danger);--bq-ui--danger-alt:var(--bq-danger-dark);--bq-ui--info:var(--bq-info);--bq-ui--info-alt:var(--bq-info-dark);--bq-hover:#444546;--bq-active:#1f2026}.inline-block{display:inline-block}.scale-x-\\[--bq-icon--direction\\]{--tw-scale-x:var(--bq-icon--direction)}.scale-x-\\[--bq-icon--direction\\],.transform{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))}@-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-icon--color:inherit;--bq-icon--size:24px;display:inline-block}.bq-icon__svg{--tw-scale-x:var(--bq-icon--direction);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))}.static{position:static}.flex{display:flex}.text-\\[color\\:--bq-icon--color\\]{color:var(--bq-icon--color)}.bs-\\[--bq-icon--size\\]{block-size:var(--bq-icon--size)}.is-\\[--bq-icon--size\\]{inline-size:var(--bq-icon--size)}';
331
+
332
+ const w = k;
333
+
334
+ const x = class {
335
+ constructor(b) {
336
+ a(this, b);
337
+ this.svgLoaded = r(this, "svgLoaded", 7);
338
+ this._svgContent = undefined;
339
+ this.label = undefined;
340
+ this.color = undefined;
341
+ this.name = undefined;
342
+ this.size = 24;
343
+ this.src = undefined;
344
+ this.weight = undefined;
345
+ }
346
+ // Prop lifecycle events
347
+ // =======================
348
+ handlePropsChange() {
349
+ this.loadIcon(this.name);
350
+ }
351
+ /**
352
+ * !TO BE REMOVED: Delete this `@Watch()` once the deprecated `weight` property is removed
353
+ * We need to maintain retro-compatibility until the next major release
354
+ */ handleWeightChange() {
355
+ if (this.name.includes(this.weight)) return;
356
+ console.warn(`❗️ [bq-icon]: the 'weight' property is deprecated, you should add the weight to the icon name.\n\n For example, '<bq-icon name="bell-fill"></bq-icon>' instead of '<bq-icon name="bell" weight="fill"></bq-icon>'`);
357
+ // Check if the icon is weighted. An icon is considered weighted if its weight is not 'regular' and ENV_SVG_PATH is not set.
358
+ // Eg: if the weight is 'bold' and ENV_SVG_PATH is not set, isWeightedIcon will be true.
359
+ const a = "regular";
360
+ const r = !t(this.weight) && this.weight !== a;
361
+ // If the icon is weighted, append the weight to the icon name. Otherwise, append nothing.
362
+ // Eg: if isWeightedIcon is true and the weight is 'bold', weightSuffix will be '-bold'.
363
+ const b = r ? `-${this.weight}` : "";
364
+ // Construct the icon name by appending the weight suffix (if any) and the file extension.
365
+ // Eg: if the name is 'my-icon' and weightSuffix is '-bold', iconName will be 'my-icon-bold.svg'.
366
+ const e = `${this.name}${b}`;
367
+ this.loadIcon(e);
368
+ }
369
+ // Events section
370
+ // Requires JSDocs for public API documentation
371
+ // ==============================================
372
+ /** Callback handler to be called when the SVG has loaded */
373
+ svgLoaded;
374
+ // Component lifecycle events
375
+ // Ordered by their natural call order
376
+ // =====================================
377
+ connectedCallback() {
378
+ this.setupIconComponent();
379
+ }
380
+ componentWillLoad() {
381
+ this.setupIconComponent();
382
+ }
383
+ // Listeners
384
+ // ==============
385
+ // Public methods API
386
+ // These methods are exposed on the host element.
387
+ // Always use two lines.
388
+ // Public Methods must be async.
389
+ // Requires JSDocs for public API documentation.
390
+ // ===============================================
391
+ // Local methods
392
+ // Internal business logic.
393
+ // These methods cannot be called from the host element.
394
+ // =======================================================
395
+ setupIconComponent=() => {
396
+ this.loadIcon(this.name);
397
+ // !TO BE REMOVED: Delete this once the deprecated `weight` property is removed
398
+ if (!t(this.weight)) this.handleWeightChange();
399
+ };
400
+ getIconSource=a => {
401
+ if (!this.name && !this.src) return;
402
+ // Return the src if it is set
403
+ if (this.src) return this.src;
404
+ const r = ".svg";
405
+ const b = `${a}${r}`;
406
+ return d(b);
407
+ };
408
+ loadIcon=a => {
409
+ const r = this.getIconSource(a);
410
+ getSvgContent(r, true).then((() => {
411
+ this._svgContent = p.get(r);
412
+ this.svgLoaded.emit(this._svgContent);
413
+ }));
414
+ };
415
+ // render() function
416
+ // Always the last one in the class.
417
+ // ===================================
418
+ render() {
419
+ const a = {
420
+ ...this.color && {
421
+ "--bq-icon--color": l(this.color)
422
+ },
423
+ ...this.size && {
424
+ "--bq-icon--size": `${this.size}px`
425
+ }
426
+ };
427
+ return e(n, {
428
+ key: "69753077792209616891575d12aeeefbd767f29c",
429
+ style: a
430
+ }, e("div", {
431
+ key: "b7df52fa6437e598b9a79e686c9b036cd3dbe864",
432
+ "aria-label": this.label ?? `${this.name} icon`,
433
+ class: "flex text-[color:--bq-icon--color] bs-[--bq-icon--size] is-[--bq-icon--size]",
434
+ innerHTML: this._svgContent,
435
+ part: "base",
436
+ role: "img"
437
+ }));
438
+ }
439
+ static get assetsDirs() {
440
+ return [ "svg" ];
441
+ }
442
+ static get watchers() {
443
+ return {
444
+ color: [ "handlePropsChange" ],
445
+ name: [ "handlePropsChange" ],
446
+ size: [ "handlePropsChange" ],
447
+ weight: [ "handleWeightChange" ]
448
+ };
449
+ }
450
+ };
451
+
452
+ x.style = w;
453
+
454
+ export { m as bq_button, x as bq_icon };
455
+ //# sourceMappingURL=p-8512b8ee.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BUTTON_SIZE","BUTTON_TYPE","BUTTON_APPEARANCE","BUTTON_VARIANT","bqButtonCss","BqButtonStyle0","BqButton","prefixElem","suffixElem","internals","checkPropValues","validatePropValue","this","el","bqBlur","bqFocus","bqClick","componentWillLoad","handleBlur","emit","handleFocus","handleClick","ev","disabled","loading","preventEvent","bqClickEvent","defaultPrevented","handleFormAction","type","form","isNil","formAction","formActions","submit","submitAssociatedForm","reset","window","btn","document","createElement","hidden","append","click","remove","handleSlotChange","hasPrefix","hasSlotContent","hasSuffix","preventDefault","stopPropagation","render","isLink","isDefined","href","TagElem","style","border","h","Host","key","class","appearance","justifyContent","variant","size","block","download","undefined","part","rel","target","tabIndex","onBlur","onFocus","onClick","ref","spanElem","name","onSlotchange","role","title","requests","Map","iconContent","fetchSvg","async","url","sanitize","fetch","has","get","response","ok","set","svgContent","text","validateContent","error","console","getSvgContent","req","svgTag","iconCssClass","div","innerHTML","svgElm","querySelector","existingClasses","getAttribute","setAttribute","trim","removeAttribute","isValid","elm","nodeType","Node","ELEMENT_NODE","nodeName","toLowerCase","attribute","Array","from","attributes","isString","value","startsWith","childNode","children","bqIconCss","BqIconStyle0","BqIcon","handlePropsChange","loadIcon","handleWeightChange","includes","weight","warn","REGULAR","isWeightedIcon","weightSuffix","iconName","svgLoaded","connectedCallback","setupIconComponent","getIconSource","src","SVG_EXTENSION","iconFileName","getBasePath","then","_svgContent","styles","color","getColorCSSVariable","label"],"sources":["../../packages/beeq/src/components/button/bq-button.types.ts","../../packages/beeq/src/components/button/scss/bq-button.scss?tag=bq-button&encapsulation=shadow","../../packages/beeq/src/components/button/bq-button.tsx","../../packages/beeq/src/components/icon/helper/request.ts","../../packages/beeq/src/components/icon/scss/bq-icon.scss?tag=bq-icon&encapsulation=shadow","../../packages/beeq/src/components/icon/bq-icon.tsx"],"sourcesContent":["export const BUTTON_SIZE = ['small', 'medium', 'large'] as const;\nexport type TButtonSize = (typeof BUTTON_SIZE)[number];\n\nexport const BUTTON_TYPE = ['button', 'submit', 'reset'] as const;\nexport type TButtonType = (typeof BUTTON_TYPE)[number];\n\nexport const BUTTON_APPEARANCE = ['primary', 'secondary', 'link', 'text'] as const;\nexport type TButtonAppearance = (typeof BUTTON_APPEARANCE)[number];\n\nexport const BUTTON_VARIANT = ['standard', 'ghost', 'danger'] as const;\nexport type TButtonVariant = (typeof BUTTON_VARIANT)[number];\n\nexport const BUTTON_BORDER_RADIUS = ['none', 'xs2', 'xs', 's', 'm', 'l', 'full'] as const;\nexport type TButtonBorderRadius = (typeof BUTTON_BORDER_RADIUS)[number];\n","/* -------------------------------------------------------------------------- */\n/* Button styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-button.variables';\n\n@layer components {\n // Common button base style\n .bq-button {\n @apply box-border flex cursor-[inherit] items-center justify-center font-medium leading-regular;\n @apply rounded-[--bq-button--border-radius] border-[length:--bq-button--border-width] border-[color:--bq-button--border-color];\n @apply transition-[background-color,border-color,color] duration-300 ease-in-out;\n // `DISABLED` state\n @apply disabled:cursor-not-allowed disabled:opacity-60;\n // `FOCUS` state\n @apply focus-visible:focus;\n }\n}\n\n:host {\n @apply relative inline-block cursor-pointer is-auto;\n}\n\n:host([block]),\n.block {\n @apply is-full;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Appearance */\n/* -------------------------------------------------------------------------- */\n\n.bq-button--primary {\n @apply bg-ui-brand text-text-alt;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-brand;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-brand active:enabled:hover:bg-active-ui-brand;\n}\n\n.bq-button--primary.ghost {\n @apply border-m border-solid border-stroke-brand bg-transparent text-text-brand;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-primary;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-primary active:enabled:hover:bg-active-ui-primary;\n}\n\n.bq-button--primary.danger {\n @apply bg-ui-danger text-text-alt;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-danger;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-danger active:enabled:hover:bg-active-ui-danger;\n}\n\n.bq-button--secondary {\n @apply bg-ui-secondary text-text-primary;\n // Secondary `HOVER` state\n @apply hover:enabled:bg-hover-ui-secondary;\n // Secondary `ACTIVE` state\n @apply active:enabled:bg-active-ui-secondary active:enabled:hover:bg-active-ui-secondary;\n}\n\n.bq-button--secondary.ghost {\n @apply border-m border-solid border-stroke-tertiary bg-transparent text-text-primary;\n // Secondary `HOVER` state\n @apply hover:enabled:bg-hover-ui-secondary;\n // Secondary `ACTIVE` state\n @apply active:enabled:bg-active-ui-secondary active:enabled:hover:bg-active-ui-secondary;\n}\n\n.bq-button--link {\n @apply bg-transparent text-text-brand no-underline;\n // Primary `HOVER` state\n @apply [&:not(.disabled)]:hover:bg-hover-ui-primary;\n // Primary `ACTIVE` state\n @apply [&:not(.disabled)]:active:bg-active-ui-secondary [&:not(.disabled)]:active:hover:bg-active-ui-secondary;\n // HTML `<a>` elements does not have a `disabled` state so we need to handle it manually\n &.disabled {\n @apply cursor-not-allowed opacity-60;\n }\n}\n\n.bq-button--text {\n @apply bg-transparent text-text-primary;\n // Primary `HOVER` state\n @apply hover:enabled:bg-hover-ui-primary;\n // Primary `ACTIVE` state\n @apply active:enabled:bg-active-ui-secondary active:enabled:hover:bg-active-ui-secondary;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Size */\n/* -------------------------------------------------------------------------- */\n\n.small {\n @apply text-[length:--bq-button--small-font-size] bs-[--bq-button--small-height] p-b-[--bq-button--small-paddingY] p-i-[--bq-button--small-paddingX];\n}\n\n.medium {\n @apply text-[length:--bq-button--medium-font-size] bs-[--bq-button--medium-height] p-b-[--bq-button--medium-paddingY] p-i-[--bq-button--medium-paddingX];\n}\n\n.large {\n @apply text-[length:--bq-button--large-font-size] bs-[--bq-button--large-height] p-b-[--bq-button--large-paddingY] p-i-[--bq-button--large-paddingX];\n}\n\n/* -------------------------------------------------------------------------- */\n/* Label */\n/* -------------------------------------------------------------------------- */\n\n.bq-button__label ::slotted(bq-icon) {\n @apply flex;\n}\n\n.content-left {\n @apply justify-start;\n}\n\n.content-right {\n @apply justify-end;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Prefix and Suffix slots */\n/* -------------------------------------------------------------------------- */\n\n.bq-button__prefix,\n.bq-button__suffix {\n @apply pointer-events-none flex shrink-0 grow-0 basis-auto items-center;\n}\n\n.bq-button.has-prefix .bq-button__label {\n @apply ps-xs2;\n}\n\n.bq-button.has-suffix .bq-button__label {\n @apply pe-xs2;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Loading */\n/* -------------------------------------------------------------------------- */\n\n.bq-button.loading {\n @apply relative cursor-wait;\n}\n\n.bq-button.loading .bq-button__prefix,\n.bq-button.loading .bq-button__label,\n.bq-button.loading .bq-button__suffix {\n @apply invisible;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Spinner icon */\n/* -------------------------------------------------------------------------- */\n\n.bq-button__loader {\n @include animation-spin;\n @apply absolute;\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport {\n BUTTON_APPEARANCE,\n BUTTON_SIZE,\n BUTTON_TYPE,\n BUTTON_VARIANT,\n TButtonAppearance,\n TButtonBorderRadius,\n TButtonSize,\n TButtonType,\n TButtonVariant,\n} from './bq-button.types';\nimport { hasSlotContent, isDefined, isNil, validatePropValue } from '../../shared/utils';\n\n/**\n * Buttons are designed for users to take action on a page or a screen.\n *\n * @part button - The `<a>` or `<button>` HTML element used under the hood.\n * @part prefix - The `<span>` tag element that acts as prefix container.\n * @part label - The `<span>` tag element that renders the text of the button.\n * @part suffix - The `<span>` tag element that acts as suffix container.\n */\n@Component({\n tag: 'bq-button',\n styleUrl: './scss/bq-button.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BqButton {\n // Own Properties\n // ====================\n\n private prefixElem: HTMLElement;\n private suffixElem: HTMLElement;\n\n // Reference to host HTML element\n // ===================================\n\n @Element() el!: HTMLBqButtonElement;\n @AttachInternals() internals!: ElementInternals;\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private hasPrefix = false;\n @State() private hasSuffix = false;\n\n // Public Property API\n // ========================\n\n /** The appearance style to apply to the button */\n @Prop({ reflect: true }) appearance: TButtonAppearance = 'primary';\n\n /** If `true`, it will make the button fit to its parent width. */\n @Prop({ reflect: true }) block: boolean = false;\n\n /** The corner radius of the button */\n @Prop({ reflect: true }) border: TButtonBorderRadius = 'm';\n\n /** If true, the button will be disabled (no interaction allowed) */\n @Prop() disabled = false;\n\n /**\n * Tells the browser to treat the linked URL as a download. Only used when `href` is set.\n * Details: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download\n */\n @Prop() download?: string;\n\n /** When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>` */\n @Prop({ reflect: true }) href: string;\n\n /** It determinate how the content should be aligned */\n @Prop({ reflect: true }) justifyContent: 'left' | 'center' | 'right' = 'center';\n\n /** If `true` it will display the button in a loading state */\n @Prop() loading = false;\n\n /** The size of the button */\n @Prop({ reflect: true }) size: TButtonSize = 'medium';\n\n /**\n * Where to display the linked URL, as the name for a browsing context (a `tab`, `window`, or `<iframe>`)\n * Details: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n */\n @Prop({ reflect: true }) target: '_blank' | '_parent' | '_self' | '_top';\n\n /** The default behavior of the button */\n @Prop({ reflect: true }) type: TButtonType = 'button';\n\n /** The variant of button to apply on top of the appearance (applicable only to `appearance=\"primary\"`) */\n @Prop({ reflect: true }) variant: TButtonVariant = 'standard';\n\n // Prop lifecycle events\n // =======================\n\n @Watch('appearance')\n @Watch('type')\n @Watch('size')\n @Watch('variant')\n checkPropValues() {\n validatePropValue(BUTTON_APPEARANCE, 'primary', this.el, 'appearance');\n validatePropValue(BUTTON_TYPE, 'button', this.el, 'type');\n validatePropValue(BUTTON_SIZE, 'medium', this.el, 'size');\n validatePropValue(BUTTON_VARIANT, 'standard', this.el, 'variant');\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Handler to be called when the button loses focus */\n @Event() bqBlur: EventEmitter<HTMLBqButtonElement>;\n\n /** Handler to be called when the button is clicked */\n @Event() bqFocus: EventEmitter<HTMLBqButtonElement>;\n\n /** Handler to be called when button gets focus */\n @Event() bqClick: EventEmitter<HTMLBqButtonElement>;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n componentWillLoad() {\n this.checkPropValues();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private handleBlur = () => {\n this.bqBlur.emit(this.el);\n };\n\n private handleFocus = () => {\n this.bqFocus.emit(this.el);\n };\n\n private handleClick = (ev: Event) => {\n const { disabled, loading, bqClick, el } = this;\n\n if (disabled || loading) {\n this.preventEvent(ev);\n return;\n }\n\n const bqClickEvent = bqClick.emit(el);\n if (bqClickEvent.defaultPrevented) {\n this.preventEvent(ev);\n return;\n }\n\n this.handleFormAction();\n };\n\n private handleFormAction() {\n const {\n type,\n internals: { form },\n } = this;\n if (isNil(form)) return;\n\n const formAction = this.formActions(form)[type];\n if (isNil(formAction)) return;\n\n formAction();\n }\n\n private formActions = (form: HTMLFormElement) => ({\n submit: () => this.submitAssociatedForm(form),\n reset: () => form.reset(),\n });\n\n private submitAssociatedForm = (form: HTMLFormElement) => {\n if (typeof window === 'undefined' || isNil(form)) return;\n\n const btn = document.createElement('button');\n btn.type = this.type;\n btn.hidden = true;\n form.append(btn);\n\n btn.click();\n btn.remove();\n };\n\n private handleSlotChange = () => {\n this.hasPrefix = hasSlotContent(this.prefixElem, 'prefix');\n this.hasSuffix = hasSlotContent(this.suffixElem, 'suffix');\n };\n\n private preventEvent(ev: Event) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const isLink = isDefined(this.href);\n const TagElem = isLink ? 'a' : 'button';\n const style = {\n ...(this.border && { '--bq-button--border-radius': `var(--bq-radius--${this.border})` }),\n };\n\n return (\n <Host style={style}>\n <TagElem\n class={{\n 'bq-button': true,\n [`bq-button--${this.appearance}`]: true,\n [`content-${this.justifyContent}`]: true,\n [`${this.variant}`]: true,\n [`${this.size}`]: true,\n block: this.block,\n disabled: this.disabled,\n 'has-prefix': this.hasPrefix,\n 'has-suffix': this.hasSuffix,\n loading: this.loading,\n }}\n aria-disabled={this.disabled ? 'true' : 'false'}\n disabled={this.disabled}\n download={isLink ? this.download : undefined}\n href={isLink ? this.href : undefined}\n part=\"button\"\n rel={isLink && this.target ? 'noreferrer noopener' : undefined}\n target={isLink ? this.target : undefined}\n type={this.type}\n tabIndex={this.disabled ? -1 : 0}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.handleClick}\n >\n <span class=\"bq-button__prefix\" ref={(spanElem) => (this.prefixElem = spanElem)} part=\"prefix\">\n <slot name=\"prefix\" onSlotchange={this.handleSlotChange} />\n </span>\n <span class=\"bq-button__label\" part=\"label\">\n <slot />\n </span>\n <span class=\"bq-button__suffix\" ref={(spanElem) => (this.suffixElem = spanElem)} part=\"suffix\">\n <slot name=\"suffix\" onSlotchange={this.handleSlotChange} />\n </span>\n {this.loading && (\n <bq-icon\n class=\"bq-button__loader\"\n name=\"spinner-gap\"\n role=\"img\"\n title={`${this.appearance} button loader`}\n />\n )}\n </TagElem>\n </Host>\n );\n }\n}\n","/* -------------------------------------------------------------------------- */\n/* Icon request helper */\n/* -------------------------------------------------------------------------- */\n\nimport { isNil, isString } from '../../../shared/utils';\n\nconst requests = new Map<string, Promise<unknown>>();\nexport const iconContent = new Map<string, string>();\n\n/**\n * Fetches SVG content from a given URL and optionally sanitizes it.\n * @param {string} url - The URL to fetch the SVG from.\n * @param {boolean} sanitize - Whether to sanitize the SVG content.\n * @returns {Promise<unknown>} - A promise that resolves to the SVG content.\n */\nconst fetchSvg = async (url: string, sanitize: boolean): Promise<unknown> => {\n if (isNil(url) || typeof fetch === 'undefined' || typeof window === 'undefined') {\n return;\n }\n\n if (requests.has(url)) return requests.get(url);\n\n try {\n const response = await fetch(url);\n\n if (!response.ok) {\n iconContent.set(url, '');\n return;\n }\n\n let svgContent = await response.text();\n\n if (sanitize !== false) {\n svgContent = validateContent(svgContent);\n }\n\n iconContent.set(url, svgContent);\n return svgContent;\n } catch (error) {\n console.error(`[BqIcon] Failed to fetch SVG from ${url}:`, error);\n iconContent.set(url, '');\n }\n};\n\n/**\n * Retrieves the SVG content for a given URL, fetching and caching it if necessary.\n * @param {string} url - The URL to fetch the SVG from.\n * @param {boolean} sanitize - Whether to sanitize the SVG content.\n * @returns {Promise<unknown>} - A promise that resolves to the SVG content.\n */\nexport const getSvgContent = async (url: string, sanitize: boolean): Promise<unknown> => {\n if (isNil(url)) return;\n\n let req = requests.get(url);\n\n if (isNil(req)) {\n req = fetchSvg(url, sanitize);\n requests.set(url, req);\n }\n return req;\n};\n\n/**\n * Validates and sanitizes the SVG content.\n * @param {string} svgContent - The SVG content to validate.\n * @returns {string} - The sanitized SVG content.\n */\nexport const validateContent = (svgContent: string): string => {\n if (typeof window === 'undefined' || isNil(svgContent)) return '';\n\n const svgTag = 'svg';\n const iconCssClass = 'bq-icon__svg';\n const div = document.createElement('div');\n div.innerHTML = svgContent;\n\n const svgElm = div.querySelector(svgTag);\n\n if (svgElm) {\n const existingClasses = svgElm.getAttribute('class') || '';\n svgElm.setAttribute('class', `${existingClasses} ${iconCssClass}`.trim());\n svgElm.setAttribute('part', svgTag);\n svgElm.removeAttribute('height');\n svgElm.removeAttribute('width');\n\n if (isValid(svgElm)) {\n return div.innerHTML;\n }\n }\n\n return '';\n};\n\n/**\n * Checks if an HTML element is valid (i.e., does not contain scripts or event handlers).\n * @param {HTMLElement} elm - The element to check.\n * @returns {boolean} - True if the element is valid, false otherwise.\n */\nexport const isValid = (elm: Element): boolean => {\n if (!elm) return false;\n if (elm.nodeType !== Node.ELEMENT_NODE) return false;\n if (elm.nodeName.toLowerCase() === 'script') return false;\n\n for (const attribute of Array.from(elm.attributes)) {\n if (isString(attribute.value) && attribute.value.toLowerCase().startsWith('on')) {\n return false;\n }\n }\n\n for (const childNode of Array.from(elm.children) as HTMLElement[]) {\n if (!isValid(childNode)) return false;\n }\n\n return true;\n};\n","/* -------------------------------------------------------------------------- */\n/* Icon styles */\n/* -------------------------------------------------------------------------- */\n\n@import './bq-icon.variables';\n\n:host {\n @apply inline-block;\n}\n\n/**\n * This class is added on packages/beeq/src/components/icon/helper/request.ts\n * See lines 42 and 58 for details.\n */\n.bq-icon__svg {\n @apply scale-x-[--bq-icon--direction];\n}\n","import { Component, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { TIconWeight } from './bq-icon.types';\nimport { getSvgContent, iconContent } from './helper/request';\nimport { getBasePath, getColorCSSVariable, isNil } from '../../shared/utils';\n\n/**\n * Icons are simplified images that graphically explain the meaning of an object on the screen.\n *\n * @part base - The component's internal wrapper that holds the icon SVG content.\n * @part svg - The `<svg>` tag element inside the component.\n */\n@Component({\n assetsDirs: ['svg'],\n tag: 'bq-icon',\n styleUrl: './scss/bq-icon.scss',\n shadow: true,\n})\nexport class BqIcon {\n // Own Properties\n // ====================\n\n // Reference to host HTML element\n // ===================================\n\n // State() variables\n // Inlined decorator, alphabetical order\n // =======================================\n\n @State() private _svgContent: string;\n\n // Public Property API\n // ========================\n\n /** Label for the icon, used for accessibility */\n @Prop({ reflect: true }) label?: string;\n\n /** Set the stroke color of the SVG. The value should be a valid value of the palette color */\n @Prop({ reflect: true }) color?: string;\n\n /** Icon name to load. Please check all available icons [here](https://phosphoricons.com/) */\n @Prop({ reflect: true }) name?: string;\n\n /** Set the size of the SVG */\n @Prop({ reflect: true }) size?: string | number = 24;\n\n /** Set the source of the SVG. If the source is set, the name property will be ignored */\n @Prop({ reflect: true }) src?: string;\n\n /** @deprecated It set the icon weight/style */\n @Prop({ reflect: true }) weight?: TIconWeight = undefined;\n\n // Prop lifecycle events\n // =======================\n\n @Watch('color')\n @Watch('name')\n @Watch('size')\n handlePropsChange() {\n this.loadIcon(this.name);\n }\n\n /**\n * !TO BE REMOVED: Delete this `@Watch()` once the deprecated `weight` property is removed\n * We need to maintain retro-compatibility until the next major release\n */\n @Watch('weight')\n handleWeightChange() {\n if (this.name.includes(this.weight)) return;\n\n console.warn(\n `❗️ [bq-icon]: the 'weight' property is deprecated, you should add the weight to the icon name.\\n\n For example, '<bq-icon name=\"bell-fill\"></bq-icon>' instead of '<bq-icon name=\"bell\" weight=\"fill\"></bq-icon>'`,\n );\n // Check if the icon is weighted. An icon is considered weighted if its weight is not 'regular' and ENV_SVG_PATH is not set.\n // Eg: if the weight is 'bold' and ENV_SVG_PATH is not set, isWeightedIcon will be true.\n const REGULAR = 'regular';\n const isWeightedIcon = !isNil(this.weight) && this.weight !== REGULAR;\n // If the icon is weighted, append the weight to the icon name. Otherwise, append nothing.\n // Eg: if isWeightedIcon is true and the weight is 'bold', weightSuffix will be '-bold'.\n const weightSuffix = isWeightedIcon ? `-${this.weight}` : '';\n // Construct the icon name by appending the weight suffix (if any) and the file extension.\n // Eg: if the name is 'my-icon' and weightSuffix is '-bold', iconName will be 'my-icon-bold.svg'.\n const iconName = `${this.name}${weightSuffix}`;\n this.loadIcon(iconName);\n }\n\n // Events section\n // Requires JSDocs for public API documentation\n // ==============================================\n\n /** Callback handler to be called when the SVG has loaded */\n @Event() svgLoaded: EventEmitter;\n\n // Component lifecycle events\n // Ordered by their natural call order\n // =====================================\n\n connectedCallback() {\n this.setupIconComponent();\n }\n\n componentWillLoad() {\n this.setupIconComponent();\n }\n\n // Listeners\n // ==============\n\n // Public methods API\n // These methods are exposed on the host element.\n // Always use two lines.\n // Public Methods must be async.\n // Requires JSDocs for public API documentation.\n // ===============================================\n\n // Local methods\n // Internal business logic.\n // These methods cannot be called from the host element.\n // =======================================================\n\n private setupIconComponent = () => {\n this.loadIcon(this.name);\n // !TO BE REMOVED: Delete this once the deprecated `weight` property is removed\n if (!isNil(this.weight)) this.handleWeightChange();\n };\n\n private getIconSource = (name: string) => {\n if (!this.name && !this.src) return;\n // Return the src if it is set\n if (this.src) return this.src;\n\n const SVG_EXTENSION = '.svg';\n const iconFileName = `${name}${SVG_EXTENSION}`;\n\n return getBasePath(iconFileName);\n };\n\n private loadIcon = (name: string) => {\n const url = this.getIconSource(name);\n getSvgContent(url, true).then(() => {\n this._svgContent = iconContent.get(url);\n this.svgLoaded.emit(this._svgContent);\n });\n };\n\n // render() function\n // Always the last one in the class.\n // ===================================\n\n render() {\n const styles = {\n ...(this.color && { '--bq-icon--color': getColorCSSVariable(this.color) }),\n ...(this.size && { '--bq-icon--size': `${this.size}px` }),\n };\n\n return (\n <Host style={styles}>\n <div\n aria-label={this.label ?? `${this.name} icon`}\n class=\"flex text-[color:--bq-icon--color] bs-[--bq-icon--size] is-[--bq-icon--size]\"\n innerHTML={this._svgContent}\n part=\"base\"\n role=\"img\"\n />\n </Host>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAO,MAAMA,IAAc,EAAC,SAAS,UAAU;;AAGxC,MAAMC,IAAc,EAAC,UAAU,UAAU;;AAGzC,MAAMC,IAAoB,EAAC,WAAW,aAAa,QAAQ;;AAG3D,MAAMC,IAAiB,EAAC,YAAY,SAAS;;ACTpD,MAAMC,IAAc;;AACpB,MAAAC,IAAeD;;MC8BFE,IAAQ;;;;;;;;;;;;qBAiBU;qBACA;sBAM4B;iBAGf;kBAGa;oBAGpC;;;0BAYoD;mBAGrD;gBAG2B;;gBASA;mBAGM;;;;EA3D3CC;EACAC;;;;EAMWC;;;EA6DnB,eAAAC;IACEC,EAAkBT,GAAmB,WAAWU,KAAKC,IAAI;IACzDF,EAAkBV,GAAa,UAAUW,KAAKC,IAAI;IAClDF,EAAkBX,GAAa,UAAUY,KAAKC,IAAI;IAClDF,EAAkBR,GAAgB,YAAYS,KAAKC,IAAI;;;;;;EAQhDC;;EAGAC;;EAGAC;;;;EAMT,iBAAAC;IACEL,KAAKF;;;;;;;;;;;;;;EAkBCQ,WAAa;IACnBN,KAAKE,OAAOK,KAAKP,KAAKC;AAAG;EAGnBO,YAAc;IACpBR,KAAKG,QAAQI,KAAKP,KAAKC;AAAG;EAGpBQ,YAAeC;IACrB,OAAMC,UAAEA,GAAQC,SAAEA,GAAOR,SAAEA,GAAOH,IAAEA,KAAOD;IAE3C,IAAIW,KAAYC,GAAS;MACvBZ,KAAKa,aAAaH;MAClB;;IAGF,MAAMI,IAAeV,EAAQG,KAAKN;IAClC,IAAIa,EAAaC,kBAAkB;MACjCf,KAAKa,aAAaH;MAClB;;IAGFV,KAAKgB;AAAkB;EAGjB,gBAAAA;IACN,OAAMC,MACJA,GACApB,YAAWqB,MAAEA,MACXlB;IACJ,IAAImB,EAAMD,IAAO;IAEjB,MAAME,IAAapB,KAAKqB,YAAYH,GAAMD;IAC1C,IAAIE,EAAMC,IAAa;IAEvBA;;EAGMC,YAAeH,MAAqB;IAC1CI,QAAQ,MAAMtB,KAAKuB,qBAAqBL;IACxCM,OAAO,MAAMN,EAAKM;;EAGZD,qBAAwBL;IAC9B,WAAWO,WAAW,eAAeN,EAAMD,IAAO;IAElD,MAAMQ,IAAMC,SAASC,cAAc;IACnCF,EAAIT,OAAOjB,KAAKiB;IAChBS,EAAIG,SAAS;IACbX,EAAKY,OAAOJ;IAEZA,EAAIK;IACJL,EAAIM;AAAQ;EAGNC,iBAAmB;IACzBjC,KAAKkC,YAAYC,EAAenC,KAAKL,YAAY;IACjDK,KAAKoC,YAAYD,EAAenC,KAAKJ,YAAY;AAAS;EAGpD,YAAAiB,CAAaH;IACnBA,EAAG2B;IACH3B,EAAG4B;;;;;EAOL,MAAAC;IACE,MAAMC,IAASC,EAAUzC,KAAK0C;IAC9B,MAAMC,IAAUH,IAAS,MAAM;IAC/B,MAAMI,IAAQ;SACR5C,KAAK6C,UAAU;QAAE,8BAA8B,oBAAoB7C,KAAK6C;;;IAG9E,OACEC,EAACC,GAAI;MAAAC,KAAA;MAACJ,OAAOA;OACXE,EAACH,GAAO;MAAAK,KAAA;MACNC,OAAO;QACL,aAAa;QACb,CAAC,cAAcjD,KAAKkD,eAAe;QACnC,CAAC,WAAWlD,KAAKmD,mBAAmB;QACpC,CAAC,GAAGnD,KAAKoD,YAAY;QACrB,CAAC,GAAGpD,KAAKqD,SAAS;QAClBC,OAAOtD,KAAKsD;QACZ3C,UAAUX,KAAKW;QACf,cAAcX,KAAKkC;QACnB,cAAclC,KAAKoC;QACnBxB,SAASZ,KAAKY;;MACf,iBACcZ,KAAKW,WAAW,SAAS;MACxCA,UAAUX,KAAKW;MACf4C,UAAUf,IAASxC,KAAKuD,WAAWC;MACnCd,MAAMF,IAASxC,KAAK0C,OAAOc;MAC3BC,MAAK;MACLC,KAAKlB,KAAUxC,KAAK2D,SAAS,wBAAwBH;MACrDG,QAAQnB,IAASxC,KAAK2D,SAASH;MAC/BvC,MAAMjB,KAAKiB;MACX2C,UAAU5D,KAAKW,YAAY,IAAI;MAC/BkD,QAAQ7D,KAAKM;MACbwD,SAAS9D,KAAKQ;MACduD,SAAS/D,KAAKS;OAEdqC,EAAA;MAAAE,KAAA;MAAMC,OAAM;MAAoBe,KAAMC,KAAcjE,KAAKL,aAAasE;MAAWR,MAAK;OACpFX,EAAA;MAAAE,KAAA;MAAMkB,MAAK;MAASC,cAAcnE,KAAKiC;SAEzCa,EAAA;MAAAE,KAAA;MAAMC,OAAM;MAAmBQ,MAAK;OAClCX,EAAA;MAAAE,KAAA;SAEFF,EAAA;MAAAE,KAAA;MAAMC,OAAM;MAAoBe,KAAMC,KAAcjE,KAAKJ,aAAaqE;MAAWR,MAAK;OACpFX,EAAA;MAAAE,KAAA;MAAMkB,MAAK;MAASC,cAAcnE,KAAKiC;SAExCjC,KAAKY,WACJkC,EAAA;MAAAE,KAAA;MACEC,OAAM;MACNiB,MAAK;MACLE,MAAK;MACLC,OAAO,GAAGrE,KAAKkD;;;;;;;;;;;;;;;;;;;;;gFClQ7B,OAAMoB,IAAW,IAAIC;;AACd,MAAMC,IAAc,IAAID;;;;;;;GAQ/B,OAAME,WAAWC,OAAOC,GAAaC;EACnC,IAAIzD,EAAMwD,aAAeE,UAAU,sBAAsBpD,WAAW,aAAa;IAC/E;;EAGF,IAAI6C,EAASQ,IAAIH,IAAM,OAAOL,EAASS,IAAIJ;EAE3C;IACE,MAAMK,UAAiBH,MAAMF;IAE7B,KAAKK,EAASC,IAAI;MAChBT,EAAYU,IAAIP,GAAK;MACrB;;IAGF,IAAIQ,UAAmBH,EAASI;IAEhC,IAAIR,MAAa,OAAO;MACtBO,IAAaE,gBAAgBF;;IAG/BX,EAAYU,IAAIP,GAAKQ;IACrB,OAAOA;IACP,OAAOG;IACPC,QAAQD,MAAM,qCAAqCX,MAAQW;IAC3Dd,EAAYU,IAAIP,GAAK;;;;;;;;;GAUlB,OAAMa,gBAAgBd,OAAOC,GAAaC;EAC/C,IAAIzD,EAAMwD,IAAM;EAEhB,IAAIc,IAAMnB,EAASS,IAAIJ;EAEvB,IAAIxD,EAAMsE,IAAM;IACdA,IAAMhB,SAASE,GAAKC;IACpBN,EAASY,IAAIP,GAAKc;;EAEpB,OAAOA;AAAG;;;;;;GAQL,OAAMJ,kBAAmBF;EAC9B,WAAW1D,WAAW,eAAeN,EAAMgE,IAAa,OAAO;EAE/D,MAAMO,IAAS;EACf,MAAMC,IAAe;EACrB,MAAMC,IAAMjE,SAASC,cAAc;EACnCgE,EAAIC,YAAYV;EAEhB,MAAMW,IAASF,EAAIG,cAAcL;EAEjC,IAAII,GAAQ;IACV,MAAME,IAAkBF,EAAOG,aAAa,YAAY;IACxDH,EAAOI,aAAa,SAAS,GAAGF,KAAmBL,IAAeQ;IAClEL,EAAOI,aAAa,QAAQR;IAC5BI,EAAOM,gBAAgB;IACvBN,EAAOM,gBAAgB;IAEvB,IAAIC,QAAQP,IAAS;MACnB,OAAOF,EAAIC;;;EAIf,OAAO;AAAE;;;;;;GAQJ,OAAMQ,UAAWC;EACtB,KAAKA,GAAK,OAAO;EACjB,IAAIA,EAAIC,aAAaC,KAAKC,cAAc,OAAO;EAC/C,IAAIH,EAAII,SAASC,kBAAkB,UAAU,OAAO;EAEpD,KAAK,MAAMC,KAAaC,MAAMC,KAAKR,EAAIS,aAAa;IAClD,IAAIC,EAASJ,EAAUK,UAAUL,EAAUK,MAAMN,cAAcO,WAAW,OAAO;MAC/E,OAAO;;;EAIX,KAAK,MAAMC,KAAaN,MAAMC,KAAKR,EAAIc,WAA4B;IACjE,KAAKf,QAAQc,IAAY,OAAO;;EAGlC,OAAO;AAAI;;AChHb,MAAME,IAAY;;AAClB,MAAAC,IAAeD;;MCiBFE,IAAM;;;;;;;;gBA0BiC;;kBAMF/D;;;;EAQhD,iBAAAgE;IACExH,KAAKyH,SAASzH,KAAKkE;;;;;SAQrB,kBAAAwD;IACE,IAAI1H,KAAKkE,KAAKyD,SAAS3H,KAAK4H,SAAS;IAErCrC,QAAQsC,KACN;;;QAKF,MAAMC,IAAU;IAChB,MAAMC,KAAkB5G,EAAMnB,KAAK4H,WAAW5H,KAAK4H,WAAWE;;;QAG9D,MAAME,IAAeD,IAAiB,IAAI/H,KAAK4H,WAAW;;;QAG1D,MAAMK,IAAW,GAAGjI,KAAKkE,OAAO8D;IAChChI,KAAKyH,SAASQ;;;;;;EAQPC;;;;EAMT,iBAAAC;IACEnI,KAAKoI;;EAGP,iBAAA/H;IACEL,KAAKoI;;;;;;;;;;;;;;EAkBCA,mBAAqB;IAC3BpI,KAAKyH,SAASzH,KAAKkE;;QAEnB,KAAK/C,EAAMnB,KAAK4H,SAAS5H,KAAK0H;AAAoB;EAG5CW,cAAiBnE;IACvB,KAAKlE,KAAKkE,SAASlE,KAAKsI,KAAK;;QAE7B,IAAItI,KAAKsI,KAAK,OAAOtI,KAAKsI;IAE1B,MAAMC,IAAgB;IACtB,MAAMC,IAAe,GAAGtE,IAAOqE;IAE/B,OAAOE,EAAYD;AAAa;EAG1Bf,SAAYvD;IAClB,MAAMS,IAAM3E,KAAKqI,cAAcnE;IAC/BsB,cAAcb,GAAK,MAAM+D,MAAK;MAC5B1I,KAAK2I,cAAcnE,EAAYO,IAAIJ;MACnC3E,KAAKkI,UAAU3H,KAAKP,KAAK2I;AAAY;AACrC;;;;EAOJ,MAAApG;IACE,MAAMqG,IAAS;SACT5I,KAAK6I,SAAS;QAAE,oBAAoBC,EAAoB9I,KAAK6I;;SAC7D7I,KAAKqD,QAAQ;QAAE,mBAAmB,GAAGrD,KAAKqD;;;IAGhD,OACEP,EAACC,GAAI;MAAAC,KAAA;MAACJ,OAAOgG;OACX9F,EAAA;MAAAE,KAAA;MAAA,cACchD,KAAK+I,SAAS,GAAG/I,KAAKkE;MAClCjB,OAAM;MACN4C,WAAW7F,KAAK2I;MAChBlF,MAAK;MACLW,MAAK","ignoreList":[]}